Re: [PATCH] dt-bindings: firmware: xilinx: Describe soc-vvmem subnode

From: Michal Simek
Date: Tue Jan 30 2024 - 02:13:34 EST




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@xxxxxxx>
---

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@xxxxxxxxxx

---
.../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