GNU Linux-libre 6.8.9-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   compression:
33     $ref: /schemas/types.yaml#/definitions/string
34     description: |
35       Compression algorithm used to store the data in this partition, chosen
36       from a list of well-known algorithms.
37
38       The contents are compressed using this algorithm.
39
40     enum:
41       - none
42       - bzip2
43       - gzip
44       - lzop
45       - lz4
46       - lzma
47       - xz
48       - zstd
49
50 patternProperties:
51   "@[0-9a-f]+$":
52     $ref: partition.yaml#
53
54     properties:
55       sercomm,scpart-id:
56         description: Partition id in Sercomm partition map. Mtd parser
57           uses this id to find a record in the partition map containing
58           offset and size of the current partition. The values from
59           partition map overrides partition offset and size defined in
60           reg property of the dts. Frequently these values are the same,
61           but may differ if device has bad eraseblocks on a flash.
62         $ref: /schemas/types.yaml#/definitions/uint32
63
64 required:
65   - "#address-cells"
66   - "#size-cells"
67
68 additionalProperties: true
69
70 examples:
71   - |
72     partitions {
73         compatible = "fixed-partitions";
74         #address-cells = <1>;
75         #size-cells = <1>;
76
77         partition@0 {
78             label = "u-boot";
79             reg = <0x0000000 0x100000>;
80             read-only;
81         };
82
83         uimage@100000 {
84             reg = <0x0100000 0x200000>;
85             compress = "lzma";
86         };
87     };
88
89   - |
90     partitions {
91         compatible = "fixed-partitions";
92         #address-cells = <1>;
93         #size-cells = <2>;
94
95         /* a 4 GiB partition */
96         partition@0 {
97             label = "filesystem";
98             reg = <0x00000000 0x1 0x00000000>;
99             linux,rootfs;
100         };
101     };
102
103   - |
104     partitions {
105         compatible = "fixed-partitions";
106         #address-cells = <2>;
107         #size-cells = <2>;
108
109         /* an 8 GiB partition */
110         partition@0 {
111             label = "filesystem #1";
112             reg = <0x0 0x00000000 0x2 0x00000000>;
113         };
114
115         /* a 4 GiB partition */
116         partition@200000000 {
117             label = "filesystem #2";
118             reg = <0x2 0x00000000 0x1 0x00000000>;
119         };
120     };
121
122   - |
123     partitions {
124         compatible = "fixed-partitions";
125         #address-cells = <1>;
126         #size-cells = <1>;
127
128         partition@0 {
129             label = "bootloader";
130             reg = <0x000000 0x100000>;
131             read-only;
132         };
133
134         firmware@100000 {
135             compatible = "brcm,trx";
136             label = "firmware";
137             reg = <0x100000 0xe00000>;
138         };
139
140         calibration@f00000 {
141             compatible = "fixed-partitions";
142             label = "calibration";
143             reg = <0xf00000 0x100000>;
144             ranges = <0 0xf00000 0x100000>;
145             #address-cells = <1>;
146             #size-cells = <1>;
147
148             partition@0 {
149                 label = "wifi0";
150                 reg = <0x000000 0x080000>;
151             };
152
153             partition@80000 {
154                 label = "wifi1";
155                 reg = <0x080000 0x080000>;
156             };
157         };
158     };
159
160   - |
161     partitions {
162         compatible = "sercomm,sc-partitions", "fixed-partitions";
163         #address-cells = <1>;
164         #size-cells = <1>;
165
166         partition@0 {
167             label = "u-boot";
168             reg = <0x0 0x100000>;
169             sercomm,scpart-id = <0>;
170             read-only;
171         };
172
173         partition@100000 {
174             label = "dynamic partition map";
175             reg = <0x100000 0x100000>;
176             sercomm,scpart-id = <1>;
177         };
178
179         partition@200000 {
180             label = "Factory";
181             reg = <0x200000 0x100000>;
182             sercomm,scpart-id = <2>;
183             read-only;
184         };
185     };