blob: ee442ecb11cd9cbc9562777f7cb3c3225087c394 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mtd/mtd.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MTD (Memory Technology Device)
8
9maintainers:
10 - Miquel Raynal <miquel.raynal@bootlin.com>
11 - Richard Weinberger <richard@nod.at>
12
Tom Rini6bb92fc2024-05-20 09:54:58 -060013select: false
14
Tom Rini53633a82024-02-29 12:33:36 -050015properties:
16 $nodename:
17 pattern: "^(flash|.*sram|nand)(@.*)?$"
18
19 label:
20 description:
21 User-defined MTD device name. Can be used to assign user friendly
22 names to MTD devices (instead of the flash model or flash controller
23 based name) in order to ease flash device identification and/or
24 describe what they are used for.
25
26 '#address-cells':
27 deprecated: true
28
29 '#size-cells':
30 deprecated: true
31
32 partitions:
33 $ref: /schemas/mtd/partitions/partitions.yaml
34
35 required:
36 - compatible
37
38patternProperties:
39 "@[0-9a-f]+$":
40 $ref: partitions/partition.yaml
41 deprecated: true
42
43 "^partition@[0-9a-f]+":
44 $ref: partitions/partition.yaml
45 deprecated: true
46
47 "^otp(-[0-9]+)?$":
48 type: object
49
50 allOf:
51 - $ref: ../nvmem/nvmem.yaml#
52 - $ref: ../nvmem/nvmem-deprecated-cells.yaml#
53
54 unevaluatedProperties: false
55
56 description: |
57 An OTP memory region. Some flashes provide a one-time-programmable
58 memory whose content can either be programmed by a user or is already
59 pre-programmed by the factory. Some flashes might provide both.
60
61 properties:
62 compatible:
63 enum:
64 - user-otp
65 - factory-otp
66
67 required:
68 - compatible
69
70# This is a generic file other binding inherit from
71additionalProperties: true
72
73examples:
74 - |
75 spi {
76 #address-cells = <1>;
77 #size-cells = <0>;
78
79 flash@0 {
80 reg = <0>;
81 compatible = "jedec,spi-nor";
82 label = "System-firmware";
83 };
84 };
85
86 - |
87 spi {
88 #address-cells = <1>;
89 #size-cells = <0>;
90
91 flash@0 {
92 reg = <0>;
93 compatible = "jedec,spi-nor";
94
95 otp-1 {
96 compatible = "factory-otp";
97 #address-cells = <1>;
98 #size-cells = <1>;
99
100 electronic-serial-number@0 {
101 reg = <0 8>;
102 };
103 };
104
105 otp-2 {
106 compatible = "user-otp";
107 #address-cells = <1>;
108 #size-cells = <1>;
109
110 mac-address@0 {
111 reg = <0 6>;
112 };
113 };
114 };
115 };
116
117...