Commit 74ae3663 authored by Michael Walle's avatar Michael Walle Committed by Miquel Raynal
Browse files

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: default avatarMichael Walle <michael@walle.cc>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20210424110608.15748-4-michael@walle.cc
parent e6aed671
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
@@ -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>;
                };
            };
        };
    };

...