xref: /freebsd/sys/contrib/device-tree/Bindings/nvmem/xlnx,zynqmp-nvmem.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot--------------------------------------------------------------------------
2*c66ec88fSEmmanuel Vadot=  Zynq UltraScale+ MPSoC nvmem firmware driver binding =
3*c66ec88fSEmmanuel Vadot--------------------------------------------------------------------------
4*c66ec88fSEmmanuel VadotThe nvmem_firmware node provides access to the hardware related data
5*c66ec88fSEmmanuel Vadotlike soc revision, IDCODE... etc, By using the firmware interface.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotRequired properties:
8*c66ec88fSEmmanuel Vadot- compatible: should be "xlnx,zynqmp-nvmem-fw"
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel Vadot= Data cells =
11*c66ec88fSEmmanuel VadotAre child nodes of silicon id, bindings of which as described in
12*c66ec88fSEmmanuel Vadotbindings/nvmem/nvmem.txt
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel Vadot-------
15*c66ec88fSEmmanuel Vadot Example
16*c66ec88fSEmmanuel Vadot-------
17*c66ec88fSEmmanuel Vadotfirmware {
18*c66ec88fSEmmanuel Vadot	zynqmp_firmware: zynqmp-firmware {
19*c66ec88fSEmmanuel Vadot		compatible = "xlnx,zynqmp-firmware";
20*c66ec88fSEmmanuel Vadot		method = "smc";
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot		nvmem_firmware {
23*c66ec88fSEmmanuel Vadot			compatible = "xlnx,zynqmp-nvmem-fw";
24*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
25*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot			/* Data cells */
28*c66ec88fSEmmanuel Vadot			soc_revision: soc_revision {
29*c66ec88fSEmmanuel Vadot				reg = <0x0 0x4>;
30*c66ec88fSEmmanuel Vadot			};
31*c66ec88fSEmmanuel Vadot		};
32*c66ec88fSEmmanuel Vadot	};
33*c66ec88fSEmmanuel Vadot};
34*c66ec88fSEmmanuel Vadot
35*c66ec88fSEmmanuel Vadot= Data consumers =
36*c66ec88fSEmmanuel VadotAre device nodes which consume nvmem data cells.
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel VadotFor example:
39*c66ec88fSEmmanuel Vadot	pcap {
40*c66ec88fSEmmanuel Vadot		...
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot		nvmem-cells = <&soc_revision>;
43*c66ec88fSEmmanuel Vadot		nvmem-cell-names = "soc_revision";
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel Vadot		...
46*c66ec88fSEmmanuel Vadot	};
47