ARM: dts: rmobile: Add soc label to Gen3
[oweals/u-boot.git] / arch / arm / dts / 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 #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 };