xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/partitions/fixed-partitions.yaml (revision ae7e8a02e6e93455e026036132c4d053b2c12ad9)
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
7title: Fixed partitions
8
9description: |
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
17maintainers:
18  - Rafał Miłecki <rafal@milecki.pl>
19
20properties:
21  compatible:
22    const: fixed-partitions
23
24  "#address-cells": true
25
26  "#size-cells": true
27
28patternProperties:
29  "@[0-9a-f]+$":
30    $ref: "partition.yaml#"
31
32required:
33  - "#address-cells"
34  - "#size-cells"
35
36additionalProperties: true
37
38examples:
39  - |
40    partitions {
41        compatible = "fixed-partitions";
42        #address-cells = <1>;
43        #size-cells = <1>;
44
45        partition@0 {
46            label = "u-boot";
47            reg = <0x0000000 0x100000>;
48            read-only;
49        };
50
51        uimage@100000 {
52            reg = <0x0100000 0x200000>;
53        };
54    };
55  - |
56    partitions {
57        compatible = "fixed-partitions";
58        #address-cells = <1>;
59        #size-cells = <2>;
60
61        /* a 4 GiB partition */
62        partition@0 {
63            label = "filesystem";
64            reg = <0x00000000 0x1 0x00000000>;
65        };
66    };
67  - |
68    partitions {
69        compatible = "fixed-partitions";
70        #address-cells = <2>;
71        #size-cells = <2>;
72
73        /* an 8 GiB partition */
74        partition@0 {
75            label = "filesystem #1";
76            reg = <0x0 0x00000000 0x2 0x00000000>;
77        };
78
79        /* a 4 GiB partition */
80        partition@200000000 {
81            label = "filesystem #2";
82            reg = <0x2 0x00000000 0x1 0x00000000>;
83        };
84    };
85  - |
86    partitions {
87        compatible = "fixed-partitions";
88        #address-cells = <1>;
89        #size-cells = <1>;
90
91        partition@0 {
92            label = "bootloader";
93            reg = <0x000000 0x100000>;
94            read-only;
95        };
96
97        firmware@100000 {
98            compatible = "brcm,trx";
99            label = "firmware";
100            reg = <0x100000 0xe00000>;
101        };
102
103        calibration@f00000 {
104            compatible = "fixed-partitions";
105            label = "calibration";
106            reg = <0xf00000 0x100000>;
107            ranges = <0 0xf00000 0x100000>;
108            #address-cells = <1>;
109            #size-cells = <1>;
110
111            partition@0 {
112                label = "wifi0";
113                reg = <0x000000 0x080000>;
114            };
115
116            partition@80000 {
117                label = "wifi1";
118                reg = <0x080000 0x080000>;
119            };
120        };
121    };
122