xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/mtd.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/mtd.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: MTD (Memory Technology Device)
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Miquel Raynal <miquel.raynal@bootlin.com>
115956d97fSEmmanuel Vadot  - Richard Weinberger <richard@nod.at>
125956d97fSEmmanuel Vadot
135956d97fSEmmanuel Vadotproperties:
145956d97fSEmmanuel Vadot  $nodename:
155956d97fSEmmanuel Vadot    pattern: "^flash(@.*)?$"
165956d97fSEmmanuel Vadot
175956d97fSEmmanuel Vadot  label:
185956d97fSEmmanuel Vadot    description:
195956d97fSEmmanuel Vadot      User-defined MTD device name. Can be used to assign user friendly
205956d97fSEmmanuel Vadot      names to MTD devices (instead of the flash model or flash controller
215956d97fSEmmanuel Vadot      based name) in order to ease flash device identification and/or
225956d97fSEmmanuel Vadot      describe what they are used for.
235956d97fSEmmanuel Vadot
245956d97fSEmmanuel VadotpatternProperties:
255956d97fSEmmanuel Vadot  "^otp(-[0-9]+)?$":
265956d97fSEmmanuel Vadot    type: object
275956d97fSEmmanuel Vadot    $ref: ../nvmem/nvmem.yaml#
285956d97fSEmmanuel Vadot
295956d97fSEmmanuel Vadot    description: |
305956d97fSEmmanuel Vadot      An OTP memory region. Some flashes provide a one-time-programmable
315956d97fSEmmanuel Vadot      memory whose content can either be programmed by a user or is already
325956d97fSEmmanuel Vadot      pre-programmed by the factory. Some flashes might provide both.
335956d97fSEmmanuel Vadot
345956d97fSEmmanuel Vadot    properties:
355956d97fSEmmanuel Vadot      compatible:
365956d97fSEmmanuel Vadot        enum:
375956d97fSEmmanuel Vadot          - user-otp
385956d97fSEmmanuel Vadot          - factory-otp
395956d97fSEmmanuel Vadot
405956d97fSEmmanuel Vadot    required:
415956d97fSEmmanuel Vadot      - compatible
425956d97fSEmmanuel Vadot
435956d97fSEmmanuel VadotadditionalProperties: true
445956d97fSEmmanuel Vadot
455956d97fSEmmanuel Vadotexamples:
465956d97fSEmmanuel Vadot  - |
475956d97fSEmmanuel Vadot    spi {
485956d97fSEmmanuel Vadot        #address-cells = <1>;
495956d97fSEmmanuel Vadot        #size-cells = <0>;
505956d97fSEmmanuel Vadot
515956d97fSEmmanuel Vadot        flash@0 {
525956d97fSEmmanuel Vadot            reg = <0>;
535956d97fSEmmanuel Vadot            compatible = "jedec,spi-nor";
545956d97fSEmmanuel Vadot            label = "System-firmware";
555956d97fSEmmanuel Vadot        };
565956d97fSEmmanuel Vadot    };
575956d97fSEmmanuel Vadot
585956d97fSEmmanuel Vadot  - |
595956d97fSEmmanuel Vadot    spi {
605956d97fSEmmanuel Vadot        #address-cells = <1>;
615956d97fSEmmanuel Vadot        #size-cells = <0>;
625956d97fSEmmanuel Vadot
635956d97fSEmmanuel Vadot        flash@0 {
645956d97fSEmmanuel Vadot            reg = <0>;
655956d97fSEmmanuel Vadot            compatible = "jedec,spi-nor";
665956d97fSEmmanuel Vadot
675956d97fSEmmanuel Vadot            otp-1 {
685956d97fSEmmanuel Vadot                compatible = "factory-otp";
695956d97fSEmmanuel Vadot                #address-cells = <1>;
705956d97fSEmmanuel Vadot                #size-cells = <1>;
715956d97fSEmmanuel Vadot
725956d97fSEmmanuel Vadot                electronic-serial-number@0 {
735956d97fSEmmanuel Vadot                    reg = <0 8>;
745956d97fSEmmanuel Vadot                };
755956d97fSEmmanuel Vadot            };
765956d97fSEmmanuel Vadot
775956d97fSEmmanuel Vadot            otp-2 {
785956d97fSEmmanuel Vadot                compatible = "user-otp";
795956d97fSEmmanuel Vadot                #address-cells = <1>;
805956d97fSEmmanuel Vadot                #size-cells = <1>;
815956d97fSEmmanuel Vadot
825956d97fSEmmanuel Vadot                mac-address@0 {
835956d97fSEmmanuel Vadot                    reg = <0 6>;
845956d97fSEmmanuel Vadot                };
855956d97fSEmmanuel Vadot            };
865956d97fSEmmanuel Vadot        };
875956d97fSEmmanuel Vadot    };
885956d97fSEmmanuel Vadot
895956d97fSEmmanuel Vadot...
90