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

Rob Herring robh+dt at kernel.org
Thu Feb 17 22:15:54 CET 2022


On Thu, Feb 17, 2022 at 6:09 AM Rafał Miłecki <zajec5 at gmail.com> wrote:
>
> 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>;

You should look at the u-boot config support:

https://github.com/devicetree-org/dt-schema/commit/0986f729eff0f40a66e85ab9dfb37681bf025ac4


More information about the U-Boot mailing list