From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CB8E8C433EF for ; Mon, 18 Apr 2022 19:37:30 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5FE3F839A7; Mon, 18 Apr 2022 21:37:28 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="1mNitSkc"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 51E7983ABE; Mon, 18 Apr 2022 21:37:27 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2061f.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::61f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 5B8BC838F0 for ; Mon, 18 Apr 2022 21:37:24 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nf2b5OchAhM3qko40PikAY/YzQ+JUWruPjzQrxYBajR9Jt+lmJjS4tgAoAYbS68kxGcJvuwqrY/3USRMqHNqy9faIQfBNep8d3FmYbZLi1qnj+Y/0HgDHMPMpWYDZS0do3y9AsHugak8CDF3LoUjUvYZIA3sv6svr6yHb38JMzaOaohtMeX8EZiMST52Slx5myDY5qJE/EdYdGPSMGgBmRJ3MhtmxNOmx1vfx1GkZLuwa8HWmt0U3HkJsyLKRuXuKdyoHjrrvE418Mi+CB6Ri3w88WzdlkCPNfQKd1pbsa0NKsnzB/ZXsLlQWTL9S3GIPwhTFU6Jkb8zi2cmKLkROg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YCfyESvEIKS3VVLwF4GxIrj6EAu+ONYH5ZqwLeaIsnM=; b=gYXkN7nxSKSE+a1Yq9aYaH9JeFJ/Ng2r+dE/MlbmUUsqfMl+KX/yK5uzxgZJCxJKwbEBpWBvcjr1AUYOhMEQyUa+DTNeqWx3D+Z/ZJtSckduzmCak4tcSnsXtl7XG90syO7j8WJOBy6yaNAw71UY5xFzh75ZIHZf7qgjAgTB7FTJzQb3stMQPMvGUH8Ow9PeEJeu2SqzctCUo4ya1CRB8dEWV9/JKSEndZFQ3xNcttfxoizSizLGPhmZRtbZbOjnrbInYaL45nVCvg7QMlIMN5p+JifT8SUQCZNpsERoSd9XjonEDdObFOYo5mujANz74H8nI+PFBijpR5gtHZovBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YCfyESvEIKS3VVLwF4GxIrj6EAu+ONYH5ZqwLeaIsnM=; b=1mNitSkcgLnPl00eKQe+/Q6XEDsk9GrBQQOCd4GAYuG81emnu2GwOnFwcMVaJCeTFeQnymEfLAfrq4QcAmIUfjNO8BO9ZrqDkPw7+X1Efsa952dwwNLukKbDs1xfi+h9MdnsvMfSBOlnxK1BAvZ0jkzm+9bYnvQK7Rv2eCZM4Qeexpl2ObUhL10m7RVmo7b7gC5+mS1ATLOOY/UAy7tMuWTMn6Q34HevG1UEgdPXgCV2WZdYJwAxbRu/A1ONQExtlID8srEn3GOWjR1AICFYWTMBPvaCYG7Cf/8AbK/8xwcj6P+n5OuP0tRFWG2BRK2tIvg8hqG1UuvSpwnZPH+Izw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by DB7PR03MB4330.eurprd03.prod.outlook.com (2603:10a6:10:15::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Mon, 18 Apr 2022 19:37:22 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::fd2d:a04b:de07:33f8]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::fd2d:a04b:de07:33f8%6]) with mapi id 15.20.5164.025; Mon, 18 Apr 2022 19:37:21 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Simon Glass Cc: Mario Six , Ramon Fried , Heinrich Schuchardt , Tom Rini , Joe Hershberger , Sean Anderson , =?UTF-8?q?Marek=20Beh=C3=BAn?= Subject: [PATCH v3 00/13] Add support for NVMEM API Date: Mon, 18 Apr 2022 15:36:46 -0400 Message-Id: <20220418193659.3677824-1-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MN2PR10CA0022.namprd10.prod.outlook.com (2603:10b6:208:120::35) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7ca746e3-689a-451c-865c-08da2172db68 X-MS-TrafficTypeDiagnostic: DB7PR03MB4330:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rTg6SkpiMyzmb/4grhoEDDhWvKi42MOm9eC1OqKueIWVR2dbRdFGDwFzmFSRCSIXzhAVTnS7z050+7cHP31+XUs0dRvVbqnxkWI0oGi9mnlzbf4MSXZzLqReXvZyID5pUYeM7JahLLZR6g0P6/eln4JSMPXlfs85GrSmJjN5Gu+DyhbbkbzDK1OyrsUyiW4FrD/8MvcWvJAawClpwJCS2f9zRFqj/WyjrDPgjYuiQVkMj+capj2hXBY5EWbTcSto73bE19wvka0MuaaK/aooBXyygSa9zkCSacX0iazmr5wYXHJzSz0taAY/OU1dVuhSNjlo22+VU9bzXqhy2d1JzHxlM/uX2+QxTMWy9GBd01AwzpYlAnptCvY0zIQlbngrhcfIGx4BQwIqMzfGi0S1jvyGlpqkf/Xx+iker8YFoNPoA0C40+joRJi2Dwf8Vlql3zeP50vnTAnkDqMMBQGUkngr9/6MnosBkcHYnVfAZ9mfdqkuZ1vp/BukvJTdT+ymyLWikutlNrvqEetjszryuaoK08G6UgX7KW6KfIU5PjiK0Wf8fcJQdF2TMlr+IC4ypMkec5GNN11KOeN9v3f05nod84DxMhI0KBa5hSwNMFublwucgpsGtQVlBbgvKVtqimXfpOIPDcSyiEJkSnPZtHAzLbDSpkIFMzm6ge0zvv94duAJGWNawsJq56HYf+j8v3ue9iXV5NXp5lKyPmcqeQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(6486002)(6916009)(316002)(4326008)(66946007)(66476007)(8676002)(36756003)(66556008)(186003)(1076003)(8936002)(86362001)(5660300002)(38100700002)(54906003)(38350700002)(2906002)(83380400001)(44832011)(2616005)(26005)(6512007)(6506007)(6666004)(52116002)(508600001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aWloeVBMMnlVRVhhUGc4dC9USkpRZGYzdEFrTkk3YVhod2c0UnY2NnNNTG1J?= =?utf-8?B?Rnk3T1hNWmFlQ3FNWTQxcXExNFl1MHB1ajcwSmNYSXJhVlpVMDZhemlPbDAz?= =?utf-8?B?dVltTHZybTF4aE5scWZmS3VEc3lIWnhGeEFRSElTYWwrN2JjMCtSNzNkNDkx?= =?utf-8?B?UWV5aVF5R09LeXY4RktMVDg5ZjdiN0FJeDN2UElTbkwvV0lMaWRSUGlNbFg1?= =?utf-8?B?RFVyangvdmd5QTB6ZUJRbDN6dWlRSlRMKzVxWStZcGhHd1BSN2VDYWgxUTBx?= =?utf-8?B?MFZaam5LUkRWVWpWVkh0TXU1TFY5L3Z0eHNiWWpCa0hMeEw0RjFtWVJxYjBN?= =?utf-8?B?U3pobDJOOGZXMGZ0MTh1VnRPZzFkamZjRmVWVmpPU2JwTzZyNVh6MTRCMU5L?= =?utf-8?B?aTVoNEVRMStsaWZoMlYrd3RlZjZLU3JaYmFFTHZ2WkRUNXFySXVqZkpYaTBQ?= =?utf-8?B?a1cyYk56RDBaUVg2VldOYkM4V1poU1RmeHhBREtEdTNac0JHbkxIZXZ5NVJ5?= =?utf-8?B?ZnBVaVY2NXlsL1drZzRkWlhRNnNjdDNWNVplaHhVN2srNnI5Z1kveERFOTNa?= =?utf-8?B?MVVZNnlZYVVVUHlwZ2xkNThUUnhuRE01RmR0WXJGdUdmdFB4WTRYdlJMbG9G?= =?utf-8?B?c1B3eXdRKzByVkpDblJ4QmFRK1RyOHMxeDZhRm5yS05ob1ZrTmhkajRsR1ll?= =?utf-8?B?bEtSeVdHblUwSEMvdGhPUjJ6cjY0emRUZTliNkJoQTUzVGlsNGk0cmtjVzRh?= =?utf-8?B?blRjL21jUWFjVG9Hc1ZDdjh5SEM5T3BuaWdJU1NUWWJPTjFSYitUYU1ZRXZC?= =?utf-8?B?M2FwU3VSeFA0akhYL1B0VDdOS1lnUi9uVXJxMXlIMXJBQTQ4NU9qK3d6a3hT?= =?utf-8?B?NUhlS0VnQkkvMXFBclZiV0NoenBXVzFvQmVYbkozS1FuLzlSNSt5VEpMQlFj?= =?utf-8?B?M21pV0pKYUtrWXM0YnN6TEpuVTVJRHdvdC90MmxtOFZUQnYvazczTTNTRkIy?= =?utf-8?B?VHVseVZzc3VqRnRpRU80c0FzQVdGcnZuTUxUR05xUHAzaXlxbzRnWngxSlh2?= =?utf-8?B?L05DbnNZb2lkNG5ndjVrcys5b211NnIvS3Y4WmdFRktMQ1lTMjh5Z2ZQc2pV?= =?utf-8?B?c1B6VklvL3JMVXFFc1E3ZHE1NFgvcXVQQXE2aUxZeXpFT2R3dzRwNmZPc0Q4?= =?utf-8?B?aXJpcW9aUmprQ3kzZFM4aGtDeWxDVUJoWkJHdWxQOHJUczZRSkdCaXJGRE5q?= =?utf-8?B?OWorekhpYU10eGtPTnBtNzBXRXhoNUt5VndGeEZIOHdHbDFjUDlwSWpRaTRM?= =?utf-8?B?RE1iMDJLMFJTMFcwVzhjdWpob2I3dDZkWUhNZjhIS0RlM1RTQ0VkRE9IcXpX?= =?utf-8?B?ei9vejlqbThYYTBtelo0NEg2aDBBSi8vd0JWc0k4VHgrblZ4WG85amx2aHhv?= =?utf-8?B?UTV5ZC9PaWo1akRxZk9uU3BObGdPSTBuY2U0OTlDdmsxcmhvV0V5MjBydEh3?= =?utf-8?B?dWw3SE1hemNzUk41bnlQUzhkbS9PVzAwT05iQlRDWHV0cmRmc1ByMk9EMXV2?= =?utf-8?B?VW50NXlHaDd4YnBMV3V5VW5VcU9kRlZDVTI0Zitqd0NMTkQvQWlIR01zdG5P?= =?utf-8?B?enVPVkpPTmg0NEFZWVNUZzZxdElJR2NCZHcraTdBVlY3OExyL1BHRmtlY01D?= =?utf-8?B?QjI5L1pXUDFFU05LRElvZ2NZNFY0L1oyZ20rcVgyR0NQMnIvRFkxUWFBOG03?= =?utf-8?B?eVBaT0FHZmgxdnN0MStTU3dQOW9tY1hjaWhBWEJUaGludGZEUmIyUzdMTzN2?= =?utf-8?B?S3JGaFJUNWhOSzFpZVdTN2x1REZiQnI4U1VNVGRUdllreTZmbkRheHd2TjJu?= =?utf-8?B?aUNhOXZmODB6K0dPQmo2T1llQmU2MFhQWGxHbHFla0YyYzlTaUZuRE9WY1Q2?= =?utf-8?B?NHZ3aDB2SXdJRWhZTXc1NWxzckhwTVpxem01dEh4ekVRdUVBeVlRemUrSkFD?= =?utf-8?B?endiRGRUZWNYb0thdDhoak5IV0dnMXNEMkVKaDRYeERBY3dQY3Fwd1RzVnox?= =?utf-8?B?ZXp1S2lBY3gwbHpqNlFYTFAvWkcwb3Y0d2E5dVBpQXR4Y0Q4d2djbU9SQU9Q?= =?utf-8?B?TlFkYU9wYUNmN1lvK3pGOWhrRi90K1U4Y3hOTEhtaHhoSlA1eTdvRFdyanVP?= =?utf-8?B?amNlUURBMHJDQTFEZ255ZENwVXJHMG5rNmVYMEtaL0NERzJ0VFM0QlRlVXhJ?= =?utf-8?B?WmZCY3JUeUxWUi82WnJ2dXBLYlZHU2ROVTZpVy9CVmVRVG1Zc2JScmFOQ0ds?= =?utf-8?B?L0xLTmpLZHB4cU5YNDVGRDk4bmIrMCs1YU52SXhGV1hxanljNHlnOVZRR1hO?= =?utf-8?Q?9T5R9qylgOUp/+ek=3D?= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ca746e3-689a-451c-865c-08da2172db68 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2022 19:37:21.9426 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qejcfYUACr+JxD53mM9QviBU6RBsDYtXF4cdMlDH2bcbN0mZmHixfg/ZgFl+lqtaGMwN4slxfnEzHEPUFvSKTQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR03MB4330 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean This adds support for the nvmem-cells properties cropping up in manyb device trees. This is an easy way to load configuration, version information, or calibration data from a non-volatile memory source. For more information, refer to patch 6 ("misc: Add support for nvmem cells"). For the moment I have only added some integration tests using the ethernet addresses. This hits the main code paths (looking up nvmem cells) but doesn't test writing. I can add a few stand-alone tests if desired. The patches are structured in the following manner: 1-7: These are general cleanups, and may be applied independently of the rest of the series. 8-9: Add NVMEM support 10-13: Support reading ethernet addresses using the NVMEM API and add some tests. Changes in v3: - Add aliases for ethernet devices - Add mac address for eth8 to environment - Move patch adding test earlier in the series - Add test for eth8 as well Changes in v2: - Call the appropriate API functions directly from nvmem_cell_(read|write). This means we can drop the nvmem_interface machinery. Sean Anderson (13): sandbox: net: Add aliases for ethernet devices sandbox: net: Add mac address for eth8 to environment test: eth: Add test for ethernet addresses sandbox: net: Remove fake-host-hwaddr sandbox: Remove eth2addr from environment sandbox: Move some mac addresses to device tree misc: i2c_eeprom: Make i2c_eeprom_write use a const buf misc: Add support for nvmem cells sandbox: Enable NVMEM net: Add support for reading mac addresses from nvmem cells test: Load mac address with i2c eeprom test: Load mac address using RTC test: Load mac address using misc device MAINTAINERS | 7 ++ arch/sandbox/dts/sandbox.dts | 1 - arch/sandbox/dts/sandbox64.dts | 1 - arch/sandbox/dts/test.dts | 34 +++++-- board/sandbox/sandbox.env | 4 - configs/sandbox64_defconfig | 1 + configs/sandbox_defconfig | 1 + configs/sandbox_flattree_defconfig | 1 + configs/sandbox_noinst_defconfig | 1 + configs/sandbox_spl_defconfig | 1 + doc/api/index.rst | 1 + doc/api/nvmem.rst | 7 ++ drivers/misc/Kconfig | 16 +++ drivers/misc/Makefile | 1 + drivers/misc/i2c_eeprom.c | 3 +- drivers/misc/i2c_eeprom_emul.c | 4 + drivers/misc/misc_sandbox.c | 3 + drivers/misc/nvmem.c | 142 +++++++++++++++++++++++++++ drivers/net/sandbox.c | 10 +- drivers/rtc/i2c_rtc_emul.c | 10 ++ include/i2c_eeprom.h | 3 +- include/nvmem.h | 151 +++++++++++++++++++++++++++++ net/eth-uclass.c | 13 ++- test/dm/eth.c | 29 ++++++ 24 files changed, 419 insertions(+), 26 deletions(-) create mode 100644 doc/api/nvmem.rst create mode 100644 drivers/misc/nvmem.c create mode 100644 include/nvmem.h -- 2.35.1.1320.gc452695387.dirty