[PATCH RFC *RFC*] dt-bindings: add U-Boot chosen for environment data phandle

Rafał Miłecki zajec5 at gmail.com
Thu Feb 17 13:08:56 CET 2022


From: Rafał Miłecki <rafal at milecki.pl>

This is RFC and request for a help & discussion.

While reviewing patch for U-Boot env binding it has been mentioned that:

1. /Processing/ whole DT in U-Boot may be too much work
   Handling flash devices, partitions, their formats & NVMEM may require
   too many U-Boot drivers involved.

2. It'd be nice to have env data storage devices pointed in chosen

I wrote this hacky PATCH to give a rough idea how it could look like.

Please review this and let me know:
1. If solution with chosen + phandles is acceptable
2. How to properly name .yaml file
3. Where it put it

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 .../devicetree/bindings/u-boot,chosen.yaml    | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/u-boot,chosen.yaml

diff --git a/Documentation/devicetree/bindings/u-boot,chosen.yaml b/Documentation/devicetree/bindings/u-boot,chosen.yaml
new file mode 100644
index 000000000000..8369da91193d
--- /dev/null
+++ b/Documentation/devicetree/bindings/u-boot,chosen.yaml
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/u-boot,chosen.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: U-Boot setup
+
+maintainers:
+  - Rafał Miłecki <rafal at milecki.pl>
+
+properties:
+  u-boot,env:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    description: |
+      A list of storage volumes containing U-Boot environment data.
+
+      Env data can be stored on various kinds of storage devices, e.g.:
+      1. Raw flash partition
+      2. UBI volume
+
+additionalProperties: true
+
+examples:
+  - |
+    chosen {
+        u-boot,env = <&env>;
+    };
+
+    partitions {
+        compatible = "fixed-partitions";
+        #address-cells = <1>;
+        #size-cells = <1>;
+
+        env: partition at 0 {
+            reg = <0x0000000 0x1000>;
+            label = "u-boot-env";
+        };
+    };
-- 
2.34.1



More information about the U-Boot mailing list