Re: [PATCH dt-schema.git] schemas: add NVMEM cell with #nvmem-cell-cells

From: Krzysztof Kozlowski
Date: Mon Nov 21 2022 - 06:31:39 EST


On 21/11/2022 11:58, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@xxxxxxxxxx>
>
> Some NVMEM cells may provide more than 1 value. An example can be base
> MAC address that is used for calculating multiple MACs (for few
> different devices). For specifying value to read phandle needs to be
> used with an argument.
>
> Cc: Srinivas Kandagatla" <srinivas.kandagatla@xxxxxxxxxx>
> Cc: Michael Walle <michael@xxxxxxxx>
> Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx>
> ---
> This bit is required for moving forward with the
> [PATCH v2 00/20] nvmem: core: introduce NVMEM layouts
> https://lore.kernel.org/linux-arm-kernel/20220901221857.2600340-1-michael@xxxxxxxx/
>
> As pointed out by Rob #nvmem-cell-cells should be added to the dt-schema
> and not a Linux binding:
> Re: [PATCH v2 15/20] dt-bindings: nvmem: add YAML schema for the sl28 vpd layout
> https://lore.kernel.org/linux-arm-kernel/20220912192038.GA1661550-robh@xxxxxxxxxx/
>
> sl28 is one example that needs #nvmem-cell-cells
> u-boot,env is another one
>
> Please let me know if I got this binding right at all.
> ---
> dtschema/schemas/nvmem/nvmem-cell.yaml | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
> create mode 100644 dtschema/schemas/nvmem/nvmem-cell.yaml
>
> diff --git a/dtschema/schemas/nvmem/nvmem-cell.yaml b/dtschema/schemas/nvmem/nvmem-cell.yaml
> new file mode 100644
> index 0000000..dfa99b8
> --- /dev/null
> +++ b/dtschema/schemas/nvmem/nvmem-cell.yaml
> @@ -0,0 +1,23 @@
> +# SPDX-License-Identifier: BSD-2-Clause
> +$id: "http://devicetree.org/schemas/nvmem/nvmem-cell.yaml#";
> +$schema: "http://devicetree.org/meta-schemas/base.yaml#";

Drop quotes from both.

> +
> +title: NVMEM Cell Common Properties
> +description: "Schema for NVMEM cell devicetree bindings"

Drop quotes.

> +maintainers:
> + - Rafał Miłecki <rafal@xxxxxxxxxx>
> + - Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
> +
> +# always select the core schema
> +select: true
> +
> +properties:
> + "#nvmem-cell-cells":
> + $ref: "/schemas/types.yaml#/definitions/uint32"

Drop quotes.

Rest looks fine to me, except a bit funny cell-cell name, but that's
just life. :)

> + description: >
> + Some NVMEM cells may consist of raw data that requires some extra
> + processing. They may provide more than 1 value.
> +
> + Passing extra argument(s) allows selecting data to access.
> +
> +additionalProperties: true

Best regards,
Krzysztof