2021-04-24 11:09:20

by Michael Walle

[permalink] [raw]
Subject: [PATCH v2 3/5] 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 <[email protected]>
---
Changes since v1:
- drop "mtd-" prefix for the compatible strings

Changes since RFC:
- added missing "$"
- dropped first example
- use real device compatibles

Please note, that this will lead to an error without patch 4/5, which
introduces that property for the jedec,spi-nor. Should I keep it
seperate or should I squash that patch into this one?

.../devicetree/bindings/mtd/mtd.yaml | 50 +++++++++++++++++++
1 file changed, 50 insertions(+)

diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml b/Documentation/devicetree/bindings/mtd/mtd.yaml
index 086b0ecd1604..376b679cfc70 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:
+ - user-otp
+ - factory-otp
+
+ required:
+ - compatible
+
additionalProperties: true

examples:
@@ -36,4 +55,35 @@ examples:
};
};

+ - |
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ flash@0 {
+ reg = <0>;
+ compatible = "jedec,spi-nor";
+
+ otp-1 {
+ compatible = "factory-otp";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ electronic-serial-number@0 {
+ reg = <0 8>;
+ };
+ };
+
+ otp-2 {
+ compatible = "user-otp";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ mac-address@0 {
+ reg = <0 6>;
+ };
+ };
+ };
+ };
+
...
--
2.20.1


2021-05-03 17:18:37

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] dt-bindings: mtd: add OTP bindings

On Sat, 24 Apr 2021 13:06:06 +0200, Michael Walle wrote:
> 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 <[email protected]>
> ---
> Changes since v1:
> - drop "mtd-" prefix for the compatible strings
>
> Changes since RFC:
> - added missing "$"
> - dropped first example
> - use real device compatibles
>
> Please note, that this will lead to an error without patch 4/5, which
> introduces that property for the jedec,spi-nor. Should I keep it
> seperate or should I squash that patch into this one?
>
> .../devicetree/bindings/mtd/mtd.yaml | 50 +++++++++++++++++++
> 1 file changed, 50 insertions(+)
>

Reviewed-by: Rob Herring <[email protected]>

2021-05-10 10:58:08

by Miquel Raynal

[permalink] [raw]
Subject: Re: [PATCH v2 3/5] dt-bindings: mtd: add OTP bindings

On Sat, 2021-04-24 at 11:06:06 UTC, Michael Walle wrote:
> 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 <[email protected]>
> Reviewed-by: Rob Herring <[email protected]>

Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next, thanks.

Miquel