arm64: zynqmp: Enable AMS on SOM and other zcu10x boards
[linux-2.6-block.git] / arch / arm64 / boot / dts / xilinx / zynqmp-zcu100-revC.dts
CommitLineData
5869ba06
MS
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZCU100 revC
4 *
c821045f 5 * (C) Copyright 2016 - 2021, Xilinx, Inc.
5869ba06
MS
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 * Nathalie Chan King Choy
9 */
10
11/dts-v1/;
12
13#include "zynqmp.dtsi"
9c8a47b4 14#include "zynqmp-clk-ccf.dtsi"
5869ba06
MS
15#include <dt-bindings/input/input.h>
16#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/gpio/gpio.h>
c821045f 18#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
55563399 19#include <dt-bindings/phy/phy.h>
5869ba06
MS
20
21/ {
22 model = "ZynqMP ZCU100 RevC";
23 compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp";
24
25 aliases {
26 i2c0 = &i2c1;
27 rtc0 = &rtc;
28 serial0 = &uart1;
29 serial1 = &uart0;
30 serial2 = &dcc;
31 spi0 = &spi0;
32 spi1 = &spi1;
b61c4ff9
MS
33 usb0 = &usb0;
34 usb1 = &usb1;
5869ba06
MS
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";
5869ba06 51 autorepeat;
228e8a88 52 switch-4 {
5869ba06
MS
53 label = "sw4";
54 gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
55 linux,code = <KEY_POWER>;
1696acf4 56 wakeup-source;
5869ba06
MS
57 autorepeat;
58 };
59 };
60
255118de
MS
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
5869ba06
MS
70 leds {
71 compatible = "gpio-leds";
9a19a39e 72 led-ds2 {
5869ba06
MS
73 label = "ds2";
74 gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
75 linux,default-trigger = "heartbeat";
76 };
77
9a19a39e 78 led-ds3 {
5869ba06
MS
79 label = "ds3";
80 gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
81 linux,default-trigger = "phy0tx"; /* WLAN tx */
82 default-state = "off";
83 };
84
9a19a39e 85 led-ds4 {
5869ba06
MS
86 label = "ds4";
87 gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
88 linux,default-trigger = "phy0rx"; /* WLAN rx */
89 default-state = "off";
90 };
91
9a19a39e 92 led-ds5 {
5869ba06
MS
93 label = "ds5";
94 gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
95 linux,default-trigger = "bluetooth-power";
96 };
97
43811f31 98 led-vbus-det { /* U5 USB5744 VBUS detection via MIO25 */
5869ba06
MS
99 label = "vbus_det";
100 gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
101 default-state = "on";
102 };
5869ba06
MS
103 };
104
105 wmmcsdio_fixed: fixedregulator-mmcsdio {
106 compatible = "regulator-fixed";
107 regulator-name = "wmmcsdio_fixed";
108 regulator-min-microvolt = <3300000>;
109 regulator-max-microvolt = <3300000>;
110 regulator-always-on;
111 regulator-boot-on;
112 };
113
d1d4445a 114 sdio_pwrseq: sdio-pwrseq {
5869ba06
MS
115 compatible = "mmc-pwrseq-simple";
116 reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
35a4f89c 117 post-power-on-delay-ms = <10>;
5869ba06 118 };
526a63f0
MS
119
120 ina226 {
121 compatible = "iio-hwmon";
122 io-channels = <&u35 0>, <&u35 1>, <&u35 2>, <&u35 3>;
123 };
55563399 124
c7d5a461 125 si5335_0: si5335_0 { /* clk0_usb - u23 */
55563399
LP
126 compatible = "fixed-clock";
127 #clock-cells = <0>;
128 clock-frequency = <26000000>;
129 };
130
c7d5a461 131 si5335_1: si5335_1 { /* clk1_dp - u23 */
55563399
LP
132 compatible = "fixed-clock";
133 #clock-cells = <0>;
134 clock-frequency = <27000000>;
135 };
5869ba06
MS
136};
137
138&dcc {
139 status = "okay";
140};
141
142&gpio {
143 status = "okay";
144 gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
145 "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
146 "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
147 "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
148 "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
149 "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
150 "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
151 "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
152 "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
153 "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
154 "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
155 "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
156 "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
157 "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
158 "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
159 "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
160 "", "",
161 "", "", "", "", "", "", "", "", "", "",
162 "", "", "", "", "", "", "", "", "", "",
163 "", "", "", "", "", "", "", "", "", "",
164 "", "", "", "", "", "", "", "", "", "",
165 "", "", "", "", "", "", "", "", "", "",
166 "", "", "", "", "", "", "", "", "", "",
167 "", "", "", "", "", "", "", "", "", "",
168 "", "", "", "", "", "", "", "", "", "",
169 "", "", "", "", "", "", "", "", "", "",
170 "", "", "", "";
171};
172
37e78949
PG
173&gpu {
174 status = "okay";
175};
176
5869ba06
MS
177&i2c1 {
178 status = "okay";
c821045f
MS
179 pinctrl-names = "default", "gpio";
180 pinctrl-0 = <&pinctrl_i2c1_default>;
181 pinctrl-1 = <&pinctrl_i2c1_gpio>;
182 scl-gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
183 sda-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
5869ba06
MS
184 clock-frequency = <100000>;
185 i2c-mux@75 { /* u11 */
186 compatible = "nxp,pca9548";
187 #address-cells = <1>;
188 #size-cells = <0>;
189 reg = <0x75>;
190 i2csw_0: i2c@0 {
191 #address-cells = <1>;
192 #size-cells = <0>;
193 reg = <0>;
194 label = "LS-I2C0";
195 };
196 i2csw_1: i2c@1 {
197 #address-cells = <1>;
198 #size-cells = <0>;
199 reg = <1>;
200 label = "LS-I2C1";
201 };
202 i2csw_2: i2c@2 {
203 #address-cells = <1>;
204 #size-cells = <0>;
205 reg = <2>;
206 label = "HS-I2C2";
207 };
208 i2csw_3: i2c@3 {
209 #address-cells = <1>;
210 #size-cells = <0>;
211 reg = <3>;
212 label = "HS-I2C3";
213 };
214 i2csw_4: i2c@4 {
215 #address-cells = <1>;
216 #size-cells = <0>;
217 reg = <0x4>;
218
219 pmic: pmic@5e { /* Custom TI PMIC u33 */
220 compatible = "ti,tps65086";
221 reg = <0x5e>;
222 interrupt-parent = <&gpio>;
fa7a98eb 223 interrupts = <77 IRQ_TYPE_LEVEL_LOW>;
5869ba06
MS
224 #gpio-cells = <2>;
225 gpio-controller;
226 };
227 };
228 i2csw_5: i2c@5 {
229 #address-cells = <1>;
230 #size-cells = <0>;
231 reg = <5>;
232 /* PS_PMBUS */
526a63f0 233 u35: ina226@40 { /* u35 */
5869ba06 234 compatible = "ti,ina226";
526a63f0 235 #io-channel-cells = <1>;
5869ba06
MS
236 reg = <0x40>;
237 shunt-resistor = <10000>;
238 /* MIO31 is alert which should be routed to PMUFW */
239 };
240 };
241 i2csw_6: i2c@6 {
242 #address-cells = <1>;
243 #size-cells = <0>;
244 reg = <6>;
245 /*
246 * Not Connected
247 */
248 };
249 i2csw_7: i2c@7 {
250 #address-cells = <1>;
251 #size-cells = <0>;
252 reg = <7>;
253 /*
254 * usb5744 (DNP) - U5
255 * 100kHz - this is default freq for us
256 */
257 };
258 };
259};
260
c821045f 261&pinctrl0 {
55563399 262 status = "okay";
c821045f
MS
263 pinctrl_i2c1_default: i2c1-default {
264 mux {
265 groups = "i2c1_1_grp";
266 function = "i2c1";
267 };
268
269 conf {
270 groups = "i2c1_1_grp";
271 bias-pull-up;
272 slew-rate = <SLEW_RATE_SLOW>;
273 power-source = <IO_STANDARD_LVCMOS18>;
274 };
275 };
276
277 pinctrl_i2c1_gpio: i2c1-gpio {
278 mux {
279 groups = "gpio0_4_grp", "gpio0_5_grp";
280 function = "gpio0";
281 };
282
283 conf {
284 groups = "gpio0_4_grp", "gpio0_5_grp";
285 slew-rate = <SLEW_RATE_SLOW>;
286 power-source = <IO_STANDARD_LVCMOS18>;
287 };
288 };
289
290 pinctrl_sdhci0_default: sdhci0-default {
291 mux {
292 groups = "sdio0_3_grp";
293 function = "sdio0";
294 };
295
296 conf {
297 groups = "sdio0_3_grp";
298 slew-rate = <SLEW_RATE_SLOW>;
299 power-source = <IO_STANDARD_LVCMOS18>;
300 bias-disable;
301 };
302
303 mux-cd {
304 groups = "sdio0_cd_0_grp";
305 function = "sdio0_cd";
306 };
307
308 conf-cd {
309 groups = "sdio0_cd_0_grp";
310 bias-high-impedance;
311 bias-pull-up;
312 slew-rate = <SLEW_RATE_SLOW>;
313 power-source = <IO_STANDARD_LVCMOS18>;
314 };
315 };
316
317 pinctrl_sdhci1_default: sdhci1-default {
318 mux {
319 groups = "sdio1_2_grp";
320 function = "sdio1";
321 };
322
323 conf {
324 groups = "sdio1_2_grp";
325 slew-rate = <SLEW_RATE_SLOW>;
326 power-source = <IO_STANDARD_LVCMOS18>;
327 bias-disable;
328 };
329 };
330
331 pinctrl_spi0_default: spi0-default {
332 mux {
333 groups = "spi0_3_grp";
334 function = "spi0";
335 };
336
337 conf {
338 groups = "spi0_3_grp";
339 bias-disable;
340 slew-rate = <SLEW_RATE_SLOW>;
341 power-source = <IO_STANDARD_LVCMOS18>;
342 };
343
344 mux-cs {
345 groups = "spi0_ss_9_grp";
346 function = "spi0_ss";
347 };
348
349 conf-cs {
350 groups = "spi0_ss_9_grp";
351 bias-disable;
352 };
353
354 };
355
356 pinctrl_spi1_default: spi1-default {
357 mux {
358 groups = "spi1_0_grp";
359 function = "spi1";
360 };
361
362 conf {
363 groups = "spi1_0_grp";
364 bias-disable;
365 slew-rate = <SLEW_RATE_SLOW>;
366 power-source = <IO_STANDARD_LVCMOS18>;
367 };
368
369 mux-cs {
370 groups = "spi1_ss_0_grp";
371 function = "spi1_ss";
372 };
373
374 conf-cs {
375 groups = "spi1_ss_0_grp";
376 bias-disable;
377 };
378
379 };
380
381 pinctrl_uart0_default: uart0-default {
382 mux {
383 groups = "uart0_0_grp";
384 function = "uart0";
385 };
386
387 conf {
388 groups = "uart0_0_grp";
389 slew-rate = <SLEW_RATE_SLOW>;
390 power-source = <IO_STANDARD_LVCMOS18>;
391 };
392
393 conf-rx {
394 pins = "MIO3";
395 bias-high-impedance;
396 };
397
398 conf-tx {
399 pins = "MIO2";
400 bias-disable;
401 };
402 };
403
404 pinctrl_uart1_default: uart1-default {
405 mux {
406 groups = "uart1_0_grp";
407 function = "uart1";
408 };
409
410 conf {
411 groups = "uart1_0_grp";
412 slew-rate = <SLEW_RATE_SLOW>;
413 power-source = <IO_STANDARD_LVCMOS18>;
414 };
415
416 conf-rx {
417 pins = "MIO1";
418 bias-high-impedance;
419 };
420
421 conf-tx {
422 pins = "MIO0";
423 bias-disable;
424 };
425 };
426
427 pinctrl_usb0_default: usb0-default {
428 mux {
429 groups = "usb0_0_grp";
430 function = "usb0";
431 };
432
433 conf {
434 groups = "usb0_0_grp";
435 slew-rate = <SLEW_RATE_SLOW>;
436 power-source = <IO_STANDARD_LVCMOS18>;
437 };
438
439 conf-rx {
440 pins = "MIO52", "MIO53", "MIO55";
441 bias-high-impedance;
442 };
443
444 conf-tx {
445 pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
446 "MIO60", "MIO61", "MIO62", "MIO63";
447 bias-disable;
448 };
449 };
450
451 pinctrl_usb1_default: usb1-default {
452 mux {
453 groups = "usb1_0_grp";
454 function = "usb1";
455 };
456
457 conf {
458 groups = "usb1_0_grp";
459 slew-rate = <SLEW_RATE_SLOW>;
460 power-source = <IO_STANDARD_LVCMOS18>;
461 };
462
463 conf-rx {
464 pins = "MIO64", "MIO65", "MIO67";
465 bias-high-impedance;
466 };
467
468 conf-tx {
469 pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
470 "MIO72", "MIO73", "MIO74", "MIO75";
471 bias-disable;
472 };
473 };
474};
475
476&psgtr {
c7d5a461
MS
477 status = "okay";
478 /* usb3, dp */
479 clocks = <&si5335_0>, <&si5335_1>;
55563399
LP
480 clock-names = "ref0", "ref1";
481};
482
5869ba06
MS
483&rtc {
484 status = "okay";
485};
486
487/* SD0 only supports 3.3V, no level shifter */
488&sdhci0 {
489 status = "okay";
490 no-1-8-v;
5869ba06 491 disable-wp;
c821045f
MS
492 pinctrl-names = "default";
493 pinctrl-0 = <&pinctrl_sdhci0_default>;
63481699 494 xlnx,mio-bank = <0>;
5869ba06
MS
495};
496
497&sdhci1 {
498 status = "okay";
499 bus-width = <0x4>;
c821045f
MS
500 pinctrl-names = "default";
501 pinctrl-0 = <&pinctrl_sdhci1_default>;
63481699 502 xlnx,mio-bank = <0>;
5869ba06
MS
503 non-removable;
504 disable-wp;
505 cap-power-off-card;
506 mmc-pwrseq = <&sdio_pwrseq>;
507 vqmmc-supply = <&wmmcsdio_fixed>;
508 #address-cells = <1>;
509 #size-cells = <0>;
510 wlcore: wifi@2 {
511 compatible = "ti,wl1831";
512 reg = <2>;
513 interrupt-parent = <&gpio>;
514 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
515 };
516};
517
518&spi0 { /* Low Speed connector */
519 status = "okay";
520 label = "LS-SPI0";
c8e75cd4 521 num-cs = <1>;
c821045f
MS
522 pinctrl-names = "default";
523 pinctrl-0 = <&pinctrl_spi0_default>;
5869ba06
MS
524};
525
526&spi1 { /* High Speed connector */
527 status = "okay";
528 label = "HS-SPI1";
c8e75cd4 529 num-cs = <1>;
c821045f
MS
530 pinctrl-names = "default";
531 pinctrl-0 = <&pinctrl_spi1_default>;
5869ba06
MS
532};
533
534&uart0 {
535 status = "okay";
c821045f
MS
536 pinctrl-names = "default";
537 pinctrl-0 = <&pinctrl_uart0_default>;
a5c2ed48
MS
538 bluetooth {
539 compatible = "ti,wl1831-st";
540 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
541 };
5869ba06
MS
542};
543
544&uart1 {
545 status = "okay";
c821045f
MS
546 pinctrl-names = "default";
547 pinctrl-0 = <&pinctrl_uart1_default>;
5869ba06
MS
548};
549
550/* ULPI SMSC USB3320 */
551&usb0 {
552 status = "okay";
c821045f
MS
553 pinctrl-names = "default";
554 pinctrl-0 = <&pinctrl_usb0_default>;
8b698f1b
MS
555 phy-names = "usb3-phy";
556 phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
028d125a 557 /delete-property/ reset-gpios;
b61c4ff9
MS
558};
559
560&dwc3_0 {
561 status = "okay";
562 dr_mode = "peripheral";
8b698f1b 563 maximum-speed = "super-speed";
5869ba06
MS
564};
565
566/* ULPI SMSC USB3320 */
567&usb1 {
568 status = "okay";
c821045f
MS
569 pinctrl-names = "default";
570 pinctrl-0 = <&pinctrl_usb1_default>;
8b698f1b
MS
571 phy-names = "usb3-phy";
572 phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
028d125a 573 reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>;
b61c4ff9
MS
574};
575
576&dwc3_1 {
577 status = "okay";
578 dr_mode = "host";
8b698f1b 579 maximum-speed = "super-speed";
5869ba06
MS
580};
581
582&watchdog0 {
583 status = "okay";
584};
55563399 585
255118de
MS
586&xilinx_ams {
587 status = "okay";
588};
589
590&ams_ps {
591 status = "okay";
592};
593
55563399
LP
594&zynqmp_dpdma {
595 status = "okay";
596};
597
598&zynqmp_dpsub {
599 status = "okay";
600 phy-names = "dp-phy0", "dp-phy1";
601 phys = <&psgtr 1 PHY_TYPE_DP 0 1>,
602 <&psgtr 0 PHY_TYPE_DP 1 1>;
603};