xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/mtd.yaml (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1*5956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*5956d97fSEmmanuel Vadot%YAML 1.2
3*5956d97fSEmmanuel Vadot---
4*5956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/mtd.yaml#
5*5956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5956d97fSEmmanuel Vadot
7*5956d97fSEmmanuel Vadottitle: MTD (Memory Technology Device) Device Tree Bindings
8*5956d97fSEmmanuel Vadot
9*5956d97fSEmmanuel Vadotmaintainers:
10*5956d97fSEmmanuel Vadot  - Miquel Raynal <miquel.raynal@bootlin.com>
11*5956d97fSEmmanuel Vadot  - Richard Weinberger <richard@nod.at>
12*5956d97fSEmmanuel Vadot
13*5956d97fSEmmanuel Vadotproperties:
14*5956d97fSEmmanuel Vadot  $nodename:
15*5956d97fSEmmanuel Vadot    pattern: "^flash(@.*)?$"
16*5956d97fSEmmanuel Vadot
17*5956d97fSEmmanuel Vadot  label:
18*5956d97fSEmmanuel Vadot    description:
19*5956d97fSEmmanuel Vadot      User-defined MTD device name. Can be used to assign user friendly
20*5956d97fSEmmanuel Vadot      names to MTD devices (instead of the flash model or flash controller
21*5956d97fSEmmanuel Vadot      based name) in order to ease flash device identification and/or
22*5956d97fSEmmanuel Vadot      describe what they are used for.
23*5956d97fSEmmanuel Vadot
24*5956d97fSEmmanuel VadotpatternProperties:
25*5956d97fSEmmanuel Vadot  "^otp(-[0-9]+)?$":
26*5956d97fSEmmanuel Vadot    type: object
27*5956d97fSEmmanuel Vadot    $ref: ../nvmem/nvmem.yaml#
28*5956d97fSEmmanuel Vadot
29*5956d97fSEmmanuel Vadot    description: |
30*5956d97fSEmmanuel Vadot      An OTP memory region. Some flashes provide a one-time-programmable
31*5956d97fSEmmanuel Vadot      memory whose content can either be programmed by a user or is already
32*5956d97fSEmmanuel Vadot      pre-programmed by the factory. Some flashes might provide both.
33*5956d97fSEmmanuel Vadot
34*5956d97fSEmmanuel Vadot    properties:
35*5956d97fSEmmanuel Vadot      compatible:
36*5956d97fSEmmanuel Vadot        enum:
37*5956d97fSEmmanuel Vadot          - user-otp
38*5956d97fSEmmanuel Vadot          - factory-otp
39*5956d97fSEmmanuel Vadot
40*5956d97fSEmmanuel Vadot    required:
41*5956d97fSEmmanuel Vadot      - compatible
42*5956d97fSEmmanuel Vadot
43*5956d97fSEmmanuel VadotadditionalProperties: true
44*5956d97fSEmmanuel Vadot
45*5956d97fSEmmanuel Vadotexamples:
46*5956d97fSEmmanuel Vadot  - |
47*5956d97fSEmmanuel Vadot    spi {
48*5956d97fSEmmanuel Vadot        #address-cells = <1>;
49*5956d97fSEmmanuel Vadot        #size-cells = <0>;
50*5956d97fSEmmanuel Vadot
51*5956d97fSEmmanuel Vadot        flash@0 {
52*5956d97fSEmmanuel Vadot            reg = <0>;
53*5956d97fSEmmanuel Vadot            compatible = "jedec,spi-nor";
54*5956d97fSEmmanuel Vadot            label = "System-firmware";
55*5956d97fSEmmanuel Vadot        };
56*5956d97fSEmmanuel Vadot    };
57*5956d97fSEmmanuel Vadot
58*5956d97fSEmmanuel Vadot  - |
59*5956d97fSEmmanuel Vadot    spi {
60*5956d97fSEmmanuel Vadot        #address-cells = <1>;
61*5956d97fSEmmanuel Vadot        #size-cells = <0>;
62*5956d97fSEmmanuel Vadot
63*5956d97fSEmmanuel Vadot        flash@0 {
64*5956d97fSEmmanuel Vadot            reg = <0>;
65*5956d97fSEmmanuel Vadot            compatible = "jedec,spi-nor";
66*5956d97fSEmmanuel Vadot
67*5956d97fSEmmanuel Vadot            otp-1 {
68*5956d97fSEmmanuel Vadot                compatible = "factory-otp";
69*5956d97fSEmmanuel Vadot                #address-cells = <1>;
70*5956d97fSEmmanuel Vadot                #size-cells = <1>;
71*5956d97fSEmmanuel Vadot
72*5956d97fSEmmanuel Vadot                electronic-serial-number@0 {
73*5956d97fSEmmanuel Vadot                    reg = <0 8>;
74*5956d97fSEmmanuel Vadot                };
75*5956d97fSEmmanuel Vadot            };
76*5956d97fSEmmanuel Vadot
77*5956d97fSEmmanuel Vadot            otp-2 {
78*5956d97fSEmmanuel Vadot                compatible = "user-otp";
79*5956d97fSEmmanuel Vadot                #address-cells = <1>;
80*5956d97fSEmmanuel Vadot                #size-cells = <1>;
81*5956d97fSEmmanuel Vadot
82*5956d97fSEmmanuel Vadot                mac-address@0 {
83*5956d97fSEmmanuel Vadot                    reg = <0 6>;
84*5956d97fSEmmanuel Vadot                };
85*5956d97fSEmmanuel Vadot            };
86*5956d97fSEmmanuel Vadot        };
87*5956d97fSEmmanuel Vadot    };
88*5956d97fSEmmanuel Vadot
89*5956d97fSEmmanuel Vadot...
90