xref: /openbmc/linux/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
15869ba06SMichal Simek// SPDX-License-Identifier: GPL-2.0+
25869ba06SMichal Simek/*
35869ba06SMichal Simek * dts file for Xilinx ZynqMP ZCU100 revC
45869ba06SMichal Simek *
5f8673fd5SAshok Reddy Soma * (C) Copyright 2016 - 2022, Xilinx, Inc.
6f8673fd5SAshok Reddy Soma * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
75869ba06SMichal Simek *
84e4ddd3dSMichal Simek * Michal Simek <michal.simek@amd.com>
95869ba06SMichal Simek * Nathalie Chan King Choy
105869ba06SMichal Simek */
115869ba06SMichal Simek
125869ba06SMichal Simek/dts-v1/;
135869ba06SMichal Simek
145869ba06SMichal Simek#include "zynqmp.dtsi"
159c8a47b4SRajan Vaja#include "zynqmp-clk-ccf.dtsi"
165869ba06SMichal Simek#include <dt-bindings/input/input.h>
175869ba06SMichal Simek#include <dt-bindings/interrupt-controller/irq.h>
185869ba06SMichal Simek#include <dt-bindings/gpio/gpio.h>
19c821045fSMichal Simek#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
2055563399SLaurent Pinchart#include <dt-bindings/phy/phy.h>
215869ba06SMichal Simek
225869ba06SMichal Simek/ {
235869ba06SMichal Simek	model = "ZynqMP ZCU100 RevC";
245869ba06SMichal Simek	compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp";
255869ba06SMichal Simek
265869ba06SMichal Simek	aliases {
275869ba06SMichal Simek		i2c0 = &i2c1;
285869ba06SMichal Simek		rtc0 = &rtc;
295869ba06SMichal Simek		serial0 = &uart1;
305869ba06SMichal Simek		serial1 = &uart0;
315869ba06SMichal Simek		serial2 = &dcc;
325869ba06SMichal Simek		spi0 = &spi0;
335869ba06SMichal Simek		spi1 = &spi1;
34b61c4ff9SMichal Simek		usb0 = &usb0;
35b61c4ff9SMichal Simek		usb1 = &usb1;
365869ba06SMichal Simek		mmc0 = &sdhci0;
375869ba06SMichal Simek		mmc1 = &sdhci1;
385869ba06SMichal Simek	};
395869ba06SMichal Simek
405869ba06SMichal Simek	chosen {
415869ba06SMichal Simek		bootargs = "earlycon";
425869ba06SMichal Simek		stdout-path = "serial0:115200n8";
435869ba06SMichal Simek	};
445869ba06SMichal Simek
455869ba06SMichal Simek	memory@0 {
465869ba06SMichal Simek		device_type = "memory";
475869ba06SMichal Simek		reg = <0x0 0x0 0x0 0x80000000>;
485869ba06SMichal Simek	};
495869ba06SMichal Simek
505869ba06SMichal Simek	gpio-keys {
515869ba06SMichal Simek		compatible = "gpio-keys";
525869ba06SMichal Simek		autorepeat;
53228e8a88SKrzysztof Kozlowski		switch-4 {
545869ba06SMichal Simek			label = "sw4";
555869ba06SMichal Simek			gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
565869ba06SMichal Simek			linux,code = <KEY_POWER>;
571696acf4SSudeep Holla			wakeup-source;
585869ba06SMichal Simek			autorepeat;
595869ba06SMichal Simek		};
605869ba06SMichal Simek	};
615869ba06SMichal Simek
62255118deSMichal Simek	iio-hwmon {
63255118deSMichal Simek		compatible = "iio-hwmon";
64255118deSMichal Simek		io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>,
65255118deSMichal Simek			      <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>,
66255118deSMichal Simek			      <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>,
67255118deSMichal Simek			      <&xilinx_ams 9>, <&xilinx_ams 10>,
68255118deSMichal Simek			      <&xilinx_ams 11>, <&xilinx_ams 12>;
69255118deSMichal Simek	};
70255118deSMichal Simek
715869ba06SMichal Simek	leds {
725869ba06SMichal Simek		compatible = "gpio-leds";
739a19a39eSMichal Simek		led-ds2 {
745869ba06SMichal Simek			label = "ds2";
755869ba06SMichal Simek			gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
765869ba06SMichal Simek			linux,default-trigger = "heartbeat";
775869ba06SMichal Simek		};
785869ba06SMichal Simek
799a19a39eSMichal Simek		led-ds3 {
805869ba06SMichal Simek			label = "ds3";
815869ba06SMichal Simek			gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
825869ba06SMichal Simek			linux,default-trigger = "phy0tx"; /* WLAN tx */
835869ba06SMichal Simek			default-state = "off";
845869ba06SMichal Simek		};
855869ba06SMichal Simek
869a19a39eSMichal Simek		led-ds4 {
875869ba06SMichal Simek			label = "ds4";
885869ba06SMichal Simek			gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
895869ba06SMichal Simek			linux,default-trigger = "phy0rx"; /* WLAN rx */
905869ba06SMichal Simek			default-state = "off";
915869ba06SMichal Simek		};
925869ba06SMichal Simek
939a19a39eSMichal Simek		led-ds5 {
945869ba06SMichal Simek			label = "ds5";
955869ba06SMichal Simek			gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
965869ba06SMichal Simek			linux,default-trigger = "bluetooth-power";
975869ba06SMichal Simek		};
985869ba06SMichal Simek
9943811f31SKrzysztof Kozlowski		led-vbus-det { /* U5 USB5744 VBUS detection via MIO25 */
1005869ba06SMichal Simek			label = "vbus_det";
1015869ba06SMichal Simek			gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
1025869ba06SMichal Simek			default-state = "on";
1035869ba06SMichal Simek		};
1045869ba06SMichal Simek	};
1055869ba06SMichal Simek
1065869ba06SMichal Simek	wmmcsdio_fixed: fixedregulator-mmcsdio {
1075869ba06SMichal Simek		compatible = "regulator-fixed";
1085869ba06SMichal Simek		regulator-name = "wmmcsdio_fixed";
1095869ba06SMichal Simek		regulator-min-microvolt = <3300000>;
1105869ba06SMichal Simek		regulator-max-microvolt = <3300000>;
1115869ba06SMichal Simek		regulator-always-on;
1125869ba06SMichal Simek		regulator-boot-on;
1135869ba06SMichal Simek	};
1145869ba06SMichal Simek
115d1d4445aSMichal Simek	sdio_pwrseq: sdio-pwrseq {
1165869ba06SMichal Simek		compatible = "mmc-pwrseq-simple";
1175869ba06SMichal Simek		reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
11835a4f89cSJan Kiszka		post-power-on-delay-ms = <10>;
1195869ba06SMichal Simek	};
120526a63f0SMichal Simek
121526a63f0SMichal Simek	ina226 {
122526a63f0SMichal Simek		compatible = "iio-hwmon";
123526a63f0SMichal Simek		io-channels = <&u35 0>, <&u35 1>, <&u35 2>, <&u35 3>;
124526a63f0SMichal Simek	};
12555563399SLaurent Pinchart
126c7d5a461SMichal Simek	si5335_0: si5335_0 { /* clk0_usb - u23 */
12755563399SLaurent Pinchart		compatible = "fixed-clock";
12855563399SLaurent Pinchart		#clock-cells = <0>;
12955563399SLaurent Pinchart		clock-frequency = <26000000>;
13055563399SLaurent Pinchart	};
13155563399SLaurent Pinchart
132c7d5a461SMichal Simek	si5335_1: si5335_1 { /* clk1_dp - u23 */
13355563399SLaurent Pinchart		compatible = "fixed-clock";
13455563399SLaurent Pinchart		#clock-cells = <0>;
13555563399SLaurent Pinchart		clock-frequency = <27000000>;
13655563399SLaurent Pinchart	};
1375869ba06SMichal Simek};
1385869ba06SMichal Simek
1395869ba06SMichal Simek&dcc {
1405869ba06SMichal Simek	status = "okay";
1415869ba06SMichal Simek};
1425869ba06SMichal Simek
1435869ba06SMichal Simek&gpio {
1445869ba06SMichal Simek	status = "okay";
1455869ba06SMichal Simek	gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
1465869ba06SMichal Simek			  "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
1475869ba06SMichal Simek			  "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
1485869ba06SMichal Simek			  "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
1495869ba06SMichal Simek			  "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
1505869ba06SMichal Simek			  "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
1515869ba06SMichal Simek			  "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
1525869ba06SMichal Simek			  "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
1535869ba06SMichal Simek			  "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
1545869ba06SMichal Simek			  "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
1555869ba06SMichal Simek			  "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
1565869ba06SMichal Simek			  "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
1575869ba06SMichal Simek			  "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
1585869ba06SMichal Simek			  "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
1595869ba06SMichal Simek			  "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
1605869ba06SMichal Simek			  "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
1615869ba06SMichal Simek			  "", "",
1625869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1635869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1645869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1655869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1665869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1675869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1685869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1695869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1705869ba06SMichal Simek			  "", "", "", "", "", "", "", "", "", "",
1715869ba06SMichal Simek			  "", "", "", "";
1725869ba06SMichal Simek};
1735869ba06SMichal Simek
17437e78949SParth Gajjar&gpu {
17537e78949SParth Gajjar	status = "okay";
17637e78949SParth Gajjar};
17737e78949SParth Gajjar
1785869ba06SMichal Simek&i2c1 {
1795869ba06SMichal Simek	status = "okay";
180c821045fSMichal Simek	pinctrl-names = "default", "gpio";
181c821045fSMichal Simek	pinctrl-0 = <&pinctrl_i2c1_default>;
182c821045fSMichal Simek	pinctrl-1 = <&pinctrl_i2c1_gpio>;
183*ee6c637fSManikanta Guntupalli	scl-gpios = <&gpio 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
184*ee6c637fSManikanta Guntupalli	sda-gpios = <&gpio 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
1855869ba06SMichal Simek	clock-frequency = <100000>;
1865869ba06SMichal Simek	i2c-mux@75 { /* u11 */
1875869ba06SMichal Simek		compatible = "nxp,pca9548";
1885869ba06SMichal Simek		#address-cells = <1>;
1895869ba06SMichal Simek		#size-cells = <0>;
1905869ba06SMichal Simek		reg = <0x75>;
1915869ba06SMichal Simek		i2csw_0: i2c@0 {
1925869ba06SMichal Simek			#address-cells = <1>;
1935869ba06SMichal Simek			#size-cells = <0>;
1945869ba06SMichal Simek			reg = <0>;
1955869ba06SMichal Simek			label = "LS-I2C0";
1965869ba06SMichal Simek		};
1975869ba06SMichal Simek		i2csw_1: i2c@1 {
1985869ba06SMichal Simek			#address-cells = <1>;
1995869ba06SMichal Simek			#size-cells = <0>;
2005869ba06SMichal Simek			reg = <1>;
2015869ba06SMichal Simek			label = "LS-I2C1";
2025869ba06SMichal Simek		};
2035869ba06SMichal Simek		i2csw_2: i2c@2 {
2045869ba06SMichal Simek			#address-cells = <1>;
2055869ba06SMichal Simek			#size-cells = <0>;
2065869ba06SMichal Simek			reg = <2>;
2075869ba06SMichal Simek			label = "HS-I2C2";
2085869ba06SMichal Simek		};
2095869ba06SMichal Simek		i2csw_3: i2c@3 {
2105869ba06SMichal Simek			#address-cells = <1>;
2115869ba06SMichal Simek			#size-cells = <0>;
2125869ba06SMichal Simek			reg = <3>;
2135869ba06SMichal Simek			label = "HS-I2C3";
2145869ba06SMichal Simek		};
2155869ba06SMichal Simek		i2csw_4: i2c@4 {
2165869ba06SMichal Simek			#address-cells = <1>;
2175869ba06SMichal Simek			#size-cells = <0>;
2185869ba06SMichal Simek			reg = <0x4>;
2195869ba06SMichal Simek
2205869ba06SMichal Simek			pmic: pmic@5e { /* Custom TI PMIC u33 */
2215869ba06SMichal Simek				compatible = "ti,tps65086";
2225869ba06SMichal Simek				reg = <0x5e>;
2235869ba06SMichal Simek				interrupt-parent = <&gpio>;
224fa7a98ebSKrzysztof Kozlowski				interrupts = <77 IRQ_TYPE_LEVEL_LOW>;
2255869ba06SMichal Simek				#gpio-cells = <2>;
2265869ba06SMichal Simek				gpio-controller;
2275869ba06SMichal Simek			};
2285869ba06SMichal Simek		};
2295869ba06SMichal Simek		i2csw_5: i2c@5 {
2305869ba06SMichal Simek			#address-cells = <1>;
2315869ba06SMichal Simek			#size-cells = <0>;
2325869ba06SMichal Simek			reg = <5>;
2335869ba06SMichal Simek			/* PS_PMBUS */
234526a63f0SMichal Simek			u35: ina226@40 { /* u35 */
2355869ba06SMichal Simek				compatible = "ti,ina226";
236526a63f0SMichal Simek				#io-channel-cells = <1>;
2375869ba06SMichal Simek				reg = <0x40>;
2385869ba06SMichal Simek				shunt-resistor = <10000>;
2395869ba06SMichal Simek				/* MIO31 is alert which should be routed to PMUFW */
2405869ba06SMichal Simek			};
2415869ba06SMichal Simek		};
2425869ba06SMichal Simek		i2csw_6: i2c@6 {
2435869ba06SMichal Simek			#address-cells = <1>;
2445869ba06SMichal Simek			#size-cells = <0>;
2455869ba06SMichal Simek			reg = <6>;
2465869ba06SMichal Simek			/*
2475869ba06SMichal Simek			 * Not Connected
2485869ba06SMichal Simek			 */
2495869ba06SMichal Simek		};
2505869ba06SMichal Simek		i2csw_7: i2c@7 {
2515869ba06SMichal Simek			#address-cells = <1>;
2525869ba06SMichal Simek			#size-cells = <0>;
2535869ba06SMichal Simek			reg = <7>;
2545869ba06SMichal Simek			/*
2555869ba06SMichal Simek			 * usb5744 (DNP) - U5
2565869ba06SMichal Simek			 * 100kHz - this is default freq for us
2575869ba06SMichal Simek			 */
2585869ba06SMichal Simek		};
2595869ba06SMichal Simek	};
2605869ba06SMichal Simek};
2615869ba06SMichal Simek
262c821045fSMichal Simek&pinctrl0 {
26355563399SLaurent Pinchart	status = "okay";
264c821045fSMichal Simek	pinctrl_i2c1_default: i2c1-default {
265c821045fSMichal Simek		mux {
266c821045fSMichal Simek			groups = "i2c1_1_grp";
267c821045fSMichal Simek			function = "i2c1";
268c821045fSMichal Simek		};
269c821045fSMichal Simek
270c821045fSMichal Simek		conf {
271c821045fSMichal Simek			groups = "i2c1_1_grp";
272c821045fSMichal Simek			bias-pull-up;
273c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
274c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
275c821045fSMichal Simek		};
276c821045fSMichal Simek	};
277c821045fSMichal Simek
278c821045fSMichal Simek	pinctrl_i2c1_gpio: i2c1-gpio {
279c821045fSMichal Simek		mux {
280c821045fSMichal Simek			groups = "gpio0_4_grp", "gpio0_5_grp";
281c821045fSMichal Simek			function = "gpio0";
282c821045fSMichal Simek		};
283c821045fSMichal Simek
284c821045fSMichal Simek		conf {
285c821045fSMichal Simek			groups = "gpio0_4_grp", "gpio0_5_grp";
286c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
287c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
288c821045fSMichal Simek		};
289c821045fSMichal Simek	};
290c821045fSMichal Simek
291c821045fSMichal Simek	pinctrl_sdhci0_default: sdhci0-default {
292c821045fSMichal Simek		mux {
293c821045fSMichal Simek			groups = "sdio0_3_grp";
294c821045fSMichal Simek			function = "sdio0";
295c821045fSMichal Simek		};
296c821045fSMichal Simek
297c821045fSMichal Simek		conf {
298c821045fSMichal Simek			groups = "sdio0_3_grp";
299c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
300c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
301c821045fSMichal Simek			bias-disable;
302c821045fSMichal Simek		};
303c821045fSMichal Simek
304c821045fSMichal Simek		mux-cd {
305c821045fSMichal Simek			groups = "sdio0_cd_0_grp";
306c821045fSMichal Simek			function = "sdio0_cd";
307c821045fSMichal Simek		};
308c821045fSMichal Simek
309c821045fSMichal Simek		conf-cd {
310c821045fSMichal Simek			groups = "sdio0_cd_0_grp";
311c821045fSMichal Simek			bias-high-impedance;
312c821045fSMichal Simek			bias-pull-up;
313c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
314c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
315c821045fSMichal Simek		};
316c821045fSMichal Simek	};
317c821045fSMichal Simek
318c821045fSMichal Simek	pinctrl_sdhci1_default: sdhci1-default {
319c821045fSMichal Simek		mux {
320c821045fSMichal Simek			groups = "sdio1_2_grp";
321c821045fSMichal Simek			function = "sdio1";
322c821045fSMichal Simek		};
323c821045fSMichal Simek
324c821045fSMichal Simek		conf {
325c821045fSMichal Simek			groups = "sdio1_2_grp";
326c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
327c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
328c821045fSMichal Simek			bias-disable;
329c821045fSMichal Simek		};
330c821045fSMichal Simek	};
331c821045fSMichal Simek
332c821045fSMichal Simek	pinctrl_spi0_default: spi0-default {
333c821045fSMichal Simek		mux {
334c821045fSMichal Simek			groups = "spi0_3_grp";
335c821045fSMichal Simek			function = "spi0";
336c821045fSMichal Simek		};
337c821045fSMichal Simek
338c821045fSMichal Simek		conf {
339c821045fSMichal Simek			groups = "spi0_3_grp";
340c821045fSMichal Simek			bias-disable;
341c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
342c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
343c821045fSMichal Simek		};
344c821045fSMichal Simek
345c821045fSMichal Simek		mux-cs {
346c821045fSMichal Simek			groups = "spi0_ss_9_grp";
347c821045fSMichal Simek			function = "spi0_ss";
348c821045fSMichal Simek		};
349c821045fSMichal Simek
350c821045fSMichal Simek		conf-cs {
351c821045fSMichal Simek			groups = "spi0_ss_9_grp";
352c821045fSMichal Simek			bias-disable;
353c821045fSMichal Simek		};
354c821045fSMichal Simek
355c821045fSMichal Simek	};
356c821045fSMichal Simek
357c821045fSMichal Simek	pinctrl_spi1_default: spi1-default {
358c821045fSMichal Simek		mux {
359c821045fSMichal Simek			groups = "spi1_0_grp";
360c821045fSMichal Simek			function = "spi1";
361c821045fSMichal Simek		};
362c821045fSMichal Simek
363c821045fSMichal Simek		conf {
364c821045fSMichal Simek			groups = "spi1_0_grp";
365c821045fSMichal Simek			bias-disable;
366c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
367c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
368c821045fSMichal Simek		};
369c821045fSMichal Simek
370c821045fSMichal Simek		mux-cs {
371c821045fSMichal Simek			groups = "spi1_ss_0_grp";
372c821045fSMichal Simek			function = "spi1_ss";
373c821045fSMichal Simek		};
374c821045fSMichal Simek
375c821045fSMichal Simek		conf-cs {
376c821045fSMichal Simek			groups = "spi1_ss_0_grp";
377c821045fSMichal Simek			bias-disable;
378c821045fSMichal Simek		};
379c821045fSMichal Simek
380c821045fSMichal Simek	};
381c821045fSMichal Simek
382c821045fSMichal Simek	pinctrl_uart0_default: uart0-default {
383c821045fSMichal Simek		mux {
384c821045fSMichal Simek			groups = "uart0_0_grp";
385c821045fSMichal Simek			function = "uart0";
386c821045fSMichal Simek		};
387c821045fSMichal Simek
388c821045fSMichal Simek		conf {
389c821045fSMichal Simek			groups = "uart0_0_grp";
390c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
391c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
392c821045fSMichal Simek		};
393c821045fSMichal Simek
394c821045fSMichal Simek		conf-rx {
395c821045fSMichal Simek			pins = "MIO3";
396c821045fSMichal Simek			bias-high-impedance;
397c821045fSMichal Simek		};
398c821045fSMichal Simek
399c821045fSMichal Simek		conf-tx {
400c821045fSMichal Simek			pins = "MIO2";
401c821045fSMichal Simek			bias-disable;
402c821045fSMichal Simek		};
403c821045fSMichal Simek	};
404c821045fSMichal Simek
405c821045fSMichal Simek	pinctrl_uart1_default: uart1-default {
406c821045fSMichal Simek		mux {
407c821045fSMichal Simek			groups = "uart1_0_grp";
408c821045fSMichal Simek			function = "uart1";
409c821045fSMichal Simek		};
410c821045fSMichal Simek
411c821045fSMichal Simek		conf {
412c821045fSMichal Simek			groups = "uart1_0_grp";
413c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
414c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
415c821045fSMichal Simek		};
416c821045fSMichal Simek
417c821045fSMichal Simek		conf-rx {
418c821045fSMichal Simek			pins = "MIO1";
419c821045fSMichal Simek			bias-high-impedance;
420c821045fSMichal Simek		};
421c821045fSMichal Simek
422c821045fSMichal Simek		conf-tx {
423c821045fSMichal Simek			pins = "MIO0";
424c821045fSMichal Simek			bias-disable;
425c821045fSMichal Simek		};
426c821045fSMichal Simek	};
427c821045fSMichal Simek
428c821045fSMichal Simek	pinctrl_usb0_default: usb0-default {
429c821045fSMichal Simek		mux {
430c821045fSMichal Simek			groups = "usb0_0_grp";
431c821045fSMichal Simek			function = "usb0";
432c821045fSMichal Simek		};
433c821045fSMichal Simek
434c821045fSMichal Simek		conf {
435c821045fSMichal Simek			groups = "usb0_0_grp";
436c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
437c821045fSMichal Simek		};
438c821045fSMichal Simek
439c821045fSMichal Simek		conf-rx {
440c821045fSMichal Simek			pins = "MIO52", "MIO53", "MIO55";
441c821045fSMichal Simek			bias-high-impedance;
442f8673fd5SAshok Reddy Soma			drive-strength = <12>;
443f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_FAST>;
444c821045fSMichal Simek		};
445c821045fSMichal Simek
446c821045fSMichal Simek		conf-tx {
447c821045fSMichal Simek			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
448c821045fSMichal Simek			       "MIO60", "MIO61", "MIO62", "MIO63";
449c821045fSMichal Simek			bias-disable;
450f8673fd5SAshok Reddy Soma			drive-strength = <4>;
451f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_SLOW>;
452c821045fSMichal Simek		};
453c821045fSMichal Simek	};
454c821045fSMichal Simek
455c821045fSMichal Simek	pinctrl_usb1_default: usb1-default {
456c821045fSMichal Simek		mux {
457c821045fSMichal Simek			groups = "usb1_0_grp";
458c821045fSMichal Simek			function = "usb1";
459c821045fSMichal Simek		};
460c821045fSMichal Simek
461c821045fSMichal Simek		conf {
462c821045fSMichal Simek			groups = "usb1_0_grp";
463c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
464c821045fSMichal Simek		};
465c821045fSMichal Simek
466c821045fSMichal Simek		conf-rx {
467c821045fSMichal Simek			pins = "MIO64", "MIO65", "MIO67";
468c821045fSMichal Simek			bias-high-impedance;
469f8673fd5SAshok Reddy Soma			drive-strength = <12>;
470f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_FAST>;
471c821045fSMichal Simek		};
472c821045fSMichal Simek
473c821045fSMichal Simek		conf-tx {
474c821045fSMichal Simek			pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
475c821045fSMichal Simek			       "MIO72", "MIO73", "MIO74", "MIO75";
476c821045fSMichal Simek			bias-disable;
477f8673fd5SAshok Reddy Soma			drive-strength = <4>;
478f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_SLOW>;
479c821045fSMichal Simek		};
480c821045fSMichal Simek	};
481c821045fSMichal Simek};
482c821045fSMichal Simek
483c821045fSMichal Simek&psgtr {
484c7d5a461SMichal Simek	status = "okay";
485c7d5a461SMichal Simek	/* usb3, dp */
486c7d5a461SMichal Simek	clocks = <&si5335_0>, <&si5335_1>;
48755563399SLaurent Pinchart	clock-names = "ref0", "ref1";
48855563399SLaurent Pinchart};
48955563399SLaurent Pinchart
4905869ba06SMichal Simek&rtc {
4915869ba06SMichal Simek	status = "okay";
4925869ba06SMichal Simek};
4935869ba06SMichal Simek
4945869ba06SMichal Simek/* SD0 only supports 3.3V, no level shifter */
4955869ba06SMichal Simek&sdhci0 {
4965869ba06SMichal Simek	status = "okay";
4975869ba06SMichal Simek	no-1-8-v;
4985869ba06SMichal Simek	disable-wp;
499c821045fSMichal Simek	pinctrl-names = "default";
500c821045fSMichal Simek	pinctrl-0 = <&pinctrl_sdhci0_default>;
50163481699SMichal Simek	xlnx,mio-bank = <0>;
5025869ba06SMichal Simek};
5035869ba06SMichal Simek
5045869ba06SMichal Simek&sdhci1 {
5055869ba06SMichal Simek	status = "okay";
5065869ba06SMichal Simek	bus-width = <0x4>;
507c821045fSMichal Simek	pinctrl-names = "default";
508c821045fSMichal Simek	pinctrl-0 = <&pinctrl_sdhci1_default>;
50963481699SMichal Simek	xlnx,mio-bank = <0>;
5105869ba06SMichal Simek	non-removable;
5115869ba06SMichal Simek	disable-wp;
5125869ba06SMichal Simek	cap-power-off-card;
5135869ba06SMichal Simek	mmc-pwrseq = <&sdio_pwrseq>;
5145869ba06SMichal Simek	vqmmc-supply = <&wmmcsdio_fixed>;
5155869ba06SMichal Simek	#address-cells = <1>;
5165869ba06SMichal Simek	#size-cells = <0>;
5175869ba06SMichal Simek	wlcore: wifi@2 {
5185869ba06SMichal Simek		compatible = "ti,wl1831";
5195869ba06SMichal Simek		reg = <2>;
5205869ba06SMichal Simek		interrupt-parent = <&gpio>;
5215869ba06SMichal Simek		interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
5225869ba06SMichal Simek	};
5235869ba06SMichal Simek};
5245869ba06SMichal Simek
5255869ba06SMichal Simek&spi0 { /* Low Speed connector */
5265869ba06SMichal Simek	status = "okay";
5275869ba06SMichal Simek	label = "LS-SPI0";
528c8e75cd4SMichal Simek	num-cs = <1>;
529c821045fSMichal Simek	pinctrl-names = "default";
530c821045fSMichal Simek	pinctrl-0 = <&pinctrl_spi0_default>;
5315869ba06SMichal Simek};
5325869ba06SMichal Simek
5335869ba06SMichal Simek&spi1 { /* High Speed connector */
5345869ba06SMichal Simek	status = "okay";
5355869ba06SMichal Simek	label = "HS-SPI1";
536c8e75cd4SMichal Simek	num-cs = <1>;
537c821045fSMichal Simek	pinctrl-names = "default";
538c821045fSMichal Simek	pinctrl-0 = <&pinctrl_spi1_default>;
5395869ba06SMichal Simek};
5405869ba06SMichal Simek
5415869ba06SMichal Simek&uart0 {
5425869ba06SMichal Simek	status = "okay";
543c821045fSMichal Simek	pinctrl-names = "default";
544c821045fSMichal Simek	pinctrl-0 = <&pinctrl_uart0_default>;
545a5c2ed48SMichal Simek	bluetooth {
546a5c2ed48SMichal Simek		compatible = "ti,wl1831-st";
547a5c2ed48SMichal Simek		enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
548a5c2ed48SMichal Simek	};
5495869ba06SMichal Simek};
5505869ba06SMichal Simek
5515869ba06SMichal Simek&uart1 {
5525869ba06SMichal Simek	status = "okay";
553c821045fSMichal Simek	pinctrl-names = "default";
554c821045fSMichal Simek	pinctrl-0 = <&pinctrl_uart1_default>;
5555869ba06SMichal Simek};
5565869ba06SMichal Simek
5575869ba06SMichal Simek/* ULPI SMSC USB3320 */
5585869ba06SMichal Simek&usb0 {
5595869ba06SMichal Simek	status = "okay";
560c821045fSMichal Simek	pinctrl-names = "default";
561c821045fSMichal Simek	pinctrl-0 = <&pinctrl_usb0_default>;
5628b698f1bSMichal Simek	phy-names = "usb3-phy";
5638b698f1bSMichal Simek	phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
564028d125aSMichal Simek	/delete-property/ reset-gpios;
565b61c4ff9SMichal Simek};
566b61c4ff9SMichal Simek
567b61c4ff9SMichal Simek&dwc3_0 {
568b61c4ff9SMichal Simek	status = "okay";
569b61c4ff9SMichal Simek	dr_mode = "peripheral";
5708b698f1bSMichal Simek	maximum-speed = "super-speed";
5715869ba06SMichal Simek};
5725869ba06SMichal Simek
5735869ba06SMichal Simek/* ULPI SMSC USB3320 */
5745869ba06SMichal Simek&usb1 {
5755869ba06SMichal Simek	status = "okay";
576c821045fSMichal Simek	pinctrl-names = "default";
577c821045fSMichal Simek	pinctrl-0 = <&pinctrl_usb1_default>;
5788b698f1bSMichal Simek	phy-names = "usb3-phy";
5798b698f1bSMichal Simek	phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
580028d125aSMichal Simek	reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>;
581b61c4ff9SMichal Simek};
582b61c4ff9SMichal Simek
583b61c4ff9SMichal Simek&dwc3_1 {
584b61c4ff9SMichal Simek	status = "okay";
585b61c4ff9SMichal Simek	dr_mode = "host";
5868b698f1bSMichal Simek	maximum-speed = "super-speed";
5875869ba06SMichal Simek};
5885869ba06SMichal Simek
5895869ba06SMichal Simek&watchdog0 {
5905869ba06SMichal Simek	status = "okay";
5915869ba06SMichal Simek};
59255563399SLaurent Pinchart
593255118deSMichal Simek&xilinx_ams {
594255118deSMichal Simek	status = "okay";
595255118deSMichal Simek};
596255118deSMichal Simek
597255118deSMichal Simek&ams_ps {
598255118deSMichal Simek	status = "okay";
599255118deSMichal Simek};
600255118deSMichal Simek
60155563399SLaurent Pinchart&zynqmp_dpdma {
60255563399SLaurent Pinchart	status = "okay";
60355563399SLaurent Pinchart};
60455563399SLaurent Pinchart
60555563399SLaurent Pinchart&zynqmp_dpsub {
60655563399SLaurent Pinchart	status = "okay";
60755563399SLaurent Pinchart	phy-names = "dp-phy0", "dp-phy1";
60855563399SLaurent Pinchart	phys = <&psgtr 1 PHY_TYPE_DP 0 1>,
60955563399SLaurent Pinchart	       <&psgtr 0 PHY_TYPE_DP 1 1>;
61055563399SLaurent Pinchart};
611