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