Message ID | 20210310210812.8880-2-ansuelsmth@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [v4,1/3] mtd: core: add nvmem-cells compatible to parse mtd as nvmem cells | expand |
See inline On 10.03.2021 22:08, Ansuel Smith wrote: > Document nvmem-cells compatible used to treat mtd partitions as a > nvmem provider. > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > --- > .../bindings/mtd/partitions/nvmem-cells.yaml | 96 +++++++++++++++++++ > 1 file changed, 96 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml b/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml > new file mode 100644 > index 000000000000..f70d7597a6b0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml > @@ -0,0 +1,96 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mtd/partitions/nvmem-cells.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Nvmem cells > + > +description: | > + Any partition containing the compatible "nvmem-cells" will register as a > + nvmem provider. > + Each direct subnodes represents a nvmem cell following the nvmem binding. > + Nvmem binding to declare nvmem-cells can be found in: > + Documentation/devicetree/bindings/nvmem/nvmem.yaml > + > +maintainers: > + - Ansuel Smith <ansuelsmth@gmail.com> I think that when Rob wrote: On 10.03.2021 03:58, Rob Herring wrote: > I think this should reference nvmem.yaml. he meant you using: allOf: - $ref: "nvmem.yaml#" (you'll need to adjust binding path). Please check how it's done in Documentation/devicetree/bindings/nvmem/*.yaml files > +properties: > + compatible: > + const: nvmem-cells
On Thu, Mar 11, 2021 at 07:37:13AM +0100, Rafał Miłecki wrote: > On 10.03.2021 23:47, Ansuel Smith wrote: > > On Wed, Mar 10, 2021 at 11:41:24PM +0100, Rafał Miłecki wrote: > > > See inline > > > > > > On 10.03.2021 22:08, Ansuel Smith wrote: > > > > Document nvmem-cells compatible used to treat mtd partitions as a > > > > nvmem provider. > > > > > > > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > > > > --- > > > > .../bindings/mtd/partitions/nvmem-cells.yaml | 96 +++++++++++++++++++ > > > > 1 file changed, 96 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml > > > > > > > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml b/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml > > > > new file mode 100644 > > > > index 000000000000..f70d7597a6b0 > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml > > > > @@ -0,0 +1,96 @@ > > > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > > > > +%YAML 1.2 > > > > +--- > > > > +$id: http://devicetree.org/schemas/mtd/partitions/nvmem-cells.yaml# > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > > + > > > > +title: Nvmem cells > > > > + > > > > +description: | > > > > + Any partition containing the compatible "nvmem-cells" will register as a > > > > + nvmem provider. > > > > + Each direct subnodes represents a nvmem cell following the nvmem binding. > > > > + Nvmem binding to declare nvmem-cells can be found in: > > > > + Documentation/devicetree/bindings/nvmem/nvmem.yaml > > > > + > > > > +maintainers: > > > > + - Ansuel Smith <ansuelsmth@gmail.com> > > > > > > I think that when Rob wrote: > > > > > > On 10.03.2021 03:58, Rob Herring wrote: > > > > I think this should reference nvmem.yaml. > > > > > > he meant you using: > > > > > > allOf: > > > - $ref: "nvmem.yaml#" > > > > > > (you'll need to adjust binding path). > > > > > > Please check how it's done in Documentation/devicetree/bindings/nvmem/*.yaml files > > > > > > > > > > Aside from that, should I readd the old properties or I can keep the > > compatible as the only one required? > > What old properties do you mean? > > You shouldn't need to add anything to the list of "required" I think. > > Some NVMEM providers add "#address-cells" and "#size-cells". That makes > sense if NVMEM provider must provide at least 1 cell. I'm not sure if we > need that for MTD. > > Even "compatible" is actually redundant but most YAML files list it for > convenience. Source: > Thanks for the clarification, I sent the new version hoping the yaml documentation is now correct. > On 10.12.2020 03:48, Rob Herring wrote: > > And drop 'compatible' as required. It's redundant anyways because the > > schema will only be applied if compatible matches. > > http://lists.infradead.org/pipermail/linux-mtd/2020-December/084574.html > https://patchwork.ozlabs.org/comment/2597326/
On 10.03.2021 23:47, Ansuel Smith wrote: > On Wed, Mar 10, 2021 at 11:41:24PM +0100, Rafał Miłecki wrote: >> See inline >> >> On 10.03.2021 22:08, Ansuel Smith wrote: >>> Document nvmem-cells compatible used to treat mtd partitions as a >>> nvmem provider. >>> >>> Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> >>> --- >>> .../bindings/mtd/partitions/nvmem-cells.yaml | 96 +++++++++++++++++++ >>> 1 file changed, 96 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml b/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml >>> new file mode 100644 >>> index 000000000000..f70d7597a6b0 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml >>> @@ -0,0 +1,96 @@ >>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/mtd/partitions/nvmem-cells.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: Nvmem cells >>> + >>> +description: | >>> + Any partition containing the compatible "nvmem-cells" will register as a >>> + nvmem provider. >>> + Each direct subnodes represents a nvmem cell following the nvmem binding. >>> + Nvmem binding to declare nvmem-cells can be found in: >>> + Documentation/devicetree/bindings/nvmem/nvmem.yaml >>> + >>> +maintainers: >>> + - Ansuel Smith <ansuelsmth@gmail.com> >> >> I think that when Rob wrote: >> >> On 10.03.2021 03:58, Rob Herring wrote: >>> I think this should reference nvmem.yaml. >> >> he meant you using: >> >> allOf: >> - $ref: "nvmem.yaml#" >> >> (you'll need to adjust binding path). >> >> Please check how it's done in Documentation/devicetree/bindings/nvmem/*.yaml files >> >> > > Aside from that, should I readd the old properties or I can keep the > compatible as the only one required? What old properties do you mean? You shouldn't need to add anything to the list of "required" I think. Some NVMEM providers add "#address-cells" and "#size-cells". That makes sense if NVMEM provider must provide at least 1 cell. I'm not sure if we need that for MTD. Even "compatible" is actually redundant but most YAML files list it for convenience. Source: On 10.12.2020 03:48, Rob Herring wrote: > And drop 'compatible' as required. It's redundant anyways because the > schema will only be applied if compatible matches. http://lists.infradead.org/pipermail/linux-mtd/2020-December/084574.html https://patchwork.ozlabs.org/comment/2597326/
diff --git a/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml b/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml new file mode 100644 index 000000000000..f70d7597a6b0 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mtd/partitions/nvmem-cells.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Nvmem cells + +description: | + Any partition containing the compatible "nvmem-cells" will register as a + nvmem provider. + Each direct subnodes represents a nvmem cell following the nvmem binding. + Nvmem binding to declare nvmem-cells can be found in: + Documentation/devicetree/bindings/nvmem/nvmem.yaml + +maintainers: + - Ansuel Smith <ansuelsmth@gmail.com> + +properties: + compatible: + const: nvmem-cells + +required: + - compatible + +additionalProperties: true + +examples: + - | + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* ... */ + + }; + art: art@1200000 { + compatible = "nvmem-cells"; + reg = <0x1200000 0x0140000>; + label = "art"; + read-only; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_gmac1: macaddr_gmac1@0 { + reg = <0x0 0x6>; + }; + + macaddr_gmac2: macaddr_gmac2@6 { + reg = <0x6 0x6>; + }; + + pre_cal_24g: pre_cal_24g@1000 { + reg = <0x1000 0x2f20>; + }; + + pre_cal_5g: pre_cal_5g@5000{ + reg = <0x5000 0x2f20>; + }; + }; + - | + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bootloader"; + reg = <0x000000 0x100000>; + read-only; + }; + + firmware@100000 { + compatible = "brcm,trx"; + label = "firmware"; + reg = <0x100000 0xe00000>; + }; + + calibration@f00000 { + compatible = "nvmem-cells"; + label = "calibration"; + reg = <0xf00000 0x100000>; + ranges = <0 0xf00000 0x100000>; + #address-cells = <1>; + #size-cells = <1>; + + wifi0@0 { + reg = <0x000000 0x080000>; + }; + + wifi1@80000 { + reg = <0x080000 0x080000>; + }; + }; + };
Document nvmem-cells compatible used to treat mtd partitions as a nvmem provider. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> --- .../bindings/mtd/partitions/nvmem-cells.yaml | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml