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 num-cs = <1>; 284}; 285 286&spi1 { /* High Speed connector */ 287 status = "okay"; 288 label = "HS-SPI1"; 289 num-cs = <1>; 290}; 291 292&uart0 { 293 status = "okay"; 294 bluetooth { 295 compatible = "ti,wl1831-st"; 296 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>; 297 }; 298 299}; 300 301&uart1 { 302 status = "okay"; 303 304}; 305 306/* ULPI SMSC USB3320 */ 307&usb0 { 308 status = "okay"; 309}; 310 311&dwc3_0 { 312 status = "okay"; 313 dr_mode = "peripheral"; 314 phy-names = "usb3-phy"; 315 phys = <&lane2 PHY_TYPE_USB3 0 0 26000000>; 316 maximum-speed = "super-speed"; 317}; 318 319/* ULPI SMSC USB3320 */ 320&usb1 { 321 status = "okay"; 322}; 323 324&dwc3_1 { 325 status = "okay"; 326 dr_mode = "host"; 327 phy-names = "usb3-phy"; 328 phys = <&lane3 PHY_TYPE_USB3 1 0 26000000>; 329 maximum-speed = "super-speed"; 330}; 331 332&watchdog0 { 333 status = "okay"; 334 reset-on-timeout; 335}; 336 337&xilinx_ams { 338 status = "okay"; 339}; 340 341&ams_ps { 342 status = "okay"; 343}; 344