xref: /linux/Documentation/devicetree/bindings/mtd/partitions/linux,ubi.yaml (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1e17f38b7SDaniel Golle# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2e17f38b7SDaniel Golle%YAML 1.2
3e17f38b7SDaniel Golle---
4e17f38b7SDaniel Golle$id: http://devicetree.org/schemas/mtd/partitions/linux,ubi.yaml#
5e17f38b7SDaniel Golle$schema: http://devicetree.org/meta-schemas/core.yaml#
6e17f38b7SDaniel Golle
7e17f38b7SDaniel Golletitle: Unsorted Block Images
8e17f38b7SDaniel Golle
9e17f38b7SDaniel Golledescription: |
10e17f38b7SDaniel Golle  UBI ("Unsorted Block Images") is a volume management system for raw
11e17f38b7SDaniel Golle  flash devices which manages multiple logical volumes on a single
12e17f38b7SDaniel Golle  physical flash device and spreads the I/O load (i.e wear-leveling)
13e17f38b7SDaniel Golle  across the whole flash chip.
14e17f38b7SDaniel Golle
15e17f38b7SDaniel Gollemaintainers:
16e17f38b7SDaniel Golle  - Daniel Golle <daniel@makrotopia.org>
17e17f38b7SDaniel Golle
18e17f38b7SDaniel GolleallOf:
19e17f38b7SDaniel Golle  - $ref: partition.yaml#
20e17f38b7SDaniel Golle
21e17f38b7SDaniel Golleproperties:
22e17f38b7SDaniel Golle  compatible:
23e17f38b7SDaniel Golle    const: linux,ubi
24e17f38b7SDaniel Golle
25e17f38b7SDaniel Golle  volumes:
26e17f38b7SDaniel Golle    type: object
27e17f38b7SDaniel Golle    description: UBI Volumes
28e17f38b7SDaniel Golle
29e17f38b7SDaniel Golle    patternProperties:
30e17f38b7SDaniel Golle      "^ubi-volume-.*$":
31e17f38b7SDaniel Golle        $ref: /schemas/mtd/partitions/ubi-volume.yaml#
32e17f38b7SDaniel Golle
33e17f38b7SDaniel Golle    unevaluatedProperties: false
34e17f38b7SDaniel Golle
35e17f38b7SDaniel Gollerequired:
36e17f38b7SDaniel Golle  - compatible
37e17f38b7SDaniel Golle
38e17f38b7SDaniel GolleunevaluatedProperties: false
39e17f38b7SDaniel Golle
40e17f38b7SDaniel Golleexamples:
41e17f38b7SDaniel Golle  - |
42e17f38b7SDaniel Golle    partitions {
43e17f38b7SDaniel Golle        compatible = "fixed-partitions";
44e17f38b7SDaniel Golle        #address-cells = <1>;
45e17f38b7SDaniel Golle        #size-cells = <1>;
46e17f38b7SDaniel Golle
47e17f38b7SDaniel Golle        partition@0 {
48e17f38b7SDaniel Golle            reg = <0x0 0x100000>;
49e17f38b7SDaniel Golle            label = "bootloader";
50e17f38b7SDaniel Golle            read-only;
51e17f38b7SDaniel Golle        };
52e17f38b7SDaniel Golle
53e17f38b7SDaniel Golle        partition@100000 {
54e17f38b7SDaniel Golle            reg = <0x100000 0x1ff00000>;
55e17f38b7SDaniel Golle            label = "ubi";
56e17f38b7SDaniel Golle            compatible = "linux,ubi";
57e17f38b7SDaniel Golle
58e17f38b7SDaniel Golle            volumes {
59e17f38b7SDaniel Golle                ubi-volume-caldata {
60e17f38b7SDaniel Golle                    volid = <2>;
61e17f38b7SDaniel Golle                    volname = "rf";
62*a1de28ddSDaniel Golle
63*a1de28ddSDaniel Golle                    nvmem-layout {
64*a1de28ddSDaniel Golle                        compatible = "fixed-layout";
65*a1de28ddSDaniel Golle                        #address-cells = <1>;
66*a1de28ddSDaniel Golle                        #size-cells = <1>;
67*a1de28ddSDaniel Golle
68*a1de28ddSDaniel Golle                        eeprom@0 {
69*a1de28ddSDaniel Golle                            reg = <0x0 0x1000>;
70*a1de28ddSDaniel Golle                        };
71*a1de28ddSDaniel Golle                    };
72e17f38b7SDaniel Golle                };
73e17f38b7SDaniel Golle            };
74e17f38b7SDaniel Golle        };
75e17f38b7SDaniel Golle    };
76