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 <[email protected]>
---
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/[email protected]
---
.../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";
+ };
gpio {
compatible = "xlnx,zynqmp-gpio-modepin";
gpio-controller;
--
2.36.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 <[email protected]>
> ---
>
> 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/[email protected]
>
> ---
> .../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
>
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 <[email protected]>
>> ---
>>
>> 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/[email protected]
>>
>> ---
>> .../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
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 <[email protected]>
> > > ---
> > >
> > > 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/[email protected]
> > >
> > > ---
> > > .../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>;
> };
> };
> };