Re: [PATCH 2/5] dt-bindings: nvmem: Convert xlnx,zynqmp-nvmem.txt to yaml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 10/13/23 15:10, Krzysztof Kozlowski wrote:
On 13/10/2023 15:06, Michal Simek wrote:


On 10/13/23 14:54, Krzysztof Kozlowski wrote:
On 13/10/2023 14:08, Michal Simek wrote:


On 10/13/23 13:58, Krzysztof Kozlowski wrote:
On 13/10/2023 13:51, Michal Simek wrote:


On 10/13/23 13:46, Krzysztof Kozlowski wrote:
On 13/10/2023 13:22, Michal Simek wrote:

+
+required:
+  - compatible

required: block goes after patternProperties: block

+
+patternProperties:
+  "^soc_revision@0$":

Why do you define individual memory cells? Is this part of a binding?
IOW, OS/Linux requires this?

nvmem has in kernel interface where you can reference to nodes. nvmem_cell_get()
calls. It means you should be able to describe internal layout that's why names
are used. And address in name is there because of reg property is used to
describe base offset and size.

That's not really what I am asking. Why internal layout of memory must
be part of the bindings?

It doesn't need to be but offsets are hardcoded inside the driver itself and
they can't be different.

Hm, where? I opened drivers/nvmem/zynqmp_nvmem.c and I do not see any
hard-coded offsets.

Current driver supports only soc revision from offset 0.
But if you look at 5/5 you need to define offsets where information is present.
+#define SOC_VERSION_OFFSET	0x0
+#define EFUSE_START_OFFSET	0xC
+#define EFUSE_END_OFFSET	0xFC
+#define EFUSE_PUF_START_OFFSET	0x100
+#define EFUSE_PUF_MID_OFFSET	0x140
+#define EFUSE_PUF_END_OFFSET	0x17F

There is nothing like this in existing driver, so the argument that "I
am adding this to the binding during conversion because driver needs it"
is not true. Conversion is only a conversion.

Conversion in 2/5 is adding only soc revision which is already there. It is
starting from 0 and world size is 1. And 0 is not listed because that's start
all the time.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/nvmem/zynqmp_nvmem.c?h=v6.6-rc5#n39

This defines the nvmem config, not what should be where.

If you have only one entry you are also saying where it is.

Thanks,
Michal




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux