1 // SPDX-License-Identifier: GPL-2.0+
3 * dts file for Xilinx ZynqMP ZCU100 revC
5 * (C) Copyright 2016 - 2021, Xilinx, Inc.
7 * Michal Simek <michal.simek@xilinx.com>
8 * Nathalie Chan King Choy
13 #include "zynqmp.dtsi"
14 #include "zynqmp-clk-ccf.dtsi"
15 #include <dt-bindings/input/input.h>
16 #include <dt-bindings/interrupt-controller/irq.h>
17 #include <dt-bindings/gpio/gpio.h>
18 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
19 #include <dt-bindings/phy/phy.h>
22 model = "ZynqMP ZCU100 RevC";
23 compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp";
40 bootargs = "earlycon";
41 stdout-path = "serial0:115200n8";
45 device_type = "memory";
46 reg = <0x0 0x0 0x0 0x80000000>;
50 compatible = "gpio-keys";
54 gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
55 linux,code = <KEY_POWER>;
62 compatible = "iio-hwmon";
63 io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>,
64 <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>,
65 <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>,
66 <&xilinx_ams 9>, <&xilinx_ams 10>,
67 <&xilinx_ams 11>, <&xilinx_ams 12>;
71 compatible = "gpio-leds";
74 gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
75 linux,default-trigger = "heartbeat";
80 gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
81 linux,default-trigger = "phy0tx"; /* WLAN tx */
82 default-state = "off";
87 gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
88 linux,default-trigger = "phy0rx"; /* WLAN rx */
89 default-state = "off";
94 gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
95 linux,default-trigger = "bluetooth-power";
98 vbus-det { /* U5 USB5744 VBUS detection via MIO25 */
100 gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
101 default-state = "on";
105 ltc2954: ltc2954 { /* U7 */
106 compatible = "lltc,ltc2954", "lltc,ltc2952";
108 trigger-gpios = <&gpio 26 GPIO_ACTIVE_LOW>; /* INT line - input */
109 /* If there is HW watchdog on mezzanine this signal should be connected there */
110 watchdog-gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; /* MIO on PAD */
111 kill-gpios = <&gpio 34 GPIO_ACTIVE_LOW>; /* KILL signal - output */
114 wmmcsdio_fixed: fixedregulator-mmcsdio {
115 compatible = "regulator-fixed";
116 regulator-name = "wmmcsdio_fixed";
117 regulator-min-microvolt = <3300000>;
118 regulator-max-microvolt = <3300000>;
123 sdio_pwrseq: sdio-pwrseq {
124 compatible = "mmc-pwrseq-simple";
125 reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
126 post-power-on-delay-ms = <10>;
130 compatible = "iio-hwmon";
131 io-channels = <&u35 0>, <&u35 1>, <&u35 2>, <&u35 3>;
134 si5335_0: si5335_0 { /* clk0_usb - u23 */
135 compatible = "fixed-clock";
137 clock-frequency = <26000000>;
140 si5335_1: si5335_1 { /* clk1_dp - u23 */
141 compatible = "fixed-clock";
143 clock-frequency = <27000000>;
153 gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
154 "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
155 "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
156 "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
157 "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
158 "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
159 "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
160 "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
161 "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
162 "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
163 "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
164 "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
165 "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
166 "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
167 "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
168 "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
170 "", "", "", "", "", "", "", "", "", "",
171 "", "", "", "", "", "", "", "", "", "",
172 "", "", "", "", "", "", "", "", "", "",
173 "", "", "", "", "", "", "", "", "", "",
174 "", "", "", "", "", "", "", "", "", "",
175 "", "", "", "", "", "", "", "", "", "",
176 "", "", "", "", "", "", "", "", "", "",
177 "", "", "", "", "", "", "", "", "", "",
178 "", "", "", "", "", "", "", "", "", "",
188 pinctrl-names = "default", "gpio";
189 pinctrl-0 = <&pinctrl_i2c1_default>;
190 pinctrl-1 = <&pinctrl_i2c1_gpio>;
191 scl-gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
192 sda-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
193 clock-frequency = <100000>;
194 i2c-mux@75 { /* u11 */
195 compatible = "nxp,pca9548";
196 #address-cells = <1>;
200 #address-cells = <1>;
206 #address-cells = <1>;
212 #address-cells = <1>;
218 #address-cells = <1>;
224 #address-cells = <1>;
228 pmic: pmic@5e { /* Custom TI PMIC u33 */
229 compatible = "ti,tps65086";
231 interrupt-parent = <&gpio>;
232 interrupts = <77 IRQ_TYPE_LEVEL_LOW>;
238 #address-cells = <1>;
242 u35: ina226@40 { /* u35 */
243 compatible = "ti,ina226";
244 #io-channel-cells = <1>;
246 shunt-resistor = <10000>;
247 /* MIO31 is alert which should be routed to PMUFW */
251 #address-cells = <1>;
259 #address-cells = <1>;
264 * 100kHz - this is default freq for us
272 pinctrl_i2c1_default: i2c1-default {
274 groups = "i2c1_1_grp";
279 groups = "i2c1_1_grp";
281 slew-rate = <SLEW_RATE_SLOW>;
282 power-source = <IO_STANDARD_LVCMOS18>;
286 pinctrl_i2c1_gpio: i2c1-gpio {
288 groups = "gpio0_4_grp", "gpio0_5_grp";
293 groups = "gpio0_4_grp", "gpio0_5_grp";
294 slew-rate = <SLEW_RATE_SLOW>;
295 power-source = <IO_STANDARD_LVCMOS18>;
299 pinctrl_sdhci0_default: sdhci0-default {
301 groups = "sdio0_3_grp";
306 groups = "sdio0_3_grp";
307 slew-rate = <SLEW_RATE_SLOW>;
308 power-source = <IO_STANDARD_LVCMOS18>;
313 groups = "sdio0_cd_0_grp";
314 function = "sdio0_cd";
318 groups = "sdio0_cd_0_grp";
321 slew-rate = <SLEW_RATE_SLOW>;
322 power-source = <IO_STANDARD_LVCMOS18>;
326 pinctrl_sdhci1_default: sdhci1-default {
328 groups = "sdio1_2_grp";
333 groups = "sdio1_2_grp";
334 slew-rate = <SLEW_RATE_SLOW>;
335 power-source = <IO_STANDARD_LVCMOS18>;
340 pinctrl_spi0_default: spi0-default {
342 groups = "spi0_3_grp";
347 groups = "spi0_3_grp";
349 slew-rate = <SLEW_RATE_SLOW>;
350 power-source = <IO_STANDARD_LVCMOS18>;
354 groups = "spi0_ss_9_grp";
355 function = "spi0_ss";
359 groups = "spi0_ss_9_grp";
365 pinctrl_spi1_default: spi1-default {
367 groups = "spi1_0_grp";
372 groups = "spi1_0_grp";
374 slew-rate = <SLEW_RATE_SLOW>;
375 power-source = <IO_STANDARD_LVCMOS18>;
379 groups = "spi1_ss_0_grp";
380 function = "spi1_ss";
384 groups = "spi1_ss_0_grp";
390 pinctrl_uart0_default: uart0-default {
392 groups = "uart0_0_grp";
397 groups = "uart0_0_grp";
398 slew-rate = <SLEW_RATE_SLOW>;
399 power-source = <IO_STANDARD_LVCMOS18>;
413 pinctrl_uart1_default: uart1-default {
415 groups = "uart1_0_grp";
420 groups = "uart1_0_grp";
421 slew-rate = <SLEW_RATE_SLOW>;
422 power-source = <IO_STANDARD_LVCMOS18>;
436 pinctrl_usb0_default: usb0-default {
438 groups = "usb0_0_grp";
443 groups = "usb0_0_grp";
444 slew-rate = <SLEW_RATE_SLOW>;
445 power-source = <IO_STANDARD_LVCMOS18>;
449 pins = "MIO52", "MIO53", "MIO55";
454 pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
455 "MIO60", "MIO61", "MIO62", "MIO63";
460 pinctrl_usb1_default: usb1-default {
462 groups = "usb1_0_grp";
467 groups = "usb1_0_grp";
468 slew-rate = <SLEW_RATE_SLOW>;
469 power-source = <IO_STANDARD_LVCMOS18>;
473 pins = "MIO64", "MIO65", "MIO67";
478 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
479 "MIO72", "MIO73", "MIO74", "MIO75";
488 clocks = <&si5335_0>, <&si5335_1>;
489 clock-names = "ref0", "ref1";
496 /* SD0 only supports 3.3V, no level shifter */
501 pinctrl-names = "default";
502 pinctrl-0 = <&pinctrl_sdhci0_default>;
509 pinctrl-names = "default";
510 pinctrl-0 = <&pinctrl_sdhci1_default>;
515 mmc-pwrseq = <&sdio_pwrseq>;
516 vqmmc-supply = <&wmmcsdio_fixed>;
517 #address-cells = <1>;
520 compatible = "ti,wl1831";
522 interrupt-parent = <&gpio>;
523 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
527 &spi0 { /* Low Speed connector */
531 pinctrl-names = "default";
532 pinctrl-0 = <&pinctrl_spi0_default>;
535 &spi1 { /* High Speed connector */
539 pinctrl-names = "default";
540 pinctrl-0 = <&pinctrl_spi1_default>;
545 pinctrl-names = "default";
546 pinctrl-0 = <&pinctrl_uart0_default>;
548 compatible = "ti,wl1831-st";
549 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
555 pinctrl-names = "default";
556 pinctrl-0 = <&pinctrl_uart1_default>;
559 /* ULPI SMSC USB3320 */
562 pinctrl-names = "default";
563 pinctrl-0 = <&pinctrl_usb0_default>;
568 dr_mode = "peripheral";
569 phy-names = "usb3-phy";
570 phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
571 maximum-speed = "super-speed";
574 /* ULPI SMSC USB3320 */
577 pinctrl-names = "default";
578 pinctrl-0 = <&pinctrl_usb1_default>;
584 phy-names = "usb3-phy";
585 phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
586 maximum-speed = "super-speed";
607 phy-names = "dp-phy0", "dp-phy1";
608 phys = <&psgtr 1 PHY_TYPE_DP 0 1>,
609 <&psgtr 0 PHY_TYPE_DP 1 1>;