2 * dts file for Xilinx ZynqMP ZCU111
4 * (C) Copyright 2017, Xilinx, Inc.
6 * Michal Simek <michal.simek@xilinx.com>
8 * SPDX-License-Identifier: GPL-2.0+
13 #include "zynqmp.dtsi"
14 #include "zynqmp-clk-ccf.dtsi"
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
17 #include <dt-bindings/phy/phy.h>
20 model = "ZynqMP ZCU111 RevA";
21 compatible = "xlnx,zynqmp-zcu111-revA", "xlnx,zynqmp-zcu111", "xlnx,zynqmp";
37 bootargs = "earlycon";
38 stdout-path = "serial0:115200n8";
42 device_type = "memory";
43 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
44 /* Another 4GB connected to PL */
48 compatible = "gpio-keys";
54 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
55 linux,code = <108>; /* down */
62 compatible = "gpio-leds";
65 gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
66 linux,default-trigger = "heartbeat";
75 /* fpd_dma clk 667MHz, lpd_dma 500MHz */
110 phy-handle = <&phy0>;
111 phy-mode = "rgmii-id";
112 pinctrl-names = "default";
113 pinctrl-0 = <&pinctrl_gem3_default>;
116 ti,rx-internal-delay = <0x8>;
117 ti,tx-internal-delay = <0xa>;
118 ti,fifo-depth = <0x1>;
119 ti,rxctrl-strap-worka;
125 pinctrl-names = "default";
126 pinctrl-0 = <&pinctrl_gpio_default>;
135 clock-frequency = <400000>;
136 pinctrl-names = "default", "gpio";
137 pinctrl-0 = <&pinctrl_i2c0_default>;
138 pinctrl-1 = <&pinctrl_i2c0_gpio>;
139 scl-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
140 sda-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
142 tca6416_u22: gpio@20 {
143 compatible = "ti,tca6416";
145 gpio-controller; /* interrupt not connected */
151 * 1 - MAX6643_FANFAIL_B
152 * 2 - MIO26_PMU_INPUT_LS
153 * 4 - SFP_SI5382_INT_ALM
154 * 5 - IIC_MUX_RESET_B
155 * 6 - GEM3_EXP_RESET_B
156 * 10 - FMCP_HSPC_PRSNT_M2C_B
157 * 11 - CLK_SPI_MUX_SEL0
158 * 12 - CLK_SPI_MUX_SEL1
159 * 16 - IRPS5401_ALERT_B
160 * 17 - INA226_PMBUS_ALERT
161 * 3, 7, 13-15 - not connected
165 i2cswitch@75 { /* u23 */
166 compatible = "nxp,pca9544";
167 #address-cells = <1>;
170 i2c@0 { /* i2c mw 75 0 1 */
171 #address-cells = <1>;
175 /* PMBUS_ALERT done via pca9544 */
176 ina226@40 { /* u67 */
177 compatible = "ti,ina226";
179 shunt-resistor = <2000>;
181 ina226@41 { /* u59 */
182 compatible = "ti,ina226";
184 shunt-resistor = <5000>;
186 ina226@42 { /* u61 */
187 compatible = "ti,ina226";
189 shunt-resistor = <5000>;
191 ina226@43 { /* u60 */
192 compatible = "ti,ina226";
194 shunt-resistor = <5000>;
196 ina226@45 { /* u64 */
197 compatible = "ti,ina226";
199 shunt-resistor = <5000>;
201 ina226@46 { /* u69 */
202 compatible = "ti,ina226";
204 shunt-resistor = <2000>;
206 ina226@47 { /* u66 */
207 compatible = "ti,ina226";
209 shunt-resistor = <5000>;
211 ina226@48 { /* u65 */
212 compatible = "ti,ina226";
214 shunt-resistor = <5000>;
216 ina226@49 { /* u63 */
217 compatible = "ti,ina226";
219 shunt-resistor = <5000>;
222 compatible = "ti,ina226";
224 shunt-resistor = <5000>;
226 ina226@4b { /* u71 */
227 compatible = "ti,ina226";
229 shunt-resistor = <5000>;
231 ina226@4c { /* u77 */
232 compatible = "ti,ina226";
234 shunt-resistor = <5000>;
236 ina226@4d { /* u73 */
237 compatible = "ti,ina226";
239 shunt-resistor = <5000>;
241 ina226@4e { /* u79 */
242 compatible = "ti,ina226";
244 shunt-resistor = <5000>;
248 #address-cells = <1>;
253 i2c@2 { /* i2c mw 75 0 4 */
254 #address-cells = <1>;
257 irps5401_43: irps54012@43 { /* IRPS5401 - u53 check these */
259 compatible = "infineon,irps5401";
262 irps5401_44: irps54012@44 { /* IRPS5401 - u55 */
264 compatible = "infineon,irps5401";
267 irps5401_45: irps54012@45 { /* IRPS5401 - u57 */
269 compatible = "infineon,irps5401";
279 i2c@3 { /* i2c mw 75 0 8 */
280 #address-cells = <1>;
290 clock-frequency = <400000>;
291 pinctrl-names = "default", "gpio";
292 pinctrl-0 = <&pinctrl_i2c1_default>;
293 pinctrl-1 = <&pinctrl_i2c1_gpio>;
294 scl-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
295 sda-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
297 i2cswitch@74 { /* u26 */
298 compatible = "nxp,pca9548";
299 #address-cells = <1>;
302 i2c@0 { /* i2c mw 74 0 1 */
303 #address-cells = <1>;
307 * IIC_EEPROM 1kB memory which uses 256B blocks
308 * where every block has different address.
309 * 0 - 256B address 0x54
310 * 256B - 512B address 0x55
311 * 512B - 768B address 0x56
312 * 768B - 1024B address 0x57
314 eeprom: eeprom@54 { /* u88 */
315 compatible = "at,24c08";
319 i2c@1 { /* i2c mw 74 0 2 */
320 #address-cells = <1>;
323 si5341: clock-generator1@36 { /* SI5341 - u46 */
324 compatible = "si5341";
329 i2c@2 { /* i2c mw 74 0 4 */
330 #address-cells = <1>;
333 si570_1: clock-generator2@5d { /* USER SI570 - u47 */
335 compatible = "silabs,si570";
337 temperature-stability = <50>;
338 factory-fout = <300000000>;
339 clock-frequency = <300000000>;
342 i2c@3 { /* i2c mw 74 0 8 */
343 #address-cells = <1>;
346 si570_2: clock-generator3@5d { /* USER MGT SI570 - u49 */
348 compatible = "silabs,si570";
350 temperature-stability = <50>;
351 factory-fout = <156250000>;
352 clock-frequency = <148500000>;
355 i2c@4 { /* i2c mw 74 0 10 */
356 #address-cells = <1>;
359 si5328: clock-generator4@69 { /* SI5328 - u48 */
360 compatible = "silabs,si5328";
364 i2c@5 { /* i2c mw 74 0 11 */
365 #address-cells = <1>;
368 sc18is603@2f { /* sc18is602 - u93 */
369 compatible = "nxp,sc18is603";
371 /* 4 gpios for CS not handled by driver */
381 i2c@6 { /* i2c mw 74 0 11 */
382 #address-cells = <1>;
391 compatible = "nxp,pca9548"; /* u27 */
392 #address-cells = <1>;
397 #address-cells = <1>;
403 #address-cells = <1>;
409 #address-cells = <1>;
414 i2c@3 { /* i2c mw 75 0 8 */
415 #address-cells = <1>;
419 dev@19 { /* u-boot detection FIXME */
423 dev@30 { /* u-boot detection */
427 dev@35 { /* u-boot detection */
431 dev@36 { /* u-boot detection */
435 dev@51 { /* u-boot detection - maybe SPD */
441 #address-cells = <1>;
447 #address-cells = <1>;
453 #address-cells = <1>;
459 #address-cells = <1>;
469 pinctrl_i2c0_default: i2c0-default {
471 groups = "i2c0_3_grp";
476 groups = "i2c0_3_grp";
478 slew-rate = <SLEW_RATE_SLOW>;
479 io-standard = <IO_STANDARD_LVCMOS18>;
483 pinctrl_i2c0_gpio: i2c0-gpio {
485 groups = "gpio0_14_grp", "gpio0_15_grp";
490 groups = "gpio0_14_grp", "gpio0_15_grp";
491 slew-rate = <SLEW_RATE_SLOW>;
492 io-standard = <IO_STANDARD_LVCMOS18>;
496 pinctrl_i2c1_default: i2c1-default {
498 groups = "i2c1_4_grp";
503 groups = "i2c1_4_grp";
505 slew-rate = <SLEW_RATE_SLOW>;
506 io-standard = <IO_STANDARD_LVCMOS18>;
510 pinctrl_i2c1_gpio: i2c1-gpio {
512 groups = "gpio0_16_grp", "gpio0_17_grp";
517 groups = "gpio0_16_grp", "gpio0_17_grp";
518 slew-rate = <SLEW_RATE_SLOW>;
519 io-standard = <IO_STANDARD_LVCMOS18>;
523 pinctrl_uart0_default: uart0-default {
525 groups = "uart0_4_grp";
530 groups = "uart0_4_grp";
531 slew-rate = <SLEW_RATE_SLOW>;
532 io-standard = <IO_STANDARD_LVCMOS18>;
546 pinctrl_usb0_default: usb0-default {
548 groups = "usb0_0_grp";
553 groups = "usb0_0_grp";
554 slew-rate = <SLEW_RATE_SLOW>;
555 io-standard = <IO_STANDARD_LVCMOS18>;
559 pins = "MIO52", "MIO53", "MIO55";
564 pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
565 "MIO60", "MIO61", "MIO62", "MIO63";
570 pinctrl_gem3_default: gem3-default {
572 function = "ethernet3";
573 groups = "ethernet3_0_grp";
577 groups = "ethernet3_0_grp";
578 slew-rate = <SLEW_RATE_SLOW>;
579 io-standard = <IO_STANDARD_LVCMOS18>;
583 pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
590 pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
598 groups = "mdio3_0_grp";
602 groups = "mdio3_0_grp";
603 slew-rate = <SLEW_RATE_SLOW>;
604 io-standard = <IO_STANDARD_LVCMOS18>;
609 pinctrl_sdhci1_default: sdhci1-default {
611 groups = "sdio1_0_grp";
616 groups = "sdio1_0_grp";
617 slew-rate = <SLEW_RATE_SLOW>;
618 io-standard = <IO_STANDARD_LVCMOS18>;
623 groups = "sdio1_cd_0_grp";
624 function = "sdio1_cd";
628 groups = "sdio1_cd_0_grp";
631 slew-rate = <SLEW_RATE_SLOW>;
632 io-standard = <IO_STANDARD_LVCMOS18>;
636 pinctrl_gpio_default: gpio-default {
639 groups = "gpio0_22_grp", "gpio0_23_grp";
643 groups = "gpio0_22_grp", "gpio0_23_grp";
644 slew-rate = <SLEW_RATE_SLOW>;
645 io-standard = <IO_STANDARD_LVCMOS18>;
650 groups = "gpio0_13_grp", "gpio0_38_grp";
654 groups = "gpio0_13_grp", "gpio0_38_grp";
655 slew-rate = <SLEW_RATE_SLOW>;
656 io-standard = <IO_STANDARD_LVCMOS18>;
665 pins = "MIO13", "MIO23", "MIO38";
675 compatible = "m25p80"; /* 32MB */
676 #address-cells = <1>;
679 spi-tx-bus-width = <1>;
680 spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
681 spi-max-frequency = <108000000>; /* Based on DC1 spec */
682 partition@qspi-fsbl-uboot { /* for testing purpose */
683 label = "qspi-fsbl-uboot";
684 reg = <0x0 0x100000>;
686 partition@qspi-linux { /* for testing purpose */
687 label = "qspi-linux";
688 reg = <0x100000 0x500000>;
690 partition@qspi-device-tree { /* for testing purpose */
691 label = "qspi-device-tree";
692 reg = <0x600000 0x20000>;
694 partition@qspi-rootfs { /* for testing purpose */
695 label = "qspi-rootfs";
696 reg = <0x620000 0x5E0000>;
707 /* SATA OOB timing settings */
708 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
709 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
710 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
711 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
712 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
713 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
714 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
715 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
716 phy-names = "sata-phy";
717 phys = <&lane3 PHY_TYPE_SATA 1 3 125000000>;
720 /* SD1 with level shifter */
723 pinctrl-names = "default";
724 pinctrl-0 = <&pinctrl_sdhci1_default>;
736 pinctrl-names = "default";
737 pinctrl-0 = <&pinctrl_uart0_default>;
740 /* ULPI SMSC USB3320 */
743 pinctrl-names = "default";
744 pinctrl-0 = <&pinctrl_usb0_default>;
750 snps,usb3_lpm_capable;
751 phy-names = "usb3-phy";
752 phys = <&lane2 PHY_TYPE_USB3 0 2 26000000>;
757 phy-names = "dp-phy0", "dp-phy1";
758 phys = <&lane1 PHY_TYPE_DP 0 1 27000000>, <&lane0 PHY_TYPE_DP 1 1 27000000>;
761 &zynqmp_dp_snd_pcm0 {
765 &zynqmp_dp_snd_pcm1 {
769 &zynqmp_dp_snd_card0 {
773 &zynqmp_dp_snd_codec0 {