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

From: Rafał Miłecki
Date: Thu Feb 17 2022 - 07:09:11 EST


From: Rafał Miłecki <rafal@xxxxxxxxxx>

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@xxxxxxxxxx>
---
.../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@xxxxxxxxxx>
+
+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@0 {
+ reg = <0x0000000 0x1000>;
+ label = "u-boot-env";
+ };
+ };
--
2.34.1