Merge branch 'for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / xilinx / zynqmp-zcu100-revC.dts
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
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
108 &dcc {
109         status = "okay";
110 };
111
112 &gpio {
113         status = "okay";
114         gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
115                           "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
116                           "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
117                           "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
118                           "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
119                           "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
120                           "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
121                           "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
122                           "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
123                           "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
124                           "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
125                           "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
126                           "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
127                           "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
128                           "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
129                           "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
130                           "", "",
131                           "", "", "", "", "", "", "", "", "", "",
132                           "", "", "", "", "", "", "", "", "", "",
133                           "", "", "", "", "", "", "", "", "", "",
134                           "", "", "", "", "", "", "", "", "", "",
135                           "", "", "", "", "", "", "", "", "", "",
136                           "", "", "", "", "", "", "", "", "", "",
137                           "", "", "", "", "", "", "", "", "", "",
138                           "", "", "", "", "", "", "", "", "", "",
139                           "", "", "", "", "", "", "", "", "", "",
140                           "", "", "", "";
141 };
142
143 &i2c1 {
144         status = "okay";
145         clock-frequency = <100000>;
146         i2c-mux@75 { /* u11 */
147                 compatible = "nxp,pca9548";
148                 #address-cells = <1>;
149                 #size-cells = <0>;
150                 reg = <0x75>;
151                 i2csw_0: i2c@0 {
152                         #address-cells = <1>;
153                         #size-cells = <0>;
154                         reg = <0>;
155                         label = "LS-I2C0";
156                 };
157                 i2csw_1: i2c@1 {
158                         #address-cells = <1>;
159                         #size-cells = <0>;
160                         reg = <1>;
161                         label = "LS-I2C1";
162                 };
163                 i2csw_2: i2c@2 {
164                         #address-cells = <1>;
165                         #size-cells = <0>;
166                         reg = <2>;
167                         label = "HS-I2C2";
168                 };
169                 i2csw_3: i2c@3 {
170                         #address-cells = <1>;
171                         #size-cells = <0>;
172                         reg = <3>;
173                         label = "HS-I2C3";
174                 };
175                 i2csw_4: i2c@4 {
176                         #address-cells = <1>;
177                         #size-cells = <0>;
178                         reg = <0x4>;
179
180                         pmic: pmic@5e { /* Custom TI PMIC u33 */
181                                 compatible = "ti,tps65086";
182                                 reg = <0x5e>;
183                                 interrupt-parent = <&gpio>;
184                                 interrupts = <77 GPIO_ACTIVE_LOW>;
185                                 #gpio-cells = <2>;
186                                 gpio-controller;
187                         };
188                 };
189                 i2csw_5: i2c@5 {
190                         #address-cells = <1>;
191                         #size-cells = <0>;
192                         reg = <5>;
193                         /* PS_PMBUS */
194                         ina226@40 { /* u35 */
195                                 compatible = "ti,ina226";
196                                 reg = <0x40>;
197                                 shunt-resistor = <10000>;
198                                 /* MIO31 is alert which should be routed to PMUFW */
199                         };
200                 };
201                 i2csw_6: i2c@6 {
202                         #address-cells = <1>;
203                         #size-cells = <0>;
204                         reg = <6>;
205                         /*
206                          * Not Connected
207                          */
208                 };
209                 i2csw_7: i2c@7 {
210                         #address-cells = <1>;
211                         #size-cells = <0>;
212                         reg = <7>;
213                         /*
214                          * usb5744 (DNP) - U5
215                          * 100kHz - this is default freq for us
216                          */
217                 };
218         };
219 };
220
221 &rtc {
222         status = "okay";
223 };
224
225 /* SD0 only supports 3.3V, no level shifter */
226 &sdhci0 {
227         status = "okay";
228         no-1-8-v;
229         broken-cd; /* CD has to be enabled by default */
230         disable-wp;
231 };
232
233 &sdhci1 {
234         status = "okay";
235         bus-width = <0x4>;
236         non-removable;
237         disable-wp;
238         cap-power-off-card;
239         mmc-pwrseq = <&sdio_pwrseq>;
240         vqmmc-supply = <&wmmcsdio_fixed>;
241         #address-cells = <1>;
242         #size-cells = <0>;
243         wlcore: wifi@2 {
244                 compatible = "ti,wl1831";
245                 reg = <2>;
246                 interrupt-parent = <&gpio>;
247                 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
248         };
249 };
250
251 &spi0 { /* Low Speed connector */
252         status = "okay";
253         label = "LS-SPI0";
254 };
255
256 &spi1 { /* High Speed connector */
257         status = "okay";
258         label = "HS-SPI1";
259 };
260
261 &uart0 {
262         status = "okay";
263         bluetooth {
264                 compatible = "ti,wl1831-st";
265                 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
266         };
267 };
268
269 &uart1 {
270         status = "okay";
271
272 };
273
274 /* ULPI SMSC USB3320 */
275 &usb0 {
276         status = "okay";
277 };
278
279 /* ULPI SMSC USB3320 */
280 &usb1 {
281         status = "okay";
282 };
283
284 &watchdog0 {
285         status = "okay";
286 };