Message ID | 20220217120856.2910-1-zajec5@gmail.com |
---|---|
State | New |
Headers | show |
Series | [RFC,*RFC*] dt-bindings: add U-Boot chosen for environment data phandle | expand |
On Thu, Feb 17, 2022 at 6:09 AM Rafał Miłecki <zajec5@gmail.com> wrote: > > From: Rafał Miłecki <rafal@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@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@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>; You should look at the u-boot config support: https://github.com/devicetree-org/dt-schema/commit/0986f729eff0f40a66e85ab9dfb37681bf025ac4
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@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@0 { + reg = <0x0000000 0x1000>; + label = "u-boot-env"; + }; + };