xref: /freebsd-src/sys/contrib/device-tree/Bindings/mtd/partitions/fixed-partitions.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/partitions/fixed-partitions.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Fixed partitions
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotdescription: |
105def4c47SEmmanuel Vadot  This binding can be used on platforms which have strong conventions about
115def4c47SEmmanuel Vadot  which portions of a flash are used for what purposes, but which don't use an
125def4c47SEmmanuel Vadot  on-flash partition table such as RedBoot.
135def4c47SEmmanuel Vadot
145def4c47SEmmanuel Vadot  The partition table should be a node named "partitions". Partitions are then
155def4c47SEmmanuel Vadot  defined as subnodes.
165def4c47SEmmanuel Vadot
175def4c47SEmmanuel Vadotmaintainers:
185def4c47SEmmanuel Vadot  - Rafał Miłecki <rafal@milecki.pl>
195def4c47SEmmanuel Vadot
205def4c47SEmmanuel Vadotproperties:
215def4c47SEmmanuel Vadot  compatible:
22d5b0e70fSEmmanuel Vadot    oneOf:
23d5b0e70fSEmmanuel Vadot      - const: fixed-partitions
24d5b0e70fSEmmanuel Vadot      - items:
25d5b0e70fSEmmanuel Vadot          - const: sercomm,sc-partitions
26d5b0e70fSEmmanuel Vadot          - const: fixed-partitions
275def4c47SEmmanuel Vadot
285def4c47SEmmanuel Vadot  "#address-cells": true
295def4c47SEmmanuel Vadot
305def4c47SEmmanuel Vadot  "#size-cells": true
315def4c47SEmmanuel Vadot
32*84943d6fSEmmanuel Vadot  compression:
33*84943d6fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
34*84943d6fSEmmanuel Vadot    description: |
35*84943d6fSEmmanuel Vadot      Compression algorithm used to store the data in this partition, chosen
36*84943d6fSEmmanuel Vadot      from a list of well-known algorithms.
37*84943d6fSEmmanuel Vadot
38*84943d6fSEmmanuel Vadot      The contents are compressed using this algorithm.
39*84943d6fSEmmanuel Vadot
40*84943d6fSEmmanuel Vadot    enum:
41*84943d6fSEmmanuel Vadot      - none
42*84943d6fSEmmanuel Vadot      - bzip2
43*84943d6fSEmmanuel Vadot      - gzip
44*84943d6fSEmmanuel Vadot      - lzop
45*84943d6fSEmmanuel Vadot      - lz4
46*84943d6fSEmmanuel Vadot      - lzma
47*84943d6fSEmmanuel Vadot      - xz
48*84943d6fSEmmanuel Vadot      - zstd
49*84943d6fSEmmanuel Vadot
505def4c47SEmmanuel VadotpatternProperties:
515def4c47SEmmanuel Vadot  "@[0-9a-f]+$":
528bab661aSEmmanuel Vadot    $ref: partition.yaml#
538bab661aSEmmanuel Vadot
54d5b0e70fSEmmanuel Vadot    properties:
55d5b0e70fSEmmanuel Vadot      sercomm,scpart-id:
568bab661aSEmmanuel Vadot        description: Partition id in Sercomm partition map. Mtd parser
578bab661aSEmmanuel Vadot          uses this id to find a record in the partition map containing
588bab661aSEmmanuel Vadot          offset and size of the current partition. The values from
598bab661aSEmmanuel Vadot          partition map overrides partition offset and size defined in
608bab661aSEmmanuel Vadot          reg property of the dts. Frequently these values are the same,
618bab661aSEmmanuel Vadot          but may differ if device has bad eraseblocks on a flash.
62d5b0e70fSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
635def4c47SEmmanuel Vadot
645def4c47SEmmanuel Vadotrequired:
655def4c47SEmmanuel Vadot  - "#address-cells"
665def4c47SEmmanuel Vadot  - "#size-cells"
675def4c47SEmmanuel Vadot
685def4c47SEmmanuel VadotadditionalProperties: true
695def4c47SEmmanuel Vadot
705def4c47SEmmanuel Vadotexamples:
715def4c47SEmmanuel Vadot  - |
725def4c47SEmmanuel Vadot    partitions {
735def4c47SEmmanuel Vadot        compatible = "fixed-partitions";
745def4c47SEmmanuel Vadot        #address-cells = <1>;
755def4c47SEmmanuel Vadot        #size-cells = <1>;
765def4c47SEmmanuel Vadot
775def4c47SEmmanuel Vadot        partition@0 {
785def4c47SEmmanuel Vadot            label = "u-boot";
795def4c47SEmmanuel Vadot            reg = <0x0000000 0x100000>;
805def4c47SEmmanuel Vadot            read-only;
815def4c47SEmmanuel Vadot        };
825def4c47SEmmanuel Vadot
835def4c47SEmmanuel Vadot        uimage@100000 {
845def4c47SEmmanuel Vadot            reg = <0x0100000 0x200000>;
85*84943d6fSEmmanuel Vadot            compress = "lzma";
865def4c47SEmmanuel Vadot        };
875def4c47SEmmanuel Vadot    };
88d5b0e70fSEmmanuel Vadot
895def4c47SEmmanuel Vadot  - |
905def4c47SEmmanuel Vadot    partitions {
915def4c47SEmmanuel Vadot        compatible = "fixed-partitions";
925def4c47SEmmanuel Vadot        #address-cells = <1>;
935def4c47SEmmanuel Vadot        #size-cells = <2>;
945def4c47SEmmanuel Vadot
955def4c47SEmmanuel Vadot        /* a 4 GiB partition */
965def4c47SEmmanuel Vadot        partition@0 {
975def4c47SEmmanuel Vadot            label = "filesystem";
985def4c47SEmmanuel Vadot            reg = <0x00000000 0x1 0x00000000>;
998bab661aSEmmanuel Vadot            linux,rootfs;
1005def4c47SEmmanuel Vadot        };
1015def4c47SEmmanuel Vadot    };
102d5b0e70fSEmmanuel Vadot
1035def4c47SEmmanuel Vadot  - |
1045def4c47SEmmanuel Vadot    partitions {
1055def4c47SEmmanuel Vadot        compatible = "fixed-partitions";
1065def4c47SEmmanuel Vadot        #address-cells = <2>;
1075def4c47SEmmanuel Vadot        #size-cells = <2>;
1085def4c47SEmmanuel Vadot
1095def4c47SEmmanuel Vadot        /* an 8 GiB partition */
1105def4c47SEmmanuel Vadot        partition@0 {
1115def4c47SEmmanuel Vadot            label = "filesystem #1";
1125def4c47SEmmanuel Vadot            reg = <0x0 0x00000000 0x2 0x00000000>;
1135def4c47SEmmanuel Vadot        };
1145def4c47SEmmanuel Vadot
1155def4c47SEmmanuel Vadot        /* a 4 GiB partition */
1165def4c47SEmmanuel Vadot        partition@200000000 {
1175def4c47SEmmanuel Vadot            label = "filesystem #2";
1185def4c47SEmmanuel Vadot            reg = <0x2 0x00000000 0x1 0x00000000>;
1195def4c47SEmmanuel Vadot        };
1205def4c47SEmmanuel Vadot    };
121d5b0e70fSEmmanuel Vadot
1225def4c47SEmmanuel Vadot  - |
1235def4c47SEmmanuel Vadot    partitions {
1245def4c47SEmmanuel Vadot        compatible = "fixed-partitions";
1255def4c47SEmmanuel Vadot        #address-cells = <1>;
1265def4c47SEmmanuel Vadot        #size-cells = <1>;
1275def4c47SEmmanuel Vadot
1285def4c47SEmmanuel Vadot        partition@0 {
1295def4c47SEmmanuel Vadot            label = "bootloader";
1305def4c47SEmmanuel Vadot            reg = <0x000000 0x100000>;
1315def4c47SEmmanuel Vadot            read-only;
1325def4c47SEmmanuel Vadot        };
1335def4c47SEmmanuel Vadot
1345def4c47SEmmanuel Vadot        firmware@100000 {
1355def4c47SEmmanuel Vadot            compatible = "brcm,trx";
1365def4c47SEmmanuel Vadot            label = "firmware";
1375def4c47SEmmanuel Vadot            reg = <0x100000 0xe00000>;
1385def4c47SEmmanuel Vadot        };
1395def4c47SEmmanuel Vadot
1405def4c47SEmmanuel Vadot        calibration@f00000 {
1415def4c47SEmmanuel Vadot            compatible = "fixed-partitions";
1425def4c47SEmmanuel Vadot            label = "calibration";
1435def4c47SEmmanuel Vadot            reg = <0xf00000 0x100000>;
1445def4c47SEmmanuel Vadot            ranges = <0 0xf00000 0x100000>;
1455def4c47SEmmanuel Vadot            #address-cells = <1>;
1465def4c47SEmmanuel Vadot            #size-cells = <1>;
1475def4c47SEmmanuel Vadot
1485def4c47SEmmanuel Vadot            partition@0 {
1495def4c47SEmmanuel Vadot                label = "wifi0";
1505def4c47SEmmanuel Vadot                reg = <0x000000 0x080000>;
1515def4c47SEmmanuel Vadot            };
1525def4c47SEmmanuel Vadot
1535def4c47SEmmanuel Vadot            partition@80000 {
1545def4c47SEmmanuel Vadot                label = "wifi1";
1555def4c47SEmmanuel Vadot                reg = <0x080000 0x080000>;
1565def4c47SEmmanuel Vadot            };
1575def4c47SEmmanuel Vadot        };
1585def4c47SEmmanuel Vadot    };
159d5b0e70fSEmmanuel Vadot
160d5b0e70fSEmmanuel Vadot  - |
161d5b0e70fSEmmanuel Vadot    partitions {
162d5b0e70fSEmmanuel Vadot        compatible = "sercomm,sc-partitions", "fixed-partitions";
163d5b0e70fSEmmanuel Vadot        #address-cells = <1>;
164d5b0e70fSEmmanuel Vadot        #size-cells = <1>;
165d5b0e70fSEmmanuel Vadot
166d5b0e70fSEmmanuel Vadot        partition@0 {
167d5b0e70fSEmmanuel Vadot            label = "u-boot";
168d5b0e70fSEmmanuel Vadot            reg = <0x0 0x100000>;
169d5b0e70fSEmmanuel Vadot            sercomm,scpart-id = <0>;
170d5b0e70fSEmmanuel Vadot            read-only;
171d5b0e70fSEmmanuel Vadot        };
172d5b0e70fSEmmanuel Vadot
173d5b0e70fSEmmanuel Vadot        partition@100000 {
174d5b0e70fSEmmanuel Vadot            label = "dynamic partition map";
175d5b0e70fSEmmanuel Vadot            reg = <0x100000 0x100000>;
176d5b0e70fSEmmanuel Vadot            sercomm,scpart-id = <1>;
177d5b0e70fSEmmanuel Vadot        };
178d5b0e70fSEmmanuel Vadot
179d5b0e70fSEmmanuel Vadot        partition@200000 {
180d5b0e70fSEmmanuel Vadot            label = "Factory";
181d5b0e70fSEmmanuel Vadot            reg = <0x200000 0x100000>;
182d5b0e70fSEmmanuel Vadot            sercomm,scpart-id = <2>;
183d5b0e70fSEmmanuel Vadot            read-only;
184d5b0e70fSEmmanuel Vadot        };
185d5b0e70fSEmmanuel Vadot    };
186