GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / mtd / partitions / fixed-partitions.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mtd/partitions/fixed-partitions.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Fixed partitions
8
9 description: |
10   This binding can be used on platforms which have strong conventions about
11   which portions of a flash are used for what purposes, but which don't use an
12   on-flash partition table such as RedBoot.
13
14   The partition table should be a node named "partitions". Partitions are then
15   defined as subnodes.
16
17 maintainers:
18   - Rafał Miłecki <rafal@milecki.pl>
19
20 properties:
21   compatible:
22     oneOf:
23       - const: fixed-partitions
24       - items:
25           - const: sercomm,sc-partitions
26           - const: fixed-partitions
27
28   "#address-cells": true
29
30   "#size-cells": true
31
32 patternProperties:
33   "@[0-9a-f]+$":
34     allOf:
35       - $ref: "partition.yaml#"
36       - if:
37           properties:
38             compatible:
39               contains:
40                 const: sercomm,sc-partitions
41         then:
42           properties:
43             sercomm,scpart-id:
44               description: Partition id in Sercomm partition map. Mtd
45                 parser uses this id to find a record in the partition map
46                 containing offset and size of the current partition. The
47                 values from partition map overrides partition offset and
48                 size defined in reg property of the dts. Frequently these
49                 values are the same, but may differ if device has bad
50                 eraseblocks on a flash.
51               $ref: /schemas/types.yaml#/definitions/uint32
52
53 required:
54   - "#address-cells"
55   - "#size-cells"
56
57 additionalProperties: true
58
59 examples:
60   - |
61     partitions {
62         compatible = "fixed-partitions";
63         #address-cells = <1>;
64         #size-cells = <1>;
65
66         partition@0 {
67             label = "u-boot";
68             reg = <0x0000000 0x100000>;
69             read-only;
70         };
71
72         uimage@100000 {
73             reg = <0x0100000 0x200000>;
74         };
75     };
76
77   - |
78     partitions {
79         compatible = "fixed-partitions";
80         #address-cells = <1>;
81         #size-cells = <2>;
82
83         /* a 4 GiB partition */
84         partition@0 {
85             label = "filesystem";
86             reg = <0x00000000 0x1 0x00000000>;
87         };
88     };
89
90   - |
91     partitions {
92         compatible = "fixed-partitions";
93         #address-cells = <2>;
94         #size-cells = <2>;
95
96         /* an 8 GiB partition */
97         partition@0 {
98             label = "filesystem #1";
99             reg = <0x0 0x00000000 0x2 0x00000000>;
100         };
101
102         /* a 4 GiB partition */
103         partition@200000000 {
104             label = "filesystem #2";
105             reg = <0x2 0x00000000 0x1 0x00000000>;
106         };
107     };
108
109   - |
110     partitions {
111         compatible = "fixed-partitions";
112         #address-cells = <1>;
113         #size-cells = <1>;
114
115         partition@0 {
116             label = "bootloader";
117             reg = <0x000000 0x100000>;
118             read-only;
119         };
120
121         firmware@100000 {
122             compatible = "brcm,trx";
123             label = "firmware";
124             reg = <0x100000 0xe00000>;
125         };
126
127         calibration@f00000 {
128             compatible = "fixed-partitions";
129             label = "calibration";
130             reg = <0xf00000 0x100000>;
131             ranges = <0 0xf00000 0x100000>;
132             #address-cells = <1>;
133             #size-cells = <1>;
134
135             partition@0 {
136                 label = "wifi0";
137                 reg = <0x000000 0x080000>;
138             };
139
140             partition@80000 {
141                 label = "wifi1";
142                 reg = <0x080000 0x080000>;
143             };
144         };
145     };
146
147   - |
148     partitions {
149         compatible = "sercomm,sc-partitions", "fixed-partitions";
150         #address-cells = <1>;
151         #size-cells = <1>;
152
153         partition@0 {
154             label = "u-boot";
155             reg = <0x0 0x100000>;
156             sercomm,scpart-id = <0>;
157             read-only;
158         };
159
160         partition@100000 {
161             label = "dynamic partition map";
162             reg = <0x100000 0x100000>;
163             sercomm,scpart-id = <1>;
164         };
165
166         partition@200000 {
167             label = "Factory";
168             reg = <0x200000 0x100000>;
169             sercomm,scpart-id = <2>;
170             read-only;
171         };
172     };