forked from Openwrt/openwrt
fc153aa8d9
Similar to supporting nvmem-layouts on MTD devices, also allow referencing UBI and MMC devices in DT. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
122 lines
3.1 KiB
Diff
122 lines
3.1 KiB
Diff
From ffbbe7d66872ff8957dad2136133e28a1fd5d437 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Golle <daniel@makrotopia.org>
|
|
Date: Mon, 7 Aug 2023 22:51:05 +0100
|
|
Subject: [PATCH 01/15] dt-bindings: mtd: add basic bindings for UBI
|
|
|
|
Add basic bindings for UBI devices and volumes.
|
|
|
|
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|
---
|
|
.../bindings/mtd/partitions/linux,ubi.yaml | 65 +++++++++++++++++++
|
|
.../bindings/mtd/partitions/ubi-volume.yaml | 35 ++++++++++
|
|
2 files changed, 100 insertions(+)
|
|
create mode 100644 Documentation/devicetree/bindings/mtd/partitions/linux,ubi.yaml
|
|
create mode 100644 Documentation/devicetree/bindings/mtd/partitions/ubi-volume.yaml
|
|
|
|
--- /dev/null
|
|
+++ b/Documentation/devicetree/bindings/mtd/partitions/linux,ubi.yaml
|
|
@@ -0,0 +1,65 @@
|
|
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
+%YAML 1.2
|
|
+---
|
|
+$id: http://devicetree.org/schemas/mtd/partitions/linux,ubi.yaml#
|
|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
+
|
|
+title: Unsorted Block Images
|
|
+
|
|
+description: |
|
|
+ UBI ("Unsorted Block Images") is a volume management system for raw
|
|
+ flash devices which manages multiple logical volumes on a single
|
|
+ physical flash device and spreads the I/O load (i.e wear-leveling)
|
|
+ across the whole flash chip.
|
|
+
|
|
+maintainers:
|
|
+ - Daniel Golle <daniel@makrotopia.org>
|
|
+
|
|
+allOf:
|
|
+ - $ref: partition.yaml#
|
|
+
|
|
+properties:
|
|
+ compatible:
|
|
+ const: linux,ubi
|
|
+
|
|
+ volumes:
|
|
+ type: object
|
|
+ description: UBI Volumes
|
|
+
|
|
+ patternProperties:
|
|
+ "^ubi-volume-.*$":
|
|
+ $ref: /schemas/mtd/partitions/ubi-volume.yaml#
|
|
+
|
|
+ unevaluatedProperties: false
|
|
+
|
|
+required:
|
|
+ - compatible
|
|
+
|
|
+unevaluatedProperties: false
|
|
+
|
|
+examples:
|
|
+ - |
|
|
+ partitions {
|
|
+ compatible = "fixed-partitions";
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <1>;
|
|
+
|
|
+ partition@0 {
|
|
+ reg = <0x0 0x100000>;
|
|
+ label = "bootloader";
|
|
+ read-only;
|
|
+ };
|
|
+
|
|
+ partition@100000 {
|
|
+ reg = <0x100000 0x1ff00000>;
|
|
+ label = "ubi";
|
|
+ compatible = "linux,ubi";
|
|
+
|
|
+ volumes {
|
|
+ ubi-volume-caldata {
|
|
+ volid = <2>;
|
|
+ volname = "rf";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+ };
|
|
--- /dev/null
|
|
+++ b/Documentation/devicetree/bindings/mtd/partitions/ubi-volume.yaml
|
|
@@ -0,0 +1,35 @@
|
|
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
+%YAML 1.2
|
|
+---
|
|
+$id: http://devicetree.org/schemas/mtd/partitions/ubi-volume.yaml#
|
|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
+
|
|
+title: UBI volume
|
|
+
|
|
+description: |
|
|
+ This binding describes a single UBI volume. Volumes can be matches either
|
|
+ by their ID or their name, or both.
|
|
+
|
|
+maintainers:
|
|
+ - Daniel Golle <daniel@makrotopia.org>
|
|
+
|
|
+properties:
|
|
+ volid:
|
|
+ $ref: "/schemas/types.yaml#/definitions/uint32"
|
|
+ description:
|
|
+ Match UBI volume ID
|
|
+
|
|
+ volname:
|
|
+ $ref: "/schemas/types.yaml#/definitions/string"
|
|
+ description:
|
|
+ Match UBI volume ID
|
|
+
|
|
+anyOf:
|
|
+ - required:
|
|
+ - volid
|
|
+
|
|
+ - required:
|
|
+ - volname
|
|
+
|
|
+# This is a generic file other binding inherit from and extend
|
|
+additionalProperties: true
|