[PATCH RFC] dt-bindings: mtd: allow NVMEM cells in BCM4908 partitions

Rob Herring robh at kernel.org
Tue Mar 30 23:19:22 BST 2021


On Mon, Mar 29, 2021 at 05:07:23PM +0200, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal at milecki.pl>
> 
> Every MTD partition can be NVMEM provider now. It's not handled by the
> shared partition.yaml so add proper "compatible" to the BCM4908.
> 
> Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
> ---
> Ideally I'd like to have:
> 1. partition.yaml allowing "nvmem-cells" by using nvmem-cells.yaml
> 2. brcm,bcm4908-partitions.yaml using partition.yaml and extending the
>    compatible list by "brcm,bcm4908-firmware"
> 
> I don't know if such a solution is possible to implement using YAML?

You would have to do something like:

items:
  - const: foo,bar
  - {}

and then in partition.yaml:

contains: 
  const: nvmem-cells

But that does work if nvmem-cells is not always present.

However, do we have partition.yaml and nvmem-cells.yaml backwards? 
nvmem-cells.yaml should reference partition.yaml as nvmem-cells.yaml is 
partition.yaml plus more constraints.

And then brcm,bcm4908-partitions.yaml references nvmem-cells.yaml and 
the above schema would work.

> 
> Proposed solution (RFC) isn't a really clean one:
> 1. It duplicates "nvmem-cells" which is already in the nvmem-cells.yaml
> 2. Generic "nvmem-cells" should be part of the partition.yaml

I'm fine with this too. It's more explicit as to what the compatible 
strings are.

> 
> Rob? Help? :)
> ---
>  .../bindings/mtd/partitions/brcm,bcm4908-partitions.yaml      | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
> index 7b113e5e3421..28aa3bdd1103 100644
> --- a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
> +++ b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
> @@ -32,7 +32,9 @@ patternProperties:
>      $ref: "partition.yaml#"
>      properties:
>        compatible:
> -        const: brcm,bcm4908-firmware
> +        enum:
> +          - brcm,bcm4908-firmware
> +          - nvmem-cells
>      unevaluatedProperties: false
>  
>  required:
> -- 
> 2.26.2
> 



More information about the linux-mtd mailing list