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