1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * dts file for Xilinx ZynqMP ZCU100 revC 4 * 5 * (C) Copyright 2016 - 2018, 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.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 gpio-key,wakeup; 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 trigger-gpios = <&gpio 26 GPIO_ACTIVE_LOW>; /* INT line - input */ 108 /* If there is HW watchdog on mezzanine this signal should be connected there */ 109 watchdog-gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; /* MIO on PAD */ 110 kill-gpios = <&gpio 34 GPIO_ACTIVE_LOW>; /* KILL signal - output */ 111 }; 112 113 wmmcsdio_fixed: fixedregulator-mmcsdio { 114 compatible = "regulator-fixed"; 115 regulator-name = "wmmcsdio_fixed"; 116 regulator-min-microvolt = <3300000>; 117 regulator-max-microvolt = <3300000>; 118 regulator-always-on; 119 regulator-boot-on; 120 }; 121 122 sdio_pwrseq: sdio_pwrseq { 123 compatible = "mmc-pwrseq-simple"; 124 reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */ 125 }; 126}; 127 128&dcc { 129 status = "okay"; 130}; 131 132&gpio { 133 status = "okay"; 134 gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL", 135 "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS", 136 "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1", 137 "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1", 138 "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT", 139 "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE", 140 "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL", 141 "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C", 142 "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E", 143 "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3", 144 "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2", 145 "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3", 146 "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK", 147 "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1", 148 "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6", 149 "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */ 150 "", "", 151 "", "", "", "", "", "", "", "", "", "", 152 "", "", "", "", "", "", "", "", "", "", 153 "", "", "", "", "", "", "", "", "", "", 154 "", "", "", "", "", "", "", "", "", "", 155 "", "", "", "", "", "", "", "", "", "", 156 "", "", "", "", "", "", "", "", "", "", 157 "", "", "", "", "", "", "", "", "", "", 158 "", "", "", "", "", "", "", "", "", "", 159 "", "", "", "", "", "", "", "", "", "", 160 "", "", "", ""; 161}; 162 163&gpu { 164 status = "okay"; 165}; 166 167&i2c1 { 168 status = "okay"; 169 clock-frequency = <100000>; 170 i2c-mux@75 { /* u11 */ 171 compatible = "nxp,pca9548"; 172 #address-cells = <1>; 173 #size-cells = <0>; 174 reg = <0x75>; 175 i2csw_0: i2c@0 { 176 #address-cells = <1>; 177 #size-cells = <0>; 178 reg = <0>; 179 label = "LS-I2C0"; 180 }; 181 i2csw_1: i2c@1 { 182 #address-cells = <1>; 183 #size-cells = <0>; 184 reg = <1>; 185 label = "LS-I2C1"; 186 }; 187 i2csw_2: i2c@2 { 188 #address-cells = <1>; 189 #size-cells = <0>; 190 reg = <2>; 191 label = "HS-I2C2"; 192 }; 193 i2csw_3: i2c@3 { 194 #address-cells = <1>; 195 #size-cells = <0>; 196 reg = <3>; 197 label = "HS-I2C3"; 198 }; 199 i2csw_4: i2c@4 { 200 #address-cells = <1>; 201 #size-cells = <0>; 202 reg = <0x4>; 203 204 pmic: pmic@5e { /* Custom TI PMIC u33 */ 205 compatible = "ti,tps65086"; 206 reg = <0x5e>; 207 interrupt-parent = <&gpio>; 208 interrupts = <77 GPIO_ACTIVE_LOW>; 209 #gpio-cells = <2>; 210 gpio-controller; 211 }; 212 }; 213 i2csw_5: i2c@5 { 214 #address-cells = <1>; 215 #size-cells = <0>; 216 reg = <5>; 217 /* PS_PMBUS */ 218 ina226@40 { /* u35 */ 219 compatible = "ti,ina226"; 220 reg = <0x40>; 221 shunt-resistor = <10000>; 222 /* MIO31 is alert which should be routed to PMUFW */ 223 }; 224 }; 225 i2csw_6: i2c@6 { 226 #address-cells = <1>; 227 #size-cells = <0>; 228 reg = <6>; 229 /* 230 * Not Connected 231 */ 232 }; 233 i2csw_7: i2c@7 { 234 #address-cells = <1>; 235 #size-cells = <0>; 236 reg = <7>; 237 /* 238 * usb5744 (DNP) - U5 239 * 100kHz - this is default freq for us 240 */ 241 }; 242 }; 243}; 244 245&rtc { 246 status = "okay"; 247}; 248 249/* SD0 only supports 3.3V, no level shifter */ 250&sdhci0 { 251 status = "okay"; 252 no-1-8-v; 253 disable-wp; 254 xlnx,mio_bank = <0>; 255}; 256 257&sdhci1 { 258 status = "okay"; 259 bus-width = <0x4>; 260 xlnx,mio_bank = <0>; 261 non-removable; 262 disable-wp; 263 cap-power-off-card; 264 mmc-pwrseq = <&sdio_pwrseq>; 265 vqmmc-supply = <&wmmcsdio_fixed>; 266 #address-cells = <1>; 267 #size-cells = <0>; 268 wlcore: wifi@2 { 269 compatible = "ti,wl1831"; 270 reg = <2>; 271 interrupt-parent = <&gpio>; 272 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */ 273 }; 274}; 275 276&serdes { 277 status = "okay"; 278}; 279 280&spi0 { /* Low Speed connector */ 281 status = "okay"; 282 label = "LS-SPI0"; 283}; 284 285&spi1 { /* High Speed connector */ 286 status = "okay"; 287 label = "HS-SPI1"; 288}; 289 290&uart0 { 291 status = "okay"; 292 bluetooth { 293 compatible = "ti,wl1831-st"; 294 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>; 295 }; 296 297}; 298 299&uart1 { 300 status = "okay"; 301 302}; 303 304/* ULPI SMSC USB3320 */ 305&usb0 { 306 status = "okay"; 307}; 308 309&dwc3_0 { 310 status = "okay"; 311 dr_mode = "peripheral"; 312 phy-names = "usb3-phy"; 313 phys = <&lane2 PHY_TYPE_USB3 0 0 26000000>; 314 maximum-speed = "super-speed"; 315}; 316 317/* ULPI SMSC USB3320 */ 318&usb1 { 319 status = "okay"; 320}; 321 322&dwc3_1 { 323 status = "okay"; 324 dr_mode = "host"; 325 phy-names = "usb3-phy"; 326 phys = <&lane3 PHY_TYPE_USB3 1 0 26000000>; 327 maximum-speed = "super-speed"; 328}; 329 330&watchdog0 { 331 status = "okay"; 332 reset-on-timeout; 333}; 334 335&xilinx_ams { 336 status = "okay"; 337}; 338 339&ams_ps { 340 status = "okay"; 341}; 342