xref: /freebsd/sys/contrib/device-tree/src/arm64/xilinx/zynqmp-zcu100-revC.dts (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * dts file for Xilinx ZynqMP ZCU100 revC
4c66ec88fSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * (C) Copyright 2016 - 2022, Xilinx, Inc.
6f126890aSEmmanuel Vadot * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
7c66ec88fSEmmanuel Vadot *
8f126890aSEmmanuel Vadot * Michal Simek <michal.simek@amd.com>
9c66ec88fSEmmanuel Vadot * Nathalie Chan King Choy
10c66ec88fSEmmanuel Vadot */
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot/dts-v1/;
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadot#include "zynqmp.dtsi"
15c66ec88fSEmmanuel Vadot#include "zynqmp-clk-ccf.dtsi"
16c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h>
17c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
18c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
198cc087a1SEmmanuel Vadot#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
205def4c47SEmmanuel Vadot#include <dt-bindings/phy/phy.h>
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot/ {
23c66ec88fSEmmanuel Vadot	model = "ZynqMP ZCU100 RevC";
24c66ec88fSEmmanuel Vadot	compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp";
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot	aliases {
27c66ec88fSEmmanuel Vadot		i2c0 = &i2c1;
28c66ec88fSEmmanuel Vadot		rtc0 = &rtc;
29c66ec88fSEmmanuel Vadot		serial0 = &uart1;
30c66ec88fSEmmanuel Vadot		serial1 = &uart0;
31c66ec88fSEmmanuel Vadot		serial2 = &dcc;
32c66ec88fSEmmanuel Vadot		spi0 = &spi0;
33c66ec88fSEmmanuel Vadot		spi1 = &spi1;
348cc087a1SEmmanuel Vadot		usb0 = &usb0;
358cc087a1SEmmanuel Vadot		usb1 = &usb1;
36c66ec88fSEmmanuel Vadot		mmc0 = &sdhci0;
37c66ec88fSEmmanuel Vadot		mmc1 = &sdhci1;
38c66ec88fSEmmanuel Vadot	};
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot	chosen {
41c66ec88fSEmmanuel Vadot		bootargs = "earlycon";
42c66ec88fSEmmanuel Vadot		stdout-path = "serial0:115200n8";
43c66ec88fSEmmanuel Vadot	};
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot	memory@0 {
46c66ec88fSEmmanuel Vadot		device_type = "memory";
47c66ec88fSEmmanuel Vadot		reg = <0x0 0x0 0x0 0x80000000>;
48c66ec88fSEmmanuel Vadot	};
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot	gpio-keys {
51c66ec88fSEmmanuel Vadot		compatible = "gpio-keys";
52c66ec88fSEmmanuel Vadot		autorepeat;
53b97ee269SEmmanuel Vadot		switch-4 {
54c66ec88fSEmmanuel Vadot			label = "sw4";
55c66ec88fSEmmanuel Vadot			gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
56c66ec88fSEmmanuel Vadot			linux,code = <KEY_POWER>;
57c66ec88fSEmmanuel Vadot			wakeup-source;
58c66ec88fSEmmanuel Vadot			autorepeat;
59c66ec88fSEmmanuel Vadot		};
60c66ec88fSEmmanuel Vadot	};
61c66ec88fSEmmanuel Vadot
62f126890aSEmmanuel Vadot	iio-hwmon {
63f126890aSEmmanuel Vadot		compatible = "iio-hwmon";
64f126890aSEmmanuel Vadot		io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>,
65f126890aSEmmanuel Vadot			      <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>,
66f126890aSEmmanuel Vadot			      <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>,
67f126890aSEmmanuel Vadot			      <&xilinx_ams 9>, <&xilinx_ams 10>,
68f126890aSEmmanuel Vadot			      <&xilinx_ams 11>, <&xilinx_ams 12>;
69f126890aSEmmanuel Vadot	};
70f126890aSEmmanuel Vadot
71c66ec88fSEmmanuel Vadot	leds {
72c66ec88fSEmmanuel Vadot		compatible = "gpio-leds";
736be33864SEmmanuel Vadot		led-ds2 {
74c66ec88fSEmmanuel Vadot			label = "ds2";
75c66ec88fSEmmanuel Vadot			gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
76c66ec88fSEmmanuel Vadot			linux,default-trigger = "heartbeat";
77c66ec88fSEmmanuel Vadot		};
78c66ec88fSEmmanuel Vadot
796be33864SEmmanuel Vadot		led-ds3 {
80c66ec88fSEmmanuel Vadot			label = "ds3";
81c66ec88fSEmmanuel Vadot			gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
82c66ec88fSEmmanuel Vadot			linux,default-trigger = "phy0tx"; /* WLAN tx */
83c66ec88fSEmmanuel Vadot			default-state = "off";
84c66ec88fSEmmanuel Vadot		};
85c66ec88fSEmmanuel Vadot
866be33864SEmmanuel Vadot		led-ds4 {
87c66ec88fSEmmanuel Vadot			label = "ds4";
88c66ec88fSEmmanuel Vadot			gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
89c66ec88fSEmmanuel Vadot			linux,default-trigger = "phy0rx"; /* WLAN rx */
90c66ec88fSEmmanuel Vadot			default-state = "off";
91c66ec88fSEmmanuel Vadot		};
92c66ec88fSEmmanuel Vadot
936be33864SEmmanuel Vadot		led-ds5 {
94c66ec88fSEmmanuel Vadot			label = "ds5";
95c66ec88fSEmmanuel Vadot			gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
96c66ec88fSEmmanuel Vadot			linux,default-trigger = "bluetooth-power";
97c66ec88fSEmmanuel Vadot		};
98c66ec88fSEmmanuel Vadot
99cb7aa33aSEmmanuel Vadot		led-vbus-det { /* U5 USB5744 VBUS detection via MIO25 */
100c66ec88fSEmmanuel Vadot			label = "vbus_det";
101c66ec88fSEmmanuel Vadot			gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
102c66ec88fSEmmanuel Vadot			default-state = "on";
103c66ec88fSEmmanuel Vadot		};
104c66ec88fSEmmanuel Vadot	};
105c66ec88fSEmmanuel Vadot
106c66ec88fSEmmanuel Vadot	wmmcsdio_fixed: fixedregulator-mmcsdio {
107c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
108c66ec88fSEmmanuel Vadot		regulator-name = "wmmcsdio_fixed";
109c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
110c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
111c66ec88fSEmmanuel Vadot		regulator-always-on;
112c66ec88fSEmmanuel Vadot		regulator-boot-on;
113c66ec88fSEmmanuel Vadot	};
114c66ec88fSEmmanuel Vadot
115c66ec88fSEmmanuel Vadot	sdio_pwrseq: sdio-pwrseq {
116c66ec88fSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
117c66ec88fSEmmanuel Vadot		reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
118c66ec88fSEmmanuel Vadot		post-power-on-delay-ms = <10>;
119c66ec88fSEmmanuel Vadot	};
120c66ec88fSEmmanuel Vadot
121c66ec88fSEmmanuel Vadot	ina226 {
122c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
123c66ec88fSEmmanuel Vadot		io-channels = <&u35 0>, <&u35 1>, <&u35 2>, <&u35 3>;
124c66ec88fSEmmanuel Vadot	};
1255def4c47SEmmanuel Vadot
1268d13bc63SEmmanuel Vadot	si5335_0: si5335-0 { /* clk0_usb - u23 */
1275def4c47SEmmanuel Vadot		compatible = "fixed-clock";
1285def4c47SEmmanuel Vadot		#clock-cells = <0>;
1295def4c47SEmmanuel Vadot		clock-frequency = <26000000>;
1305def4c47SEmmanuel Vadot	};
1315def4c47SEmmanuel Vadot
1328d13bc63SEmmanuel Vadot	si5335_1: si5335-1 { /* clk1_dp - u23 */
1335def4c47SEmmanuel Vadot		compatible = "fixed-clock";
1345def4c47SEmmanuel Vadot		#clock-cells = <0>;
1355def4c47SEmmanuel Vadot		clock-frequency = <27000000>;
1365def4c47SEmmanuel Vadot	};
137c66ec88fSEmmanuel Vadot};
138c66ec88fSEmmanuel Vadot
139c66ec88fSEmmanuel Vadot&dcc {
140c66ec88fSEmmanuel Vadot	status = "okay";
141c66ec88fSEmmanuel Vadot};
142c66ec88fSEmmanuel Vadot
143c66ec88fSEmmanuel Vadot&gpio {
144c66ec88fSEmmanuel Vadot	status = "okay";
145c66ec88fSEmmanuel Vadot	gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
146c66ec88fSEmmanuel Vadot			  "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
147c66ec88fSEmmanuel Vadot			  "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
148c66ec88fSEmmanuel Vadot			  "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
149c66ec88fSEmmanuel Vadot			  "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
150c66ec88fSEmmanuel Vadot			  "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
151c66ec88fSEmmanuel Vadot			  "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
152c66ec88fSEmmanuel Vadot			  "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
153c66ec88fSEmmanuel Vadot			  "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
154c66ec88fSEmmanuel Vadot			  "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
155c66ec88fSEmmanuel Vadot			  "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
156c66ec88fSEmmanuel Vadot			  "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
157c66ec88fSEmmanuel Vadot			  "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
158c66ec88fSEmmanuel Vadot			  "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
159c66ec88fSEmmanuel Vadot			  "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
160c66ec88fSEmmanuel Vadot			  "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
161c66ec88fSEmmanuel Vadot			  "", "",
162c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
163c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
164c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
165c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
166c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
167c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
168c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
169c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
170c66ec88fSEmmanuel Vadot			  "", "", "", "", "", "", "", "", "", "",
171c66ec88fSEmmanuel Vadot			  "", "", "", "";
172c66ec88fSEmmanuel Vadot};
173c66ec88fSEmmanuel Vadot
174f126890aSEmmanuel Vadot&gpu {
175f126890aSEmmanuel Vadot	status = "okay";
176f126890aSEmmanuel Vadot};
177f126890aSEmmanuel Vadot
178c66ec88fSEmmanuel Vadot&i2c1 {
179c66ec88fSEmmanuel Vadot	status = "okay";
1808cc087a1SEmmanuel Vadot	pinctrl-names = "default", "gpio";
1818cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c1_default>;
1828cc087a1SEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c1_gpio>;
183aa1a8ff2SEmmanuel Vadot	scl-gpios = <&gpio 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
184aa1a8ff2SEmmanuel Vadot	sda-gpios = <&gpio 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
185c66ec88fSEmmanuel Vadot	clock-frequency = <100000>;
186c66ec88fSEmmanuel Vadot	i2c-mux@75 { /* u11 */
187c66ec88fSEmmanuel Vadot		compatible = "nxp,pca9548";
188c66ec88fSEmmanuel Vadot		#address-cells = <1>;
189c66ec88fSEmmanuel Vadot		#size-cells = <0>;
190c66ec88fSEmmanuel Vadot		reg = <0x75>;
191c66ec88fSEmmanuel Vadot		i2csw_0: i2c@0 {
192c66ec88fSEmmanuel Vadot			#address-cells = <1>;
193c66ec88fSEmmanuel Vadot			#size-cells = <0>;
194c66ec88fSEmmanuel Vadot			reg = <0>;
195c66ec88fSEmmanuel Vadot			label = "LS-I2C0";
196c66ec88fSEmmanuel Vadot		};
197c66ec88fSEmmanuel Vadot		i2csw_1: i2c@1 {
198c66ec88fSEmmanuel Vadot			#address-cells = <1>;
199c66ec88fSEmmanuel Vadot			#size-cells = <0>;
200c66ec88fSEmmanuel Vadot			reg = <1>;
201c66ec88fSEmmanuel Vadot			label = "LS-I2C1";
202c66ec88fSEmmanuel Vadot		};
203c66ec88fSEmmanuel Vadot		i2csw_2: i2c@2 {
204c66ec88fSEmmanuel Vadot			#address-cells = <1>;
205c66ec88fSEmmanuel Vadot			#size-cells = <0>;
206c66ec88fSEmmanuel Vadot			reg = <2>;
207c66ec88fSEmmanuel Vadot			label = "HS-I2C2";
208c66ec88fSEmmanuel Vadot		};
209c66ec88fSEmmanuel Vadot		i2csw_3: i2c@3 {
210c66ec88fSEmmanuel Vadot			#address-cells = <1>;
211c66ec88fSEmmanuel Vadot			#size-cells = <0>;
212c66ec88fSEmmanuel Vadot			reg = <3>;
213c66ec88fSEmmanuel Vadot			label = "HS-I2C3";
214c66ec88fSEmmanuel Vadot		};
215c66ec88fSEmmanuel Vadot		i2csw_4: i2c@4 {
216c66ec88fSEmmanuel Vadot			#address-cells = <1>;
217c66ec88fSEmmanuel Vadot			#size-cells = <0>;
218c66ec88fSEmmanuel Vadot			reg = <0x4>;
219c66ec88fSEmmanuel Vadot
220c66ec88fSEmmanuel Vadot			pmic: pmic@5e { /* Custom TI PMIC u33 */
221c66ec88fSEmmanuel Vadot				compatible = "ti,tps65086";
222c66ec88fSEmmanuel Vadot				reg = <0x5e>;
223c66ec88fSEmmanuel Vadot				interrupt-parent = <&gpio>;
2246be33864SEmmanuel Vadot				interrupts = <77 IRQ_TYPE_LEVEL_LOW>;
225c66ec88fSEmmanuel Vadot				#gpio-cells = <2>;
226c66ec88fSEmmanuel Vadot				gpio-controller;
227c66ec88fSEmmanuel Vadot			};
228c66ec88fSEmmanuel Vadot		};
229c66ec88fSEmmanuel Vadot		i2csw_5: i2c@5 {
230c66ec88fSEmmanuel Vadot			#address-cells = <1>;
231c66ec88fSEmmanuel Vadot			#size-cells = <0>;
232c66ec88fSEmmanuel Vadot			reg = <5>;
233c66ec88fSEmmanuel Vadot			/* PS_PMBUS */
234c66ec88fSEmmanuel Vadot			u35: ina226@40 { /* u35 */
235c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
236c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
237c66ec88fSEmmanuel Vadot				reg = <0x40>;
238c66ec88fSEmmanuel Vadot				shunt-resistor = <10000>;
239c66ec88fSEmmanuel Vadot				/* MIO31 is alert which should be routed to PMUFW */
240c66ec88fSEmmanuel Vadot			};
241c66ec88fSEmmanuel Vadot		};
242c66ec88fSEmmanuel Vadot		i2csw_6: i2c@6 {
243c66ec88fSEmmanuel Vadot			#address-cells = <1>;
244c66ec88fSEmmanuel Vadot			#size-cells = <0>;
245c66ec88fSEmmanuel Vadot			reg = <6>;
246c66ec88fSEmmanuel Vadot			/*
247c66ec88fSEmmanuel Vadot			 * Not Connected
248c66ec88fSEmmanuel Vadot			 */
249c66ec88fSEmmanuel Vadot		};
250c66ec88fSEmmanuel Vadot		i2csw_7: i2c@7 {
251c66ec88fSEmmanuel Vadot			#address-cells = <1>;
252c66ec88fSEmmanuel Vadot			#size-cells = <0>;
253c66ec88fSEmmanuel Vadot			reg = <7>;
254c66ec88fSEmmanuel Vadot			/*
255c66ec88fSEmmanuel Vadot			 * usb5744 (DNP) - U5
256c66ec88fSEmmanuel Vadot			 * 100kHz - this is default freq for us
257c66ec88fSEmmanuel Vadot			 */
258c66ec88fSEmmanuel Vadot		};
259c66ec88fSEmmanuel Vadot	};
260c66ec88fSEmmanuel Vadot};
261c66ec88fSEmmanuel Vadot
2628cc087a1SEmmanuel Vadot&pinctrl0 {
2638cc087a1SEmmanuel Vadot	status = "okay";
2648cc087a1SEmmanuel Vadot	pinctrl_i2c1_default: i2c1-default {
2658cc087a1SEmmanuel Vadot		mux {
2668cc087a1SEmmanuel Vadot			groups = "i2c1_1_grp";
2678cc087a1SEmmanuel Vadot			function = "i2c1";
2688cc087a1SEmmanuel Vadot		};
2698cc087a1SEmmanuel Vadot
2708cc087a1SEmmanuel Vadot		conf {
2718cc087a1SEmmanuel Vadot			groups = "i2c1_1_grp";
2728cc087a1SEmmanuel Vadot			bias-pull-up;
2738cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
2748cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
2758cc087a1SEmmanuel Vadot		};
2768cc087a1SEmmanuel Vadot	};
2778cc087a1SEmmanuel Vadot
278*01950c46SEmmanuel Vadot	pinctrl_i2c1_gpio: i2c1-gpio-grp {
2798cc087a1SEmmanuel Vadot		mux {
2808cc087a1SEmmanuel Vadot			groups = "gpio0_4_grp", "gpio0_5_grp";
2818cc087a1SEmmanuel Vadot			function = "gpio0";
2828cc087a1SEmmanuel Vadot		};
2838cc087a1SEmmanuel Vadot
2848cc087a1SEmmanuel Vadot		conf {
2858cc087a1SEmmanuel Vadot			groups = "gpio0_4_grp", "gpio0_5_grp";
2868cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
2878cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
2888cc087a1SEmmanuel Vadot		};
2898cc087a1SEmmanuel Vadot	};
2908cc087a1SEmmanuel Vadot
2918cc087a1SEmmanuel Vadot	pinctrl_sdhci0_default: sdhci0-default {
2928cc087a1SEmmanuel Vadot		mux {
2938cc087a1SEmmanuel Vadot			groups = "sdio0_3_grp";
2948cc087a1SEmmanuel Vadot			function = "sdio0";
2958cc087a1SEmmanuel Vadot		};
2968cc087a1SEmmanuel Vadot
2978cc087a1SEmmanuel Vadot		conf {
2988cc087a1SEmmanuel Vadot			groups = "sdio0_3_grp";
2998cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
3008cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
3018cc087a1SEmmanuel Vadot			bias-disable;
3028cc087a1SEmmanuel Vadot		};
3038cc087a1SEmmanuel Vadot
3048cc087a1SEmmanuel Vadot		mux-cd {
3058cc087a1SEmmanuel Vadot			groups = "sdio0_cd_0_grp";
3068cc087a1SEmmanuel Vadot			function = "sdio0_cd";
3078cc087a1SEmmanuel Vadot		};
3088cc087a1SEmmanuel Vadot
3098cc087a1SEmmanuel Vadot		conf-cd {
3108cc087a1SEmmanuel Vadot			groups = "sdio0_cd_0_grp";
3118cc087a1SEmmanuel Vadot			bias-high-impedance;
3128cc087a1SEmmanuel Vadot			bias-pull-up;
3138cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
3148cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
3158cc087a1SEmmanuel Vadot		};
3168cc087a1SEmmanuel Vadot	};
3178cc087a1SEmmanuel Vadot
3188cc087a1SEmmanuel Vadot	pinctrl_sdhci1_default: sdhci1-default {
3198cc087a1SEmmanuel Vadot		mux {
3208cc087a1SEmmanuel Vadot			groups = "sdio1_2_grp";
3218cc087a1SEmmanuel Vadot			function = "sdio1";
3228cc087a1SEmmanuel Vadot		};
3238cc087a1SEmmanuel Vadot
3248cc087a1SEmmanuel Vadot		conf {
3258cc087a1SEmmanuel Vadot			groups = "sdio1_2_grp";
3268cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
3278cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
3288cc087a1SEmmanuel Vadot			bias-disable;
3298cc087a1SEmmanuel Vadot		};
3308cc087a1SEmmanuel Vadot	};
3318cc087a1SEmmanuel Vadot
3328cc087a1SEmmanuel Vadot	pinctrl_spi0_default: spi0-default {
3338cc087a1SEmmanuel Vadot		mux {
3348cc087a1SEmmanuel Vadot			groups = "spi0_3_grp";
3358cc087a1SEmmanuel Vadot			function = "spi0";
3368cc087a1SEmmanuel Vadot		};
3378cc087a1SEmmanuel Vadot
3388cc087a1SEmmanuel Vadot		conf {
3398cc087a1SEmmanuel Vadot			groups = "spi0_3_grp";
3408cc087a1SEmmanuel Vadot			bias-disable;
3418cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
3428cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
3438cc087a1SEmmanuel Vadot		};
3448cc087a1SEmmanuel Vadot
3458cc087a1SEmmanuel Vadot		mux-cs {
3468cc087a1SEmmanuel Vadot			groups = "spi0_ss_9_grp";
3478cc087a1SEmmanuel Vadot			function = "spi0_ss";
3488cc087a1SEmmanuel Vadot		};
3498cc087a1SEmmanuel Vadot
3508cc087a1SEmmanuel Vadot		conf-cs {
3518cc087a1SEmmanuel Vadot			groups = "spi0_ss_9_grp";
3528cc087a1SEmmanuel Vadot			bias-disable;
3538cc087a1SEmmanuel Vadot		};
3548cc087a1SEmmanuel Vadot
3558cc087a1SEmmanuel Vadot	};
3568cc087a1SEmmanuel Vadot
3578cc087a1SEmmanuel Vadot	pinctrl_spi1_default: spi1-default {
3588cc087a1SEmmanuel Vadot		mux {
3598cc087a1SEmmanuel Vadot			groups = "spi1_0_grp";
3608cc087a1SEmmanuel Vadot			function = "spi1";
3618cc087a1SEmmanuel Vadot		};
3628cc087a1SEmmanuel Vadot
3638cc087a1SEmmanuel Vadot		conf {
3648cc087a1SEmmanuel Vadot			groups = "spi1_0_grp";
3658cc087a1SEmmanuel Vadot			bias-disable;
3668cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
3678cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
3688cc087a1SEmmanuel Vadot		};
3698cc087a1SEmmanuel Vadot
3708cc087a1SEmmanuel Vadot		mux-cs {
3718cc087a1SEmmanuel Vadot			groups = "spi1_ss_0_grp";
3728cc087a1SEmmanuel Vadot			function = "spi1_ss";
3738cc087a1SEmmanuel Vadot		};
3748cc087a1SEmmanuel Vadot
3758cc087a1SEmmanuel Vadot		conf-cs {
3768cc087a1SEmmanuel Vadot			groups = "spi1_ss_0_grp";
3778cc087a1SEmmanuel Vadot			bias-disable;
3788cc087a1SEmmanuel Vadot		};
3798cc087a1SEmmanuel Vadot
3808cc087a1SEmmanuel Vadot	};
3818cc087a1SEmmanuel Vadot
3828cc087a1SEmmanuel Vadot	pinctrl_uart0_default: uart0-default {
3838cc087a1SEmmanuel Vadot		mux {
3848cc087a1SEmmanuel Vadot			groups = "uart0_0_grp";
3858cc087a1SEmmanuel Vadot			function = "uart0";
3868cc087a1SEmmanuel Vadot		};
3878cc087a1SEmmanuel Vadot
3888cc087a1SEmmanuel Vadot		conf {
3898cc087a1SEmmanuel Vadot			groups = "uart0_0_grp";
3908cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
3918cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
3928cc087a1SEmmanuel Vadot		};
3938cc087a1SEmmanuel Vadot
3948cc087a1SEmmanuel Vadot		conf-rx {
3958cc087a1SEmmanuel Vadot			pins = "MIO3";
3968cc087a1SEmmanuel Vadot			bias-high-impedance;
3978cc087a1SEmmanuel Vadot		};
3988cc087a1SEmmanuel Vadot
3998cc087a1SEmmanuel Vadot		conf-tx {
4008cc087a1SEmmanuel Vadot			pins = "MIO2";
4018cc087a1SEmmanuel Vadot			bias-disable;
4028cc087a1SEmmanuel Vadot		};
4038cc087a1SEmmanuel Vadot	};
4048cc087a1SEmmanuel Vadot
4058cc087a1SEmmanuel Vadot	pinctrl_uart1_default: uart1-default {
4068cc087a1SEmmanuel Vadot		mux {
4078cc087a1SEmmanuel Vadot			groups = "uart1_0_grp";
4088cc087a1SEmmanuel Vadot			function = "uart1";
4098cc087a1SEmmanuel Vadot		};
4108cc087a1SEmmanuel Vadot
4118cc087a1SEmmanuel Vadot		conf {
4128cc087a1SEmmanuel Vadot			groups = "uart1_0_grp";
4138cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
4148cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
4158cc087a1SEmmanuel Vadot		};
4168cc087a1SEmmanuel Vadot
4178cc087a1SEmmanuel Vadot		conf-rx {
4188cc087a1SEmmanuel Vadot			pins = "MIO1";
4198cc087a1SEmmanuel Vadot			bias-high-impedance;
4208cc087a1SEmmanuel Vadot		};
4218cc087a1SEmmanuel Vadot
4228cc087a1SEmmanuel Vadot		conf-tx {
4238cc087a1SEmmanuel Vadot			pins = "MIO0";
4248cc087a1SEmmanuel Vadot			bias-disable;
4258cc087a1SEmmanuel Vadot		};
4268cc087a1SEmmanuel Vadot	};
4278cc087a1SEmmanuel Vadot
4288cc087a1SEmmanuel Vadot	pinctrl_usb0_default: usb0-default {
4298cc087a1SEmmanuel Vadot		mux {
4308cc087a1SEmmanuel Vadot			groups = "usb0_0_grp";
4318cc087a1SEmmanuel Vadot			function = "usb0";
4328cc087a1SEmmanuel Vadot		};
4338cc087a1SEmmanuel Vadot
4348cc087a1SEmmanuel Vadot		conf {
4358cc087a1SEmmanuel Vadot			groups = "usb0_0_grp";
4368cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
4378cc087a1SEmmanuel Vadot		};
4388cc087a1SEmmanuel Vadot
4398cc087a1SEmmanuel Vadot		conf-rx {
4408cc087a1SEmmanuel Vadot			pins = "MIO52", "MIO53", "MIO55";
4418cc087a1SEmmanuel Vadot			bias-high-impedance;
442f126890aSEmmanuel Vadot			drive-strength = <12>;
443f126890aSEmmanuel Vadot			slew-rate = <SLEW_RATE_FAST>;
4448cc087a1SEmmanuel Vadot		};
4458cc087a1SEmmanuel Vadot
4468cc087a1SEmmanuel Vadot		conf-tx {
4478cc087a1SEmmanuel Vadot			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
4488cc087a1SEmmanuel Vadot			       "MIO60", "MIO61", "MIO62", "MIO63";
4498cc087a1SEmmanuel Vadot			bias-disable;
450f126890aSEmmanuel Vadot			drive-strength = <4>;
451f126890aSEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
4528cc087a1SEmmanuel Vadot		};
4538cc087a1SEmmanuel Vadot	};
4548cc087a1SEmmanuel Vadot
4558cc087a1SEmmanuel Vadot	pinctrl_usb1_default: usb1-default {
4568cc087a1SEmmanuel Vadot		mux {
4578cc087a1SEmmanuel Vadot			groups = "usb1_0_grp";
4588cc087a1SEmmanuel Vadot			function = "usb1";
4598cc087a1SEmmanuel Vadot		};
4608cc087a1SEmmanuel Vadot
4618cc087a1SEmmanuel Vadot		conf {
4628cc087a1SEmmanuel Vadot			groups = "usb1_0_grp";
4638cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
4648cc087a1SEmmanuel Vadot		};
4658cc087a1SEmmanuel Vadot
4668cc087a1SEmmanuel Vadot		conf-rx {
4678cc087a1SEmmanuel Vadot			pins = "MIO64", "MIO65", "MIO67";
4688cc087a1SEmmanuel Vadot			bias-high-impedance;
469f126890aSEmmanuel Vadot			drive-strength = <12>;
470f126890aSEmmanuel Vadot			slew-rate = <SLEW_RATE_FAST>;
4718cc087a1SEmmanuel Vadot		};
4728cc087a1SEmmanuel Vadot
4738cc087a1SEmmanuel Vadot		conf-tx {
4748cc087a1SEmmanuel Vadot			pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
4758cc087a1SEmmanuel Vadot			       "MIO72", "MIO73", "MIO74", "MIO75";
4768cc087a1SEmmanuel Vadot			bias-disable;
477f126890aSEmmanuel Vadot			drive-strength = <4>;
478f126890aSEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
4798cc087a1SEmmanuel Vadot		};
4808cc087a1SEmmanuel Vadot	};
4818cc087a1SEmmanuel Vadot};
4828cc087a1SEmmanuel Vadot
4835def4c47SEmmanuel Vadot&psgtr {
4845def4c47SEmmanuel Vadot	status = "okay";
4858cc087a1SEmmanuel Vadot	/* usb3, dp */
4868cc087a1SEmmanuel Vadot	clocks = <&si5335_0>, <&si5335_1>;
4875def4c47SEmmanuel Vadot	clock-names = "ref0", "ref1";
4885def4c47SEmmanuel Vadot};
4895def4c47SEmmanuel Vadot
490c66ec88fSEmmanuel Vadot&rtc {
491c66ec88fSEmmanuel Vadot	status = "okay";
492c66ec88fSEmmanuel Vadot};
493c66ec88fSEmmanuel Vadot
494c66ec88fSEmmanuel Vadot/* SD0 only supports 3.3V, no level shifter */
495c66ec88fSEmmanuel Vadot&sdhci0 {
496c66ec88fSEmmanuel Vadot	status = "okay";
497c66ec88fSEmmanuel Vadot	no-1-8-v;
498c66ec88fSEmmanuel Vadot	disable-wp;
4998cc087a1SEmmanuel Vadot	pinctrl-names = "default";
5008cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_sdhci0_default>;
5015def4c47SEmmanuel Vadot	xlnx,mio-bank = <0>;
502c66ec88fSEmmanuel Vadot};
503c66ec88fSEmmanuel Vadot
504c66ec88fSEmmanuel Vadot&sdhci1 {
505c66ec88fSEmmanuel Vadot	status = "okay";
506c66ec88fSEmmanuel Vadot	bus-width = <0x4>;
5078cc087a1SEmmanuel Vadot	pinctrl-names = "default";
5088cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_sdhci1_default>;
5095def4c47SEmmanuel Vadot	xlnx,mio-bank = <0>;
510c66ec88fSEmmanuel Vadot	non-removable;
511c66ec88fSEmmanuel Vadot	disable-wp;
512c66ec88fSEmmanuel Vadot	cap-power-off-card;
513c66ec88fSEmmanuel Vadot	mmc-pwrseq = <&sdio_pwrseq>;
514c66ec88fSEmmanuel Vadot	vqmmc-supply = <&wmmcsdio_fixed>;
515c66ec88fSEmmanuel Vadot	#address-cells = <1>;
516c66ec88fSEmmanuel Vadot	#size-cells = <0>;
517c66ec88fSEmmanuel Vadot	wlcore: wifi@2 {
518c66ec88fSEmmanuel Vadot		compatible = "ti,wl1831";
519c66ec88fSEmmanuel Vadot		reg = <2>;
520c66ec88fSEmmanuel Vadot		interrupt-parent = <&gpio>;
521c66ec88fSEmmanuel Vadot		interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
522c66ec88fSEmmanuel Vadot	};
523c66ec88fSEmmanuel Vadot};
524c66ec88fSEmmanuel Vadot
525c66ec88fSEmmanuel Vadot&spi0 { /* Low Speed connector */
526c66ec88fSEmmanuel Vadot	status = "okay";
527c66ec88fSEmmanuel Vadot	label = "LS-SPI0";
528c66ec88fSEmmanuel Vadot	num-cs = <1>;
5298cc087a1SEmmanuel Vadot	pinctrl-names = "default";
5308cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_spi0_default>;
531c66ec88fSEmmanuel Vadot};
532c66ec88fSEmmanuel Vadot
533c66ec88fSEmmanuel Vadot&spi1 { /* High Speed connector */
534c66ec88fSEmmanuel Vadot	status = "okay";
535c66ec88fSEmmanuel Vadot	label = "HS-SPI1";
536c66ec88fSEmmanuel Vadot	num-cs = <1>;
5378cc087a1SEmmanuel Vadot	pinctrl-names = "default";
5388cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_spi1_default>;
539c66ec88fSEmmanuel Vadot};
540c66ec88fSEmmanuel Vadot
541c66ec88fSEmmanuel Vadot&uart0 {
542c66ec88fSEmmanuel Vadot	status = "okay";
5438cc087a1SEmmanuel Vadot	pinctrl-names = "default";
5448cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart0_default>;
545c66ec88fSEmmanuel Vadot	bluetooth {
546c66ec88fSEmmanuel Vadot		compatible = "ti,wl1831-st";
547c66ec88fSEmmanuel Vadot		enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
548c66ec88fSEmmanuel Vadot	};
549c66ec88fSEmmanuel Vadot};
550c66ec88fSEmmanuel Vadot
551c66ec88fSEmmanuel Vadot&uart1 {
552c66ec88fSEmmanuel Vadot	status = "okay";
5538cc087a1SEmmanuel Vadot	pinctrl-names = "default";
5548cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1_default>;
555c66ec88fSEmmanuel Vadot};
556c66ec88fSEmmanuel Vadot
557c66ec88fSEmmanuel Vadot/* ULPI SMSC USB3320 */
558c66ec88fSEmmanuel Vadot&usb0 {
559c66ec88fSEmmanuel Vadot	status = "okay";
5608cc087a1SEmmanuel Vadot	pinctrl-names = "default";
5618cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usb0_default>;
5628cc087a1SEmmanuel Vadot	phy-names = "usb3-phy";
5638cc087a1SEmmanuel Vadot	phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
564f126890aSEmmanuel Vadot	/delete-property/ reset-gpios;
5658cc087a1SEmmanuel Vadot};
5668cc087a1SEmmanuel Vadot
5678cc087a1SEmmanuel Vadot&dwc3_0 {
5688cc087a1SEmmanuel Vadot	status = "okay";
569c66ec88fSEmmanuel Vadot	dr_mode = "peripheral";
5708cc087a1SEmmanuel Vadot	maximum-speed = "super-speed";
571c66ec88fSEmmanuel Vadot};
572c66ec88fSEmmanuel Vadot
573c66ec88fSEmmanuel Vadot/* ULPI SMSC USB3320 */
574c66ec88fSEmmanuel Vadot&usb1 {
575c66ec88fSEmmanuel Vadot	status = "okay";
5768cc087a1SEmmanuel Vadot	pinctrl-names = "default";
5778cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usb1_default>;
5788cc087a1SEmmanuel Vadot	phy-names = "usb3-phy";
5798cc087a1SEmmanuel Vadot	phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
580f126890aSEmmanuel Vadot	reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>;
5818cc087a1SEmmanuel Vadot};
5828cc087a1SEmmanuel Vadot
5838cc087a1SEmmanuel Vadot&dwc3_1 {
5848cc087a1SEmmanuel Vadot	status = "okay";
585c66ec88fSEmmanuel Vadot	dr_mode = "host";
5868cc087a1SEmmanuel Vadot	maximum-speed = "super-speed";
587c66ec88fSEmmanuel Vadot};
588c66ec88fSEmmanuel Vadot
589c66ec88fSEmmanuel Vadot&watchdog0 {
590c66ec88fSEmmanuel Vadot	status = "okay";
591c66ec88fSEmmanuel Vadot};
5925def4c47SEmmanuel Vadot
593f126890aSEmmanuel Vadot&xilinx_ams {
594f126890aSEmmanuel Vadot	status = "okay";
595f126890aSEmmanuel Vadot};
596f126890aSEmmanuel Vadot
597f126890aSEmmanuel Vadot&ams_ps {
598f126890aSEmmanuel Vadot	status = "okay";
599f126890aSEmmanuel Vadot};
600f126890aSEmmanuel Vadot
6015def4c47SEmmanuel Vadot&zynqmp_dpdma {
6025def4c47SEmmanuel Vadot	status = "okay";
6035def4c47SEmmanuel Vadot};
6045def4c47SEmmanuel Vadot
6055def4c47SEmmanuel Vadot&zynqmp_dpsub {
6065def4c47SEmmanuel Vadot	status = "okay";
6075def4c47SEmmanuel Vadot	phy-names = "dp-phy0", "dp-phy1";
6085def4c47SEmmanuel Vadot	phys = <&psgtr 1 PHY_TYPE_DP 0 1>,
6095def4c47SEmmanuel Vadot	       <&psgtr 0 PHY_TYPE_DP 1 1>;
6105def4c47SEmmanuel Vadot};
611