Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp247663pxb; Fri, 16 Apr 2021 04:50:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx9Fsms5XIutETyt9xTvqqPSFR4R0p3leBXjiKVVlgKjDrSsGRTmV8etVhkofLFgdIWaToy X-Received: by 2002:a17:902:b602:b029:e6:cabb:10b9 with SMTP id b2-20020a170902b602b02900e6cabb10b9mr9040037pls.47.1618573819488; Fri, 16 Apr 2021 04:50:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618573819; cv=none; d=google.com; s=arc-20160816; b=INC03TQMy0AslPbp6EHdxrJB08ED0EeXHchWd1Tj0Oz2CT3oOaNZYZHOjTGyFHkXmj NKDAlDDYJd2IW5thbEur7RSLY3Z9/2e6eHbJ7loNnHNXFEjPAAXK6eQ/e0emszXGN52f t1TqHCHaVn3FbJTWNOre5Ff8LecHdzJUbTYLNSNuWhhfInR+8UGsPE4Dw0SyElZSRuLc YaVYCuLrH3PwJJKReRbG1X+QM63yZeDt8/u8HunGieLh5vl25xs1MDStLWfl6VzTDzwh lc5LcdTlnomoErNoUt5dT3E32OYArsppVxDki/048CPNsOIeHSjdlWGQTcszB78LlWHC 4MiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=oB/Ab68gOO29EsC3+FTgow2Hyng5ZQUfAUylQq2Zats=; b=a/xHvPzzYYmcO4S3R/q09cmqvBBb231jKw3Gj61OjLXkxvRPCKkGnFqRhWfs0rymVV wqIT7FflUAAH4wru7QMYpivFRUWcMsHqqB4VYky7QeIzaRkAo4mXMDdHEp+udqFMFqhY bcq54DtTO2uDJE+aIgnVc1PtHdNnAzbORwh6V1MP2BVX1FxLFncUcPSLuMUe6ca9btiO +ASIHf/HgbDRXw2XXcWF+/Ld/6jOxi2srtm/ARnEiVtiWqugpyQhHL86Co42T09zVdEo gvYN8WT2p+K/Kbrn6QOWshBBfU5w7kAUN9HsR/0gL15Y2Um51EtRc6H18zahp5BKChBF INew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@walle.cc header.s=mail2016061301 header.b=BmPdDcxQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e24si6673176pjh.162.2021.04.16.04.50.05; Fri, 16 Apr 2021 04:50:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@walle.cc header.s=mail2016061301 header.b=BmPdDcxQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235449AbhDPLuA (ORCPT + 99 others); Fri, 16 Apr 2021 07:50:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35686 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229706AbhDPLuA (ORCPT ); Fri, 16 Apr 2021 07:50:00 -0400 Received: from ssl.serverraum.org (ssl.serverraum.org [IPv6:2a01:4f8:151:8464::1:2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DEE27C061574; Fri, 16 Apr 2021 04:49:35 -0700 (PDT) Received: from mwalle01.fritz.box (unknown [IPv6:2a02:810c:c200:2e91:fa59:71ff:fe9b:b851]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ssl.serverraum.org (Postfix) with ESMTPSA id 388732224A; Fri, 16 Apr 2021 13:49:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walle.cc; s=mail2016061301; t=1618573773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=oB/Ab68gOO29EsC3+FTgow2Hyng5ZQUfAUylQq2Zats=; b=BmPdDcxQB1Eapv8iuzLFQUGQJMmkEWLN+iC1WMgLX9XgvYdC/LdpG1VQHmIoaQCbC19VmY NWGIbrbdzKftuXcqOst+rDVo+Mp3du3fr/lvnI1M54iPJFGVMbFvugME+g8iNlFrRHp6uG JPT8OMRC8O5Ao/yeO+TrCDZN0X5cwjs= From: Michael Walle To: linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Rob Herring , Srinivas Kandagatla , Michael Walle Subject: [PATCH 0/5] mtd: core: OTP nvmem provider support Date: Fri, 16 Apr 2021 13:49:23 +0200 Message-Id: <20210416114928.27758-1-michael@walle.cc> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam: Yes Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The goal is to fetch a (base) MAC address from the OTP region of a SPI NOR flash. This is the first part, where I try to add the nvmem provider support to the MTD core. I'm not sure about the device tree bindings. Consider the following two variants: (1) flash@0 { .. otp { compatible = "mtd-user-otp"; #address-cells = <1>; #size-cells = <1>; serial-number@0 { reg = <0x0 0x8>; }; }; }; (2) flash@0 { .. otp { compatible = "mtd-user-otp"; #address-cells = <1>; #size-cells = <1>; some-useful-name { compatible = "nvmem-cells"; serial-number@0 { reg = <0x0 0x8>; }; }; }; }; Both bindings use a subnode "opt[-N]". We cannot have the nvmem cells as children to the flash node because of the legacy partition binding. (1) seems to be the form which is used almost everywhere in the kernel. That is, the nvmem cells are just children of the parent node. (2) seem to be more natural, because there might also be other properties inside the otp subnode and might be more future-proof. At the moment this patch implements (1). Michael Walle (5): nvmem: core: allow specifying of_node dt-bindings: mtd: add YAML schema for the generic MTD bindings dt-bindings: mtd: add OTP bindings dt-bindings: mtd: spi-nor: add otp property mtd: core: add OTP nvmem provider support .../devicetree/bindings/mtd/common.txt | 16 +- .../bindings/mtd/jedec,spi-nor.yaml | 6 + .../devicetree/bindings/mtd/mtd.yaml | 89 +++++++++++ drivers/mtd/mtdcore.c | 149 ++++++++++++++++++ drivers/nvmem/core.c | 4 +- include/linux/mtd/mtd.h | 2 + include/linux/nvmem-provider.h | 2 + 7 files changed, 252 insertions(+), 16 deletions(-) create mode 100644 Documentation/devicetree/bindings/mtd/mtd.yaml -- 2.20.1