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