1 // SPDX-License-Identifier: GPL-2.0+
3 * dts file for Xilinx ZynqMP ZCU100 revC
5 * (C) Copyright 2016 - 2018, 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";
41 bootargs = "earlycon";
42 stdout-path = "serial0:115200n8";
46 device_type = "memory";
47 reg = <0x0 0x0 0x0 0x80000000>;
51 compatible = "gpio-keys";
57 gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
58 linux,code = <KEY_POWER>;
65 compatible = "iio-hwmon";
66 io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>,
67 <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>,
68 <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>,
69 <&xilinx_ams 9>, <&xilinx_ams 10>,
70 <&xilinx_ams 11>, <&xilinx_ams 12>;
74 compatible = "gpio-leds";
77 gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
78 linux,default-trigger = "heartbeat";
83 gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
84 linux,default-trigger = "phy0tx"; /* WLAN tx */
85 default-state = "off";
90 gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
91 linux,default-trigger = "phy0rx"; /* WLAN rx */
92 default-state = "off";
97 gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
98 linux,default-trigger = "bluetooth-power";
101 vbus_det { /* U5 USB5744 VBUS detection via MIO25 */
103 gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
104 default-state = "on";
108 ltc2954: ltc2954 { /* U7 */
109 compatible = "lltc,ltc2954", "lltc,ltc2952";
110 trigger-gpios = <&gpio 26 GPIO_ACTIVE_LOW>; /* INT line - input */
111 /* If there is HW watchdog on mezzanine this signal should be connected there */
112 watchdog-gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; /* MIO on PAD */
113 kill-gpios = <&gpio 34 GPIO_ACTIVE_LOW>; /* KILL signal - output */
116 wmmcsdio_fixed: fixedregulator-mmcsdio {
117 compatible = "regulator-fixed";
118 regulator-name = "wmmcsdio_fixed";
119 regulator-min-microvolt = <3300000>;
120 regulator-max-microvolt = <3300000>;
125 sdio_pwrseq: sdio_pwrseq {
126 compatible = "mmc-pwrseq-simple";
127 reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
137 gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
138 "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
139 "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
140 "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
141 "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
142 "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
143 "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
144 "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
145 "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
146 "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
147 "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
148 "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
149 "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
150 "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
151 "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
152 "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
154 "", "", "", "", "", "", "", "", "", "",
155 "", "", "", "", "", "", "", "", "", "",
156 "", "", "", "", "", "", "", "", "", "",
157 "", "", "", "", "", "", "", "", "", "",
158 "", "", "", "", "", "", "", "", "", "",
159 "", "", "", "", "", "", "", "", "", "",
160 "", "", "", "", "", "", "", "", "", "",
161 "", "", "", "", "", "", "", "", "", "",
162 "", "", "", "", "", "", "", "", "", "",
172 pinctrl-names = "default", "gpio";
173 pinctrl-0 = <&pinctrl_i2c1_default>;
174 pinctrl-1 = <&pinctrl_i2c1_gpio>;
175 scl-gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
176 sda-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
177 clock-frequency = <100000>;
178 i2c-mux@75 { /* u11 */
179 compatible = "nxp,pca9548";
180 #address-cells = <1>;
184 #address-cells = <1>;
192 #address-cells = <1>;
200 #address-cells = <1>;
208 #address-cells = <1>;
216 #address-cells = <1>;
220 pmic: pmic@5e { /* Custom TI PMIC u33 */
221 compatible = "ti,tps65086";
223 interrupt-parent = <&gpio>;
224 interrupts = <77 GPIO_ACTIVE_LOW>;
230 #address-cells = <1>;
234 ina226@40 { /* u35 */
235 compatible = "ti,ina226";
237 shunt-resistor = <10000>;
238 /* MIO31 is alert which should be routed to PMUFW */
242 #address-cells = <1>;
250 #address-cells = <1>;
255 * 100kHz - this is default freq for us
263 pinctrl_i2c1_default: i2c1-default {
265 groups = "i2c1_1_grp";
270 groups = "i2c1_1_grp";
272 slew-rate = <SLEW_RATE_SLOW>;
273 io-standard = <IO_STANDARD_LVCMOS18>;
277 pinctrl_i2c1_gpio: i2c1-gpio {
279 groups = "gpio0_4_grp", "gpio0_5_grp";
284 groups = "gpio0_4_grp", "gpio0_5_grp";
285 slew-rate = <SLEW_RATE_SLOW>;
286 io-standard = <IO_STANDARD_LVCMOS18>;
290 pinctrl_sdhci0_default: sdhci0-default {
292 groups = "sdio0_3_grp";
297 groups = "sdio0_3_grp";
298 slew-rate = <SLEW_RATE_SLOW>;
299 io-standard = <IO_STANDARD_LVCMOS18>;
304 groups = "sdio0_cd_0_grp";
305 function = "sdio0_cd";
309 groups = "sdio0_cd_0_grp";
312 slew-rate = <SLEW_RATE_SLOW>;
313 io-standard = <IO_STANDARD_LVCMOS18>;
317 pinctrl_sdhci1_default: sdhci1-default {
319 groups = "sdio1_2_grp";
324 groups = "sdio1_2_grp";
325 slew-rate = <SLEW_RATE_SLOW>;
326 io-standard = <IO_STANDARD_LVCMOS18>;
331 pinctrl_spi0_default: spi0-default {
333 groups = "spi0_3_grp";
338 groups = "spi0_3_grp";
340 slew-rate = <SLEW_RATE_SLOW>;
341 io-standard = <IO_STANDARD_LVCMOS18>;
345 groups = "spi0_ss_9_grp";
346 function = "spi0_ss";
350 groups = "spi0_ss_9_grp";
356 pinctrl_spi1_default: spi1-default {
358 groups = "spi1_0_grp";
363 groups = "spi1_0_grp";
365 slew-rate = <SLEW_RATE_SLOW>;
366 io-standard = <IO_STANDARD_LVCMOS18>;
370 groups = "spi1_ss_0_grp";
371 function = "spi1_ss";
375 groups = "spi1_ss_0_grp";
381 pinctrl_uart0_default: uart0-default {
383 groups = "uart0_0_grp";
388 groups = "uart0_0_grp";
389 slew-rate = <SLEW_RATE_SLOW>;
390 io-standard = <IO_STANDARD_LVCMOS18>;
404 pinctrl_uart1_default: uart1-default {
406 groups = "uart1_0_grp";
411 groups = "uart1_0_grp";
412 slew-rate = <SLEW_RATE_SLOW>;
413 io-standard = <IO_STANDARD_LVCMOS18>;
427 pinctrl_usb0_default: usb0-default {
429 groups = "usb0_0_grp";
434 groups = "usb0_0_grp";
435 slew-rate = <SLEW_RATE_SLOW>;
436 io-standard = <IO_STANDARD_LVCMOS18>;
440 pins = "MIO52", "MIO53", "MIO55";
445 pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
446 "MIO60", "MIO61", "MIO62", "MIO63";
451 pinctrl_usb1_default: usb1-default {
453 groups = "usb1_0_grp";
458 groups = "usb1_0_grp";
459 slew-rate = <SLEW_RATE_SLOW>;
460 io-standard = <IO_STANDARD_LVCMOS18>;
464 pins = "MIO64", "MIO65", "MIO67";
469 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
470 "MIO72", "MIO73", "MIO74", "MIO75";
480 /* SD0 only supports 3.3V, no level shifter */
484 broken-cd; /* CD has to be enabled by default */
486 pinctrl-names = "default";
487 pinctrl-0 = <&pinctrl_sdhci0_default>;
494 pinctrl-names = "default";
495 pinctrl-0 = <&pinctrl_sdhci1_default>;
500 mmc-pwrseq = <&sdio_pwrseq>;
501 vqmmc-supply = <&wmmcsdio_fixed>;
502 #address-cells = <1>;
505 compatible = "ti,wl1831";
507 interrupt-parent = <&gpio>;
508 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
516 &spi0 { /* Low Speed connector */
518 pinctrl-names = "default";
519 pinctrl-0 = <&pinctrl_spi0_default>;
522 &spi1 { /* High Speed connector */
524 pinctrl-names = "default";
525 pinctrl-0 = <&pinctrl_spi1_default>;
530 pinctrl-names = "default";
531 pinctrl-0 = <&pinctrl_uart0_default>;
533 compatible = "ti,wl1831-st";
534 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
541 pinctrl-names = "default";
542 pinctrl-0 = <&pinctrl_uart1_default>;
546 /* ULPI SMSC USB3320 */
549 pinctrl-names = "default";
550 pinctrl-0 = <&pinctrl_usb0_default>;
555 dr_mode = "peripheral";
556 phy-names = "usb3-phy";
557 phys = <&lane2 PHY_TYPE_USB3 0 0 26000000>;
558 maximum-speed = "super-speed";
561 /* ULPI SMSC USB3320 */
564 pinctrl-names = "default";
565 pinctrl-0 = <&pinctrl_usb1_default>;
571 phy-names = "usb3-phy";
572 phys = <&lane3 PHY_TYPE_USB3 1 0 26000000>;
573 maximum-speed = "super-speed";
582 phy-names = "dp-phy0", "dp-phy1";
583 phys = <&lane1 PHY_TYPE_DP 0 1 27000000>,
584 <&lane0 PHY_TYPE_DP 1 1 27000000>;
587 &zynqmp_dp_snd_pcm0 {
591 &zynqmp_dp_snd_pcm1 {
595 &zynqmp_dp_snd_card0 {
599 &zynqmp_dp_snd_codec0 {