[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210322181949.2805-4-michael@walle.cc>
Date: Mon, 22 Mar 2021 19:19:48 +0100
From: Michael Walle <michael@...le.cc>
To: linux-mtd@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Miquel Raynal <miquel.raynal@...tlin.com>,
Richard Weinberger <richard@....at>,
Vignesh Raghavendra <vigneshr@...com>,
Rob Herring <robh+dt@...nel.org>,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
Rafał Miłecki <rafal@...ecki.pl>,
Michael Walle <michael@...le.cc>
Subject: [RFC PATCH 3/4] dt-bindings: mtd: add OTP bindings
Flash devices can have one-time-programmable regions. Add a nvmem
binding so they can be used as a nvmem provider.
Signed-off-by: Michael Walle <michael@...le.cc>
---
.../devicetree/bindings/mtd/mtd.yaml | 71 +++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml b/Documentation/devicetree/bindings/mtd/mtd.yaml
index 321259aab0f6..2b852f91a6a9 100644
--- a/Documentation/devicetree/bindings/mtd/mtd.yaml
+++ b/Documentation/devicetree/bindings/mtd/mtd.yaml
@@ -21,6 +21,25 @@ properties:
based name) in order to ease flash device identification and/or
describe what they are used for.
+patternProperties:
+ "^otp(-[0-9]+)?":
+ type: object
+ $ref: ../nvmem/nvmem.yaml#
+
+ description: |
+ An OTP memory region. Some flashes provide a one-time-programmable
+ memory whose content can either be programmed by a user or is already
+ pre-programmed by the factory. Some flashes might provide both.
+
+ properties:
+ compatible:
+ enum:
+ - mtd-user-otp
+ - mtd-factory-otp
+
+ required:
+ - compatible
+
additionalProperties: true
examples:
@@ -36,4 +55,56 @@ examples:
};
};
+ - |
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ flash@0 {
+ reg = <0>;
+ compatible = "some,flash";
+
+ otp {
+ compatible = "mtd-user-otp";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ serial-number@0 {
+ reg = <0 16>;
+ };
+ };
+ };
+ };
+
+ - |
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ flash@0 {
+ reg = <0>;
+ compatible = "some,flash";
+
+ otp-1 {
+ compatible = "mtd-factory-otp";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ electronic-serial-number@0 {
+ reg = <0 8>;
+ };
+ };
+
+ otp-2 {
+ compatible = "mtd-user-otp";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ mac-address@0 {
+ reg = <0 6>;
+ };
+ };
+ };
+ };
+
...
--
2.20.1
Powered by blists - more mailing lists