Messages in this thread | | | Date | Fri, 13 Oct 2023 11:23:03 -0500 | From | Rob Herring <> | Subject | Re: [PATCH 2/5] dt-bindings: nvmem: Convert xlnx,zynqmp-nvmem.txt to yaml |
| |
On Fri, Oct 13, 2023 at 03:44:47PM +0530, Praveen Teja Kundanala wrote: > Convert the xlnx,zynqmp-nvmem.txt to yaml. > > Signed-off-by: Praveen Teja Kundanala <praveen.teja.kundanala@amd.com> > --- > .../bindings/nvmem/xlnx,zynqmp-nvmem.txt | 46 --------------- > .../bindings/nvmem/xlnx,zynqmp-nvmem.yaml | 59 +++++++++++++++++++ > 2 files changed, 59 insertions(+), 46 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt > create mode 100644 Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.yaml > > diff --git a/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt b/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt > deleted file mode 100644 > index 4881561b3a02..000000000000 > --- a/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt > +++ /dev/null > @@ -1,46 +0,0 @@ > --------------------------------------------------------------------------- > -= Zynq UltraScale+ MPSoC nvmem firmware driver binding = > --------------------------------------------------------------------------- > -The nvmem_firmware node provides access to the hardware related data > -like soc revision, IDCODE... etc, By using the firmware interface. > - > -Required properties: > -- compatible: should be "xlnx,zynqmp-nvmem-fw" > - > -= Data cells = > -Are child nodes of silicon id, bindings of which as described in > -bindings/nvmem/nvmem.txt > - > -------- > - Example > -------- > -firmware { > - zynqmp_firmware: zynqmp-firmware { > - compatible = "xlnx,zynqmp-firmware"; > - method = "smc"; > - > - nvmem_firmware { > - compatible = "xlnx,zynqmp-nvmem-fw"; > - #address-cells = <1>; > - #size-cells = <1>; > - > - /* Data cells */ > - soc_revision: soc_revision { > - reg = <0x0 0x4>; > - }; > - }; > - }; > -}; > - > -= Data consumers = > -Are device nodes which consume nvmem data cells. > - > -For example: > - pcap { > - ... > - > - nvmem-cells = <&soc_revision>; > - nvmem-cell-names = "soc_revision"; > - > - ... > - }; > diff --git a/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.yaml b/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.yaml > new file mode 100644 > index 000000000000..e03ed8c32537 > --- /dev/null > +++ b/Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.yaml > @@ -0,0 +1,59 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/nvmem/xlnx,zynqmp-nvmem.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Zynq UltraScale+ MPSoC Non Volatile Memory interface > + > +description: | > + The ZynqMP MPSoC provides access to the hardware related data > + like SOC revision, IDCODE. > + > +maintainers: > + - Kalyani Akula <kalyani.akula@amd.com> > + - Praveen Teja Kundanala <praveen.teja.kundanala@amd.com> > + > +allOf: > + - $ref: "nvmem.yaml#" > + > +properties: > + compatible: > + const: xlnx,zynqmp-nvmem-fw > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 1 > + > +required: > + - compatible > + > +patternProperties: > + "^soc_revision@0$":
Fixed string, not a pattern. dtschema will now flag this. Thanks for the test case. ;)
> + type: object
Needs 'additionalProperties' or...
> + description: > + This node is used to read SOC version and IDCODE of ZynqMP. Read-only. > +
> + properties: > + reg: > + maxItems: 1 > + > + required: > + - reg
fixed-cell.yaml (via nvmem.yaml) already says this, so this can all be dropped. Except that this[1] just landed, so you will need to adapt to it.
Though there is an issue that fixed-cell.yaml doesn't restrict the allowed properties, so that needs to happen somewhere... Not sure what the fix is. Hopefully fixed-cell.yaml can just be changed to 'additionalProperties: false', but need to see if other properties are in use.
Rob
[1] https://lore.kernel.org/all/169667333484.74178.7121029453685069845.b4-ty@linaro.org/
| |