diff mbox series

dt-bindings: firmware: xilinx: Describe soc-vvmem subnode

Message ID 3869498c995cbb123127122f429e90de0a3f4014.1706531104.git.michal.simek@amd.com (mailing list archive)
State New, archived
Headers show
Series dt-bindings: firmware: xilinx: Describe soc-vvmem subnode | expand

Commit Message

Michal Simek Jan. 29, 2024, 12:25 p.m. UTC
Describe soc-nvmem subnode as the part of firmware node. The name can't be
pure nvmem because dt-schema already defines it as array property that's
why different name should be used.

Signed-off-by: Michal Simek <michal.simek@amd.com>
---

Dt binding for nvmem node has been already merged and it is the part of
linux-next tree.
Here is the reference to it just in case:
https://lore.kernel.org/r/170635581622.41421.8980881999042944764.b4-ty@linaro.org

---
 .../bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml   | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Conor Dooley Jan. 29, 2024, 4:57 p.m. UTC | #1
On Mon, Jan 29, 2024 at 01:25:06PM +0100, Michal Simek wrote:
> Describe soc-nvmem subnode as the part of firmware node. The name can't be
> pure nvmem because dt-schema already defines it as array property that's
> why different name should be used.
> 
> Signed-off-by: Michal Simek <michal.simek@amd.com>
> ---
> 
> Dt binding for nvmem node has been already merged and it is the part of
> linux-next tree.
> Here is the reference to it just in case:
> https://lore.kernel.org/r/170635581622.41421.8980881999042944764.b4-ty@linaro.org
> 
> ---
>  .../bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml   | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
> index 7586fbff7ad6..108772ef574f 100644
> --- a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
> +++ b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
> @@ -62,6 +62,12 @@ properties:
>        interface.
>      type: object
>  
> +  soc-nvmem:
> +    $ref: /schemas/nvmem/xlnx,zynqmp-nvmem.yaml#
> +    description: The ZynqMP MPSoC provides access to the hardware related data
> +      like SOC revision, IDCODE and specific purpose efuses.
> +    type: object
> +
>    pcap:
>      $ref: /schemas/fpga/xlnx,zynqmp-pcap-fpga.yaml
>      description: The ZynqMP SoC uses the PCAP (Processor Configuration Port) to
> @@ -110,6 +116,9 @@ examples:
>      firmware {
>        zynqmp_firmware: zynqmp-firmware {
>          #power-domain-cells = <1>;
> +        soc-nvmem {
> +          compatible = "xlnx,zynqmp-nvmem-fw";
> +        };

Would it not be better to have an actual nvmem-layout in here? The
~empty node here looks rather odd.

Also, there's a type in $subject of nvmem.

Thanks,
Conor.

>          gpio {
>            compatible = "xlnx,zynqmp-gpio-modepin";
>            gpio-controller;
> -- 
> 2.36.1
>
Michal Simek Jan. 30, 2024, 7:13 a.m. UTC | #2
On 1/29/24 17:57, Conor Dooley wrote:
> On Mon, Jan 29, 2024 at 01:25:06PM +0100, Michal Simek wrote:
>> Describe soc-nvmem subnode as the part of firmware node. The name can't be
>> pure nvmem because dt-schema already defines it as array property that's
>> why different name should be used.
>>
>> Signed-off-by: Michal Simek <michal.simek@amd.com>
>> ---
>>
>> Dt binding for nvmem node has been already merged and it is the part of
>> linux-next tree.
>> Here is the reference to it just in case:
>> https://lore.kernel.org/r/170635581622.41421.8980881999042944764.b4-ty@linaro.org
>>
>> ---
>>   .../bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml   | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
>> index 7586fbff7ad6..108772ef574f 100644
>> --- a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
>> +++ b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
>> @@ -62,6 +62,12 @@ properties:
>>         interface.
>>       type: object
>>   
>> +  soc-nvmem:
>> +    $ref: /schemas/nvmem/xlnx,zynqmp-nvmem.yaml#
>> +    description: The ZynqMP MPSoC provides access to the hardware related data
>> +      like SOC revision, IDCODE and specific purpose efuses.
>> +    type: object
>> +
>>     pcap:
>>       $ref: /schemas/fpga/xlnx,zynqmp-pcap-fpga.yaml
>>       description: The ZynqMP SoC uses the PCAP (Processor Configuration Port) to
>> @@ -110,6 +116,9 @@ examples:
>>       firmware {
>>         zynqmp_firmware: zynqmp-firmware {
>>           #power-domain-cells = <1>;
>> +        soc-nvmem {
>> +          compatible = "xlnx,zynqmp-nvmem-fw";
>> +        };
> 
> Would it not be better to have an actual nvmem-layout in here? The
> ~empty node here looks rather odd.

No issue. Do you want full or just nvmem-layout with compatible string (which is
required)?
        soc-nvmem {
            compatible = "xlnx,zynqmp-nvmem-fw";
            nvmem-layout {
                compatible = "fixed-layout";
                #address-cells = <1>;
                #size-cells = <1>;

                soc_revision: soc-revision@0 {
                    reg = <0x0 0x4>;
                };
            };
        };


> 
> Also, there's a type in $subject of nvmem.

will fix.

Thanks,
Michal
Conor Dooley Jan. 30, 2024, 4:55 p.m. UTC | #3
On Tue, Jan 30, 2024 at 08:13:09AM +0100, Michal Simek wrote:
> 
> 
> On 1/29/24 17:57, Conor Dooley wrote:
> > On Mon, Jan 29, 2024 at 01:25:06PM +0100, Michal Simek wrote:
> > > Describe soc-nvmem subnode as the part of firmware node. The name can't be
> > > pure nvmem because dt-schema already defines it as array property that's
> > > why different name should be used.
> > > 
> > > Signed-off-by: Michal Simek <michal.simek@amd.com>
> > > ---
> > > 
> > > Dt binding for nvmem node has been already merged and it is the part of
> > > linux-next tree.
> > > Here is the reference to it just in case:
> > > https://lore.kernel.org/r/170635581622.41421.8980881999042944764.b4-ty@linaro.org
> > > 
> > > ---
> > >   .../bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml   | 9 +++++++++
> > >   1 file changed, 9 insertions(+)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
> > > index 7586fbff7ad6..108772ef574f 100644
> > > --- a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
> > > +++ b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
> > > @@ -62,6 +62,12 @@ properties:
> > >         interface.
> > >       type: object
> > > +  soc-nvmem:
> > > +    $ref: /schemas/nvmem/xlnx,zynqmp-nvmem.yaml#
> > > +    description: The ZynqMP MPSoC provides access to the hardware related data
> > > +      like SOC revision, IDCODE and specific purpose efuses.
> > > +    type: object
> > > +
> > >     pcap:
> > >       $ref: /schemas/fpga/xlnx,zynqmp-pcap-fpga.yaml
> > >       description: The ZynqMP SoC uses the PCAP (Processor Configuration Port) to
> > > @@ -110,6 +116,9 @@ examples:
> > >       firmware {
> > >         zynqmp_firmware: zynqmp-firmware {
> > >           #power-domain-cells = <1>;
> > > +        soc-nvmem {
> > > +          compatible = "xlnx,zynqmp-nvmem-fw";
> > > +        };
> > 
> > Would it not be better to have an actual nvmem-layout in here? The
> > ~empty node here looks rather odd.
> 
> No issue. Do you want full or just nvmem-layout with compatible string (which is
> required)?


What you have below here seems like a much more useful example. I'd go
with that.

Cheers,
Conor.

>        soc-nvmem {
>            compatible = "xlnx,zynqmp-nvmem-fw";
>            nvmem-layout {
>                compatible = "fixed-layout";
>                #address-cells = <1>;
>                #size-cells = <1>;
> 
>                soc_revision: soc-revision@0 {
>                    reg = <0x0 0x4>;
>                };
>            };
>        };
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
index 7586fbff7ad6..108772ef574f 100644
--- a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
+++ b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
@@ -62,6 +62,12 @@  properties:
       interface.
     type: object
 
+  soc-nvmem:
+    $ref: /schemas/nvmem/xlnx,zynqmp-nvmem.yaml#
+    description: The ZynqMP MPSoC provides access to the hardware related data
+      like SOC revision, IDCODE and specific purpose efuses.
+    type: object
+
   pcap:
     $ref: /schemas/fpga/xlnx,zynqmp-pcap-fpga.yaml
     description: The ZynqMP SoC uses the PCAP (Processor Configuration Port) to
@@ -110,6 +116,9 @@  examples:
     firmware {
       zynqmp_firmware: zynqmp-firmware {
         #power-domain-cells = <1>;
+        soc-nvmem {
+          compatible = "xlnx,zynqmp-nvmem-fw";
+        };
         gpio {
           compatible = "xlnx,zynqmp-gpio-modepin";
           gpio-controller;