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 #address-cells = <1>; 52 #size-cells = <0>; 53 autorepeat; 54 sw4 { 55 label = "sw4"; 56 gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 57 linux,code = <KEY_POWER>; 58 gpio-key,wakeup; 59 autorepeat; 60 }; 61 }; 62 63 iio-hwmon { 64 compatible = "iio-hwmon"; 65 io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>, 66 <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>, 67 <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>, 68 <&xilinx_ams 9>, <&xilinx_ams 10>, 69 <&xilinx_ams 11>, <&xilinx_ams 12>; 70 }; 71 72 leds { 73 compatible = "gpio-leds"; 74 ds2 { 75 label = "ds2"; 76 gpios = <&gpio 20 GPIO_ACTIVE_HIGH>; 77 linux,default-trigger = "heartbeat"; 78 }; 79 80 ds3 { 81 label = "ds3"; 82 gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; 83 linux,default-trigger = "phy0tx"; /* WLAN tx */ 84 default-state = "off"; 85 }; 86 87 ds4 { 88 label = "ds4"; 89 gpios = <&gpio 18 GPIO_ACTIVE_HIGH>; 90 linux,default-trigger = "phy0rx"; /* WLAN rx */ 91 default-state = "off"; 92 }; 93 94 ds5 { 95 label = "ds5"; 96 gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; 97 linux,default-trigger = "bluetooth-power"; 98 }; 99 100 vbus_det { /* U5 USB5744 VBUS detection via MIO25 */ 101 label = "vbus_det"; 102 gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; 103 default-state = "on"; 104 }; 105 }; 106 107 ltc2954: ltc2954 { /* U7 */ 108 compatible = "lltc,ltc2954", "lltc,ltc2952"; 109 trigger-gpios = <&gpio 26 GPIO_ACTIVE_LOW>; /* INT line - input */ 110 /* If there is HW watchdog on mezzanine this signal should be connected there */ 111 watchdog-gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; /* MIO on PAD */ 112 kill-gpios = <&gpio 34 GPIO_ACTIVE_LOW>; /* KILL signal - output */ 113 }; 114 115 wmmcsdio_fixed: fixedregulator-mmcsdio { 116 compatible = "regulator-fixed"; 117 regulator-name = "wmmcsdio_fixed"; 118 regulator-min-microvolt = <3300000>; 119 regulator-max-microvolt = <3300000>; 120 regulator-always-on; 121 regulator-boot-on; 122 }; 123 124 sdio_pwrseq: sdio_pwrseq { 125 compatible = "mmc-pwrseq-simple"; 126 reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */ 127 }; 128}; 129 130&dcc { 131 status = "okay"; 132}; 133 134&gpio { 135 status = "okay"; 136 gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL", 137 "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS", 138 "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1", 139 "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1", 140 "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT", 141 "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE", 142 "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL", 143 "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C", 144 "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E", 145 "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3", 146 "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2", 147 "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3", 148 "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK", 149 "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1", 150 "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6", 151 "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */ 152 "", "", 153 "", "", "", "", "", "", "", "", "", "", 154 "", "", "", "", "", "", "", "", "", "", 155 "", "", "", "", "", "", "", "", "", "", 156 "", "", "", "", "", "", "", "", "", "", 157 "", "", "", "", "", "", "", "", "", "", 158 "", "", "", "", "", "", "", "", "", "", 159 "", "", "", "", "", "", "", "", "", "", 160 "", "", "", "", "", "", "", "", "", "", 161 "", "", "", "", "", "", "", "", "", "", 162 "", "", "", ""; 163}; 164 165&gpu { 166 status = "okay"; 167}; 168 169&i2c1 { 170 status = "okay"; 171 clock-frequency = <100000>; 172 i2c-mux@75 { /* u11 */ 173 compatible = "nxp,pca9548"; 174 #address-cells = <1>; 175 #size-cells = <0>; 176 reg = <0x75>; 177 i2csw_0: i2c@0 { 178 #address-cells = <1>; 179 #size-cells = <0>; 180 reg = <0>; 181 label = "LS-I2C0"; 182 }; 183 i2csw_1: i2c@1 { 184 #address-cells = <1>; 185 #size-cells = <0>; 186 reg = <1>; 187 label = "LS-I2C1"; 188 }; 189 i2csw_2: i2c@2 { 190 #address-cells = <1>; 191 #size-cells = <0>; 192 reg = <2>; 193 label = "HS-I2C2"; 194 }; 195 i2csw_3: i2c@3 { 196 #address-cells = <1>; 197 #size-cells = <0>; 198 reg = <3>; 199 label = "HS-I2C3"; 200 }; 201 i2csw_4: i2c@4 { 202 #address-cells = <1>; 203 #size-cells = <0>; 204 reg = <0x4>; 205 206 pmic: pmic@5e { /* Custom TI PMIC u33 */ 207 compatible = "ti,tps65086"; 208 reg = <0x5e>; 209 interrupt-parent = <&gpio>; 210 interrupts = <77 GPIO_ACTIVE_LOW>; 211 #gpio-cells = <2>; 212 gpio-controller; 213 }; 214 }; 215 i2csw_5: i2c@5 { 216 #address-cells = <1>; 217 #size-cells = <0>; 218 reg = <5>; 219 /* PS_PMBUS */ 220 ina226@40 { /* u35 */ 221 compatible = "ti,ina226"; 222 reg = <0x40>; 223 shunt-resistor = <10000>; 224 /* MIO31 is alert which should be routed to PMUFW */ 225 }; 226 }; 227 i2csw_6: i2c@6 { 228 #address-cells = <1>; 229 #size-cells = <0>; 230 reg = <6>; 231 /* 232 * Not Connected 233 */ 234 }; 235 i2csw_7: i2c@7 { 236 #address-cells = <1>; 237 #size-cells = <0>; 238 reg = <7>; 239 /* 240 * usb5744 (DNP) - U5 241 * 100kHz - this is default freq for us 242 */ 243 }; 244 }; 245}; 246 247&rtc { 248 status = "okay"; 249}; 250 251/* SD0 only supports 3.3V, no level shifter */ 252&sdhci0 { 253 status = "okay"; 254 no-1-8-v; 255 disable-wp; 256 xlnx,mio_bank = <0>; 257}; 258 259&sdhci1 { 260 status = "okay"; 261 bus-width = <0x4>; 262 xlnx,mio_bank = <0>; 263 non-removable; 264 disable-wp; 265 cap-power-off-card; 266 mmc-pwrseq = <&sdio_pwrseq>; 267 vqmmc-supply = <&wmmcsdio_fixed>; 268 #address-cells = <1>; 269 #size-cells = <0>; 270 wlcore: wifi@2 { 271 compatible = "ti,wl1831"; 272 reg = <2>; 273 interrupt-parent = <&gpio>; 274 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */ 275 }; 276}; 277 278&serdes { 279 status = "okay"; 280}; 281 282&spi0 { /* Low Speed connector */ 283 status = "okay"; 284 label = "LS-SPI0"; 285}; 286 287&spi1 { /* High Speed connector */ 288 status = "okay"; 289 label = "HS-SPI1"; 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