2 * dts file for Xilinx ZynqMP ZCU102
4 * (C) Copyright 2015, Xilinx, Inc.
6 * Michal Simek <michal.simek@xilinx.com>
8 * SPDX-License-Identifier: GPL-2.0+
13 #include "zynqmp.dtsi"
14 #include "zynqmp-clk.dtsi"
17 model = "ZynqMP ZCU102 RevA";
18 compatible = "xlnx,zynqmp-zcu102", "xlnx,zynqmp";
34 bootargs = "earlycon";
35 stdout-path = "serial0:115200n8";
39 device_type = "memory";
40 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
48 /* fpd_dma clk 667MHz, lpd_dma 500MHz */
51 xlnx,include-sg; /* for testing purpose */
52 xlnx,overfetch; /* for testing purpose */
53 xlnx,ratectrl = <0>; /* for testing purpose */
54 xlnx,src-issue = <31>;
59 xlnx,ratectrl = <100>; /* for testing purpose */
60 xlnx,src-issue = <4>; /* for testing purpose */
69 xlnx,include-sg; /* for testing purpose */
78 xlnx,include-sg; /* for testing purpose */
87 xlnx,include-sg; /* for testing purpose */
92 local-mac-address = [00 0a 35 00 02 90];
94 phy-mode = "rgmii-id";
97 ti,rx-internal-delay = <0x8>;
98 ti,tx-internal-delay = <0xa>;
99 ti,fifo-depth = <0x1>;
113 clock-frequency = <400000>;
115 tca6416_u97: gpio@20 {
117 * Enable all GTs to out from U-Boot
118 * i2c mw 20 6 0 - setup IO to output
119 * i2c mw 20 2 ef - setup output values on pins 0-7
120 * i2c mw 20 3 ff - setup output values on pins 10-17
122 compatible = "ti,tca6416";
129 * 0 - PS_GTR_LAN_SEL0
130 * 1 - PS_GTR_LAN_SEL1
131 * 2 - PS_GTR_LAN_SEL2
132 * 3 - PS_GTR_LAN_SEL3
133 * 4 - PCI_CLK_DIR_SEL
134 * 5 - IIC_MUX_RESET_B
135 * 6 - GEM3_EXP_RESET_B
136 * 7, 10 - 17 - not connected
142 output-high; /* PCIE = 0, DP = 1 */
148 output-high; /* PCIE = 0, DP = 1 */
154 output-high; /* PCIE = 0, USB0 = 1 */
160 output-high; /* PCIE = 0, SATA = 1 */
165 tca6416_u61: gpio@21 { /* FIXME enable it by i2c mw 21 6 0 */
166 compatible = "ti,tca6416";
177 * 4 - MIO26_PMU_INPUT_LS
180 * 7 - MAXIM_PMBUS_ALERT
181 * 10 - PL_DDR4_VTERM_EN
182 * 11 - PL_DDR4_VPP_2V5_EN
183 * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON
184 * 13 - PS_DIMM_SUSPEND_EN
185 * 14 - PS_DDR4_VTERM_EN
186 * 15 - PS_DDR4_VPP_2V5_EN
187 * 16 - 17 - not connected
191 i2cswitch@75 { /* u60 */
192 compatible = "nxp,pca9544";
193 #address-cells = <1>;
196 i2c@0 { /* i2c mw 75 0 1 */
197 #address-cells = <1>;
201 ina226@40 { /* u76 */
202 compatible = "ti,ina226";
204 shunt-resistor = <5000>;
206 ina226@41 { /* u77 */
207 compatible = "ti,ina226";
209 shunt-resistor = <5000>;
211 ina226@42 { /* u78 */
212 compatible = "ti,ina226";
214 shunt-resistor = <5000>;
216 ina226@43 { /* u87 */
217 compatible = "ti,ina226";
219 shunt-resistor = <5000>;
221 ina226@44 { /* u85 */
222 compatible = "ti,ina226";
224 shunt-resistor = <5000>;
226 ina226@45 { /* u86 */
227 compatible = "ti,ina226";
229 shunt-resistor = <5000>;
231 ina226@46 { /* u93 */
232 compatible = "ti,ina226";
234 shunt-resistor = <5000>;
236 ina226@47 { /* u88 */
237 compatible = "ti,ina226";
239 shunt-resistor = <5000>;
241 ina226@4a { /* u15 */
242 compatible = "ti,ina226";
244 shunt-resistor = <5000>;
246 ina226@4b { /* u92 */
247 compatible = "ti,ina226";
249 shunt-resistor = <5000>;
252 i2c@1 { /* i2c mw 75 0 1 */
253 #address-cells = <1>;
257 ina226@40 { /* u79 */
258 compatible = "ti,ina226";
260 shunt-resistor = <2000>;
262 ina226@41 { /* u81 */
263 compatible = "ti,ina226";
265 shunt-resistor = <5000>;
267 ina226@42 { /* u80 */
268 compatible = "ti,ina226";
270 shunt-resistor = <5000>;
272 ina226@43 { /* u84 */
273 compatible = "ti,ina226";
275 shunt-resistor = <5000>;
277 ina226@44 { /* u16 */
278 compatible = "ti,ina226";
280 shunt-resistor = <5000>;
282 ina226@45 { /* u65 */
283 compatible = "ti,ina226";
285 shunt-resistor = <5000>;
287 ina226@46 { /* u74 */
288 compatible = "ti,ina226";
290 shunt-resistor = <5000>;
292 ina226@47 { /* u75 */
293 compatible = "ti,ina226";
295 shunt-resistor = <5000>;
298 i2c@2 { /* i2c mw 75 0 1 */
299 #address-cells = <1>;
302 /* MAXIM_PMBUS - 00 */
303 max15301@a { /* u46 */
304 compatible = "max15301";
307 max15303@b { /* u4 */
308 compatible = "max15303";
311 max15303@10 { /* u13 */
312 compatible = "max15303";
315 max15301@13 { /* u47 */
316 compatible = "max15301";
319 max15303@14 { /* u7 */
320 compatible = "max15303";
323 max15303@15 { /* u6 */
324 compatible = "max15303";
327 max15303@16 { /* u10 */
328 compatible = "max15303";
331 max15303@17 { /* u9 */
332 compatible = "max15303";
335 max15301@18 { /* u63 */
336 compatible = "max15301";
339 max15303@1a { /* u49 */
340 compatible = "max15303";
343 max15303@1d { /* u18 */
344 compatible = "max15303";
347 max15303@20 { /* u8 */
348 compatible = "max15303";
349 status = "disabled"; /* unreachable */
353 /* drivers/hwmon/pmbus/Kconfig:86: be called max20751.
354 drivers/hwmon/pmbus/Makefile:11:obj-$(CONFIG_SENSORS_MAX20751) += max20751.o
356 max20751@72 { /* u95 FIXME - not detected */
357 compatible = "max20751";
360 max20751@73 { /* u96 FIXME - not detected */
361 compatible = "max20751";
365 /* Bus 3 is not connected */
368 /* FIXME PL connection - u55 , PMOD - j160 */
369 /* FIXME MSP430F - u41 - not detected */
374 clock-frequency = <400000>;
375 /* FIXME PL i2c via PCA9306 - u45 */
376 /* FIXME MSP430 - u41 - not detected */
377 i2cswitch@74 { /* u34 */
378 compatible = "nxp,pca9548";
379 #address-cells = <1>;
382 i2c@0 { /* i2c mw 74 0 1 */
383 #address-cells = <1>;
387 * IIC_EEPROM 1kB memory which uses 256B blocks
388 * where every block has different address.
389 * 0 - 256B address 0x54
390 * 256B - 512B address 0x55
391 * 512B - 768B address 0x56
392 * 768B - 1024B address 0x57
394 eeprom@54 { /* u23 */
395 compatible = "at,24c08";
399 i2c@1 { /* i2c mw 74 0 2 */
400 #address-cells = <1>;
403 si5341: clock-generator1@36 { /* SI5341 - u69 */
404 compatible = "si5341";
409 i2c@2 { /* i2c mw 74 0 4 */
410 #address-cells = <1>;
413 si570_1: clock-generator2@5d { /* USER SI570 - u42 */
415 compatible = "silabs,si570";
417 temperature-stability = <50>;
418 factory-fout = <300000000>;
419 clock-frequency = <300000000>;
422 i2c@3 { /* i2c mw 74 0 8 */
423 #address-cells = <1>;
426 si570_2: clock-generator3@5d { /* USER MGT SI570 - u56 */
428 compatible = "silabs,si570";
430 temperature-stability = <50>; /* copy from zc702 */
431 factory-fout = <156250000>;
432 clock-frequency = <148500000>;
435 i2c@4 { /* i2c mw 74 0 10 */
436 #address-cells = <1>;
439 si5328: clock-generator4@69 {/* SI5328 - u20 */
440 compatible = "silabs,si5328";
444 /* 5 - 7 unconnected */
448 compatible = "nxp,pca9548"; /* u135 */
449 #address-cells = <1>;
454 #address-cells = <1>;
460 #address-cells = <1>;
466 #address-cells = <1>;
471 i2c@3 { /* i2c mw 75 0 8 */
472 #address-cells = <1>;
476 dev@19 { /* u-boot detection */
480 dev@30 { /* u-boot detection */
484 dev@35 { /* u-boot detection */
488 dev@36 { /* u-boot detection */
492 dev@51 { /* u-boot detection - maybe SPD */
498 #address-cells = <1>;
504 #address-cells = <1>;
510 #address-cells = <1>;
516 #address-cells = <1>;
525 /* status = "okay"; */
532 compatible = "m25p80"; /* 32MB */
533 #address-cells = <1>;
536 spi-tx-bus-width = <1>;
537 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
538 spi-max-frequency = <108000000>; /* Based on DC1 spec */
539 partition@qspi-fsbl-uboot { /* for testing purpose */
540 label = "qspi-fsbl-uboot";
541 reg = <0x0 0x100000>;
543 partition@qspi-linux { /* for testing purpose */
544 label = "qspi-linux";
545 reg = <0x100000 0x500000>;
547 partition@qspi-device-tree { /* for testing purpose */
548 label = "qspi-device-tree";
549 reg = <0x600000 0x20000>;
551 partition@qspi-rootfs { /* for testing purpose */
552 label = "qspi-rootfs";
553 reg = <0x620000 0x5E0000>;
564 /* SATA OOB timing settings */
565 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
566 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
567 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
568 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
569 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
570 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
571 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
572 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
575 /* SD1 with level shifter */
578 no-1-8-v; /* for 1.0 silicon */
589 /* ULPI SMSC USB3320 */
625 &xlnx_dp_snd_codec0 {