1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * dts file for Xilinx ZynqMP ZCU100 revC 4 * 5 * (C) Copyright 2016 - 2020, Xilinx, Inc. 6 * 7 * Michal Simek <michal.simek@xilinx.com> 8 * Nathalie Chan King Choy 9 */ 10 11/dts-v1/; 12 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/phy/phy.h> 19 20/ { 21 model = "ZynqMP ZCU100 RevC"; 22 compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp"; 23 24 aliases { 25 gpio0 = &gpio; 26 i2c0 = &i2c1; 27 rtc0 = &rtc; 28 serial0 = &uart1; 29 serial1 = &uart0; 30 serial2 = &dcc; 31 spi0 = &spi0; 32 spi1 = &spi1; 33 usb0 = &usb0; 34 usb1 = &usb1; 35 mmc0 = &sdhci0; 36 mmc1 = &sdhci1; 37 }; 38 39 chosen { 40 bootargs = "earlycon"; 41 stdout-path = "serial0:115200n8"; 42 }; 43 44 memory@0 { 45 device_type = "memory"; 46 reg = <0x0 0x0 0x0 0x80000000>; 47 }; 48 49 gpio-keys { 50 compatible = "gpio-keys"; 51 autorepeat; 52 sw4 { 53 label = "sw4"; 54 gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 55 linux,code = <KEY_POWER>; 56 wakeup-source; 57 autorepeat; 58 }; 59 }; 60 61 iio-hwmon { 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>; 68 }; 69 70 leds { 71 compatible = "gpio-leds"; 72 ds2 { 73 label = "ds2"; 74 gpios = <&gpio 20 GPIO_ACTIVE_HIGH>; 75 linux,default-trigger = "heartbeat"; 76 }; 77 78 ds3 { 79 label = "ds3"; 80 gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; 81 linux,default-trigger = "phy0tx"; /* WLAN tx */ 82 default-state = "off"; 83 }; 84 85 ds4 { 86 label = "ds4"; 87 gpios = <&gpio 18 GPIO_ACTIVE_HIGH>; 88 linux,default-trigger = "phy0rx"; /* WLAN rx */ 89 default-state = "off"; 90 }; 91 92 ds5 { 93 label = "ds5"; 94 gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; 95 linux,default-trigger = "bluetooth-power"; 96 }; 97 98 vbus-det { /* U5 USB5744 VBUS detection via MIO25 */ 99 label = "vbus_det"; 100 gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; 101 default-state = "on"; 102 }; 103 }; 104 105 ltc2954: ltc2954 { /* U7 */ 106 compatible = "lltc,ltc2954", "lltc,ltc2952"; 107 status = "disabled"; 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 */ 112 }; 113 114 wmmcsdio_fixed: fixedregulator-mmcsdio { 115 compatible = "regulator-fixed"; 116 regulator-name = "wmmcsdio_fixed"; 117 regulator-min-microvolt = <3300000>; 118 regulator-max-microvolt = <3300000>; 119 regulator-always-on; 120 regulator-boot-on; 121 }; 122 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>; 127 }; 128 129 ina226 { 130 compatible = "iio-hwmon"; 131 io-channels = <&u35 0>, <&u35 1>, <&u35 2>, <&u35 3>; 132 }; 133}; 134 135&dcc { 136 status = "okay"; 137}; 138 139&gpio { 140 status = "okay"; 141 gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL", 142 "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS", 143 "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1", 144 "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1", 145 "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT", 146 "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE", 147 "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL", 148 "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C", 149 "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E", 150 "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3", 151 "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2", 152 "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3", 153 "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK", 154 "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1", 155 "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6", 156 "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */ 157 "", "", 158 "", "", "", "", "", "", "", "", "", "", 159 "", "", "", "", "", "", "", "", "", "", 160 "", "", "", "", "", "", "", "", "", "", 161 "", "", "", "", "", "", "", "", "", "", 162 "", "", "", "", "", "", "", "", "", "", 163 "", "", "", "", "", "", "", "", "", "", 164 "", "", "", "", "", "", "", "", "", "", 165 "", "", "", "", "", "", "", "", "", "", 166 "", "", "", "", "", "", "", "", "", "", 167 "", "", "", ""; 168}; 169 170&gpu { 171 status = "okay"; 172}; 173 174&i2c1 { 175 status = "okay"; 176 clock-frequency = <100000>; 177 i2c-mux@75 { /* u11 */ 178 compatible = "nxp,pca9548"; 179 #address-cells = <1>; 180 #size-cells = <0>; 181 reg = <0x75>; 182 i2csw_0: i2c@0 { 183 #address-cells = <1>; 184 #size-cells = <0>; 185 reg = <0>; 186 label = "LS-I2C0"; 187 }; 188 i2csw_1: i2c@1 { 189 #address-cells = <1>; 190 #size-cells = <0>; 191 reg = <1>; 192 label = "LS-I2C1"; 193 }; 194 i2csw_2: i2c@2 { 195 #address-cells = <1>; 196 #size-cells = <0>; 197 reg = <2>; 198 label = "HS-I2C2"; 199 }; 200 i2csw_3: i2c@3 { 201 #address-cells = <1>; 202 #size-cells = <0>; 203 reg = <3>; 204 label = "HS-I2C3"; 205 }; 206 i2csw_4: i2c@4 { 207 #address-cells = <1>; 208 #size-cells = <0>; 209 reg = <0x4>; 210 211 pmic: pmic@5e { /* Custom TI PMIC u33 */ 212 compatible = "ti,tps65086"; 213 reg = <0x5e>; 214 interrupt-parent = <&gpio>; 215 interrupts = <77 GPIO_ACTIVE_LOW>; 216 #gpio-cells = <2>; 217 gpio-controller; 218 }; 219 }; 220 i2csw_5: i2c@5 { 221 #address-cells = <1>; 222 #size-cells = <0>; 223 reg = <5>; 224 /* PS_PMBUS */ 225 u35: ina226@40 { /* u35 */ 226 compatible = "ti,ina226"; 227 #io-channel-cells = <1>; 228 reg = <0x40>; 229 shunt-resistor = <10000>; 230 /* MIO31 is alert which should be routed to PMUFW */ 231 }; 232 }; 233 i2csw_6: i2c@6 { 234 #address-cells = <1>; 235 #size-cells = <0>; 236 reg = <6>; 237 /* 238 * Not Connected 239 */ 240 }; 241 i2csw_7: i2c@7 { 242 #address-cells = <1>; 243 #size-cells = <0>; 244 reg = <7>; 245 /* 246 * usb5744 (DNP) - U5 247 * 100kHz - this is default freq for us 248 */ 249 }; 250 }; 251}; 252 253&rtc { 254 status = "okay"; 255}; 256 257/* SD0 only supports 3.3V, no level shifter */ 258&sdhci0 { 259 status = "okay"; 260 no-1-8-v; 261 disable-wp; 262 xlnx,mio-bank = <0>; 263}; 264 265&sdhci1 { 266 status = "okay"; 267 bus-width = <0x4>; 268 xlnx,mio-bank = <0>; 269 non-removable; 270 disable-wp; 271 cap-power-off-card; 272 mmc-pwrseq = <&sdio_pwrseq>; 273 vqmmc-supply = <&wmmcsdio_fixed>; 274 #address-cells = <1>; 275 #size-cells = <0>; 276 wlcore: wifi@2 { 277 compatible = "ti,wl1831"; 278 reg = <2>; 279 interrupt-parent = <&gpio>; 280 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */ 281 }; 282}; 283 284&serdes { 285 status = "okay"; 286}; 287 288&spi0 { /* Low Speed connector */ 289 status = "okay"; 290 label = "LS-SPI0"; 291 num-cs = <1>; 292}; 293 294&spi1 { /* High Speed connector */ 295 status = "okay"; 296 label = "HS-SPI1"; 297 num-cs = <1>; 298}; 299 300&uart0 { 301 status = "okay"; 302 bluetooth { 303 compatible = "ti,wl1831-st"; 304 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>; 305 }; 306}; 307 308&uart1 { 309 status = "okay"; 310 311}; 312 313/* ULPI SMSC USB3320 */ 314&usb0 { 315 status = "okay"; 316}; 317 318&dwc3_0 { 319 status = "okay"; 320 dr_mode = "peripheral"; 321 phy-names = "usb3-phy"; 322 phys = <&lane2 PHY_TYPE_USB3 0 0 26000000>; 323 maximum-speed = "super-speed"; 324}; 325 326/* ULPI SMSC USB3320 */ 327&usb1 { 328 status = "okay"; 329}; 330 331&dwc3_1 { 332 status = "okay"; 333 dr_mode = "host"; 334 phy-names = "usb3-phy"; 335 phys = <&lane3 PHY_TYPE_USB3 1 0 26000000>; 336 maximum-speed = "super-speed"; 337}; 338 339&watchdog0 { 340 status = "okay"; 341}; 342 343&xilinx_ams { 344 status = "okay"; 345}; 346 347&ams_ps { 348 status = "okay"; 349}; 350