xref: /freebsd/sys/contrib/device-tree/src/arm64/xilinx/zynqmp-zcu111-revA.dts (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * dts file for Xilinx ZynqMP ZCU111
4c66ec88fSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * (C) Copyright 2017 - 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 */
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel Vadot/dts-v1/;
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadot#include "zynqmp.dtsi"
14c66ec88fSEmmanuel Vadot#include "zynqmp-clk-ccf.dtsi"
15c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h>
16c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
178cc087a1SEmmanuel Vadot#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
185def4c47SEmmanuel Vadot#include <dt-bindings/phy/phy.h>
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot/ {
21c66ec88fSEmmanuel Vadot	model = "ZynqMP ZCU111 RevA";
22c66ec88fSEmmanuel Vadot	compatible = "xlnx,zynqmp-zcu111-revA", "xlnx,zynqmp-zcu111", "xlnx,zynqmp";
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot	aliases {
25c66ec88fSEmmanuel Vadot		ethernet0 = &gem3;
26c66ec88fSEmmanuel Vadot		i2c0 = &i2c0;
27c66ec88fSEmmanuel Vadot		i2c1 = &i2c1;
28c66ec88fSEmmanuel Vadot		mmc0 = &sdhci1;
298cc087a1SEmmanuel Vadot		nvmem0 = &eeprom;
30c66ec88fSEmmanuel Vadot		rtc0 = &rtc;
31c66ec88fSEmmanuel Vadot		serial0 = &uart0;
32c66ec88fSEmmanuel Vadot		serial1 = &dcc;
338cc087a1SEmmanuel Vadot		spi0 = &qspi;
348cc087a1SEmmanuel Vadot		usb0 = &usb0;
35c66ec88fSEmmanuel Vadot	};
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot	chosen {
38c66ec88fSEmmanuel Vadot		bootargs = "earlycon";
39c66ec88fSEmmanuel Vadot		stdout-path = "serial0:115200n8";
40c66ec88fSEmmanuel Vadot	};
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot	memory@0 {
43c66ec88fSEmmanuel Vadot		device_type = "memory";
44c66ec88fSEmmanuel Vadot		reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
45c66ec88fSEmmanuel Vadot		/* Another 4GB connected to PL */
46c66ec88fSEmmanuel Vadot	};
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot	gpio-keys {
49c66ec88fSEmmanuel Vadot		compatible = "gpio-keys";
50c66ec88fSEmmanuel Vadot		autorepeat;
51b97ee269SEmmanuel Vadot		switch-19 {
52c66ec88fSEmmanuel Vadot			label = "sw19";
53c66ec88fSEmmanuel Vadot			gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
54c66ec88fSEmmanuel Vadot			linux,code = <KEY_DOWN>;
55c66ec88fSEmmanuel Vadot			wakeup-source;
56c66ec88fSEmmanuel Vadot			autorepeat;
57c66ec88fSEmmanuel Vadot		};
58c66ec88fSEmmanuel Vadot	};
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot	leds {
61c66ec88fSEmmanuel Vadot		compatible = "gpio-leds";
62c66ec88fSEmmanuel Vadot		heartbeat-led {
63c66ec88fSEmmanuel Vadot			label = "heartbeat";
64c66ec88fSEmmanuel Vadot			gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
65c66ec88fSEmmanuel Vadot			linux,default-trigger = "heartbeat";
66c66ec88fSEmmanuel Vadot		};
67c66ec88fSEmmanuel Vadot	};
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot	ina226-u67 {
70c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
71c66ec88fSEmmanuel Vadot		io-channels = <&u67 0>, <&u67 1>, <&u67 2>, <&u67 3>;
72c66ec88fSEmmanuel Vadot	};
73c66ec88fSEmmanuel Vadot	ina226-u59 {
74c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
75c66ec88fSEmmanuel Vadot		io-channels = <&u59 0>, <&u59 1>, <&u59 2>, <&u59 3>;
76c66ec88fSEmmanuel Vadot	};
77c66ec88fSEmmanuel Vadot	ina226-u61 {
78c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
79c66ec88fSEmmanuel Vadot		io-channels = <&u61 0>, <&u61 1>, <&u61 2>, <&u61 3>;
80c66ec88fSEmmanuel Vadot	};
81c66ec88fSEmmanuel Vadot	ina226-u60 {
82c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
83c66ec88fSEmmanuel Vadot		io-channels = <&u60 0>, <&u60 1>, <&u60 2>, <&u60 3>;
84c66ec88fSEmmanuel Vadot	};
85c66ec88fSEmmanuel Vadot	ina226-u64 {
86c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
87c66ec88fSEmmanuel Vadot		io-channels = <&u64 0>, <&u64 1>, <&u64 2>, <&u64 3>;
88c66ec88fSEmmanuel Vadot	};
89c66ec88fSEmmanuel Vadot	ina226-u69 {
90c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
91c66ec88fSEmmanuel Vadot		io-channels = <&u69 0>, <&u69 1>, <&u69 2>, <&u69 3>;
92c66ec88fSEmmanuel Vadot	};
93c66ec88fSEmmanuel Vadot	ina226-u66 {
94c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
95c66ec88fSEmmanuel Vadot		io-channels = <&u66 0>, <&u66 1>, <&u66 2>, <&u66 3>;
96c66ec88fSEmmanuel Vadot	};
97c66ec88fSEmmanuel Vadot	ina226-u65 {
98c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
99c66ec88fSEmmanuel Vadot		io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>;
100c66ec88fSEmmanuel Vadot	};
101c66ec88fSEmmanuel Vadot	ina226-u63 {
102c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
103c66ec88fSEmmanuel Vadot		io-channels = <&u63 0>, <&u63 1>, <&u63 2>, <&u63 3>;
104c66ec88fSEmmanuel Vadot	};
105c66ec88fSEmmanuel Vadot	ina226-u3 {
106c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
107c66ec88fSEmmanuel Vadot		io-channels = <&u3 0>, <&u3 1>, <&u3 2>, <&u3 3>;
108c66ec88fSEmmanuel Vadot	};
109c66ec88fSEmmanuel Vadot	ina226-u71 {
110c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
111c66ec88fSEmmanuel Vadot		io-channels = <&u71 0>, <&u71 1>, <&u71 2>, <&u71 3>;
112c66ec88fSEmmanuel Vadot	};
113c66ec88fSEmmanuel Vadot	ina226-u77 {
114c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
115c66ec88fSEmmanuel Vadot		io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>;
116c66ec88fSEmmanuel Vadot	};
117c66ec88fSEmmanuel Vadot	ina226-u73 {
118c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
119c66ec88fSEmmanuel Vadot		io-channels = <&u73 0>, <&u73 1>, <&u73 2>, <&u73 3>;
120c66ec88fSEmmanuel Vadot	};
121c66ec88fSEmmanuel Vadot	ina226-u79 {
122c66ec88fSEmmanuel Vadot		compatible = "iio-hwmon";
123c66ec88fSEmmanuel Vadot		io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>;
124c66ec88fSEmmanuel Vadot	};
1255def4c47SEmmanuel Vadot
1265def4c47SEmmanuel Vadot	/* 48MHz reference crystal */
1275def4c47SEmmanuel Vadot	ref48: ref48M {
1285def4c47SEmmanuel Vadot		compatible = "fixed-clock";
1295def4c47SEmmanuel Vadot		#clock-cells = <0>;
1305def4c47SEmmanuel Vadot		clock-frequency = <48000000>;
1315def4c47SEmmanuel Vadot	};
132c66ec88fSEmmanuel Vadot};
133c66ec88fSEmmanuel Vadot
134c66ec88fSEmmanuel Vadot&dcc {
135c66ec88fSEmmanuel Vadot	status = "okay";
136c66ec88fSEmmanuel Vadot};
137c66ec88fSEmmanuel Vadot
138c66ec88fSEmmanuel Vadot&fpd_dma_chan1 {
139c66ec88fSEmmanuel Vadot	status = "okay";
140c66ec88fSEmmanuel Vadot};
141c66ec88fSEmmanuel Vadot
142c66ec88fSEmmanuel Vadot&fpd_dma_chan2 {
143c66ec88fSEmmanuel Vadot	status = "okay";
144c66ec88fSEmmanuel Vadot};
145c66ec88fSEmmanuel Vadot
146c66ec88fSEmmanuel Vadot&fpd_dma_chan3 {
147c66ec88fSEmmanuel Vadot	status = "okay";
148c66ec88fSEmmanuel Vadot};
149c66ec88fSEmmanuel Vadot
150c66ec88fSEmmanuel Vadot&fpd_dma_chan4 {
151c66ec88fSEmmanuel Vadot	status = "okay";
152c66ec88fSEmmanuel Vadot};
153c66ec88fSEmmanuel Vadot
154c66ec88fSEmmanuel Vadot&fpd_dma_chan5 {
155c66ec88fSEmmanuel Vadot	status = "okay";
156c66ec88fSEmmanuel Vadot};
157c66ec88fSEmmanuel Vadot
158c66ec88fSEmmanuel Vadot&fpd_dma_chan6 {
159c66ec88fSEmmanuel Vadot	status = "okay";
160c66ec88fSEmmanuel Vadot};
161c66ec88fSEmmanuel Vadot
162c66ec88fSEmmanuel Vadot&fpd_dma_chan7 {
163c66ec88fSEmmanuel Vadot	status = "okay";
164c66ec88fSEmmanuel Vadot};
165c66ec88fSEmmanuel Vadot
166c66ec88fSEmmanuel Vadot&fpd_dma_chan8 {
167c66ec88fSEmmanuel Vadot	status = "okay";
168c66ec88fSEmmanuel Vadot};
169c66ec88fSEmmanuel Vadot
170c66ec88fSEmmanuel Vadot&gem3 {
171c66ec88fSEmmanuel Vadot	status = "okay";
172c66ec88fSEmmanuel Vadot	phy-handle = <&phy0>;
173c66ec88fSEmmanuel Vadot	phy-mode = "rgmii-id";
1748cc087a1SEmmanuel Vadot	pinctrl-names = "default";
1758cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_gem3_default>;
176f126890aSEmmanuel Vadot	mdio: mdio {
177f126890aSEmmanuel Vadot		#address-cells = <1>;
178f126890aSEmmanuel Vadot		#size-cells = <0>;
179c66ec88fSEmmanuel Vadot		phy0: ethernet-phy@c {
180f126890aSEmmanuel Vadot			#phy-cells = <1>;
181f126890aSEmmanuel Vadot			compatible = "ethernet-phy-id2000.a231";
182c66ec88fSEmmanuel Vadot			reg = <0xc>;
183c66ec88fSEmmanuel Vadot			ti,rx-internal-delay = <0x8>;
184c66ec88fSEmmanuel Vadot			ti,tx-internal-delay = <0xa>;
185c66ec88fSEmmanuel Vadot			ti,fifo-depth = <0x1>;
186c66ec88fSEmmanuel Vadot			ti,dp83867-rxctrl-strap-quirk;
187f126890aSEmmanuel Vadot			reset-gpios = <&tca6416_u22 6 GPIO_ACTIVE_LOW>;
188f126890aSEmmanuel Vadot		};
189c66ec88fSEmmanuel Vadot	};
190c66ec88fSEmmanuel Vadot};
191c66ec88fSEmmanuel Vadot
192c66ec88fSEmmanuel Vadot&gpio {
193c66ec88fSEmmanuel Vadot	status = "okay";
1948cc087a1SEmmanuel Vadot	pinctrl-names = "default";
1958cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_gpio_default>;
196c66ec88fSEmmanuel Vadot};
197c66ec88fSEmmanuel Vadot
198f126890aSEmmanuel Vadot&gpu {
199f126890aSEmmanuel Vadot	status = "okay";
200f126890aSEmmanuel Vadot};
201f126890aSEmmanuel Vadot
202c66ec88fSEmmanuel Vadot&i2c0 {
203c66ec88fSEmmanuel Vadot	status = "okay";
204c66ec88fSEmmanuel Vadot	clock-frequency = <400000>;
2058cc087a1SEmmanuel Vadot	pinctrl-names = "default", "gpio";
2068cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c0_default>;
2078cc087a1SEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c0_gpio>;
208*aa1a8ff2SEmmanuel Vadot	scl-gpios = <&gpio 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
209*aa1a8ff2SEmmanuel Vadot	sda-gpios = <&gpio 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
210c66ec88fSEmmanuel Vadot
211c66ec88fSEmmanuel Vadot	tca6416_u22: gpio@20 {
212c66ec88fSEmmanuel Vadot		compatible = "ti,tca6416";
213c66ec88fSEmmanuel Vadot		reg = <0x20>;
214c66ec88fSEmmanuel Vadot		gpio-controller; /* interrupt not connected */
215c66ec88fSEmmanuel Vadot		#gpio-cells = <2>;
216c66ec88fSEmmanuel Vadot		/*
217c66ec88fSEmmanuel Vadot		 * IRQ not connected
218c66ec88fSEmmanuel Vadot		 * Lines:
219c66ec88fSEmmanuel Vadot		 * 0 - MAX6643_OT_B
220c66ec88fSEmmanuel Vadot		 * 1 - MAX6643_FANFAIL_B
221c66ec88fSEmmanuel Vadot		 * 2 - MIO26_PMU_INPUT_LS
222c66ec88fSEmmanuel Vadot		 * 4 - SFP_SI5382_INT_ALM
223c66ec88fSEmmanuel Vadot		 * 5 - IIC_MUX_RESET_B
224c66ec88fSEmmanuel Vadot		 * 6 - GEM3_EXP_RESET_B
225c66ec88fSEmmanuel Vadot		 * 10 - FMCP_HSPC_PRSNT_M2C_B
226c66ec88fSEmmanuel Vadot		 * 11 - CLK_SPI_MUX_SEL0
227c66ec88fSEmmanuel Vadot		 * 12 - CLK_SPI_MUX_SEL1
228c66ec88fSEmmanuel Vadot		 * 16 - IRPS5401_ALERT_B
229c66ec88fSEmmanuel Vadot		 * 17 - INA226_PMBUS_ALERT
230c66ec88fSEmmanuel Vadot		 * 3, 7, 13-15 - not connected
231c66ec88fSEmmanuel Vadot		 */
232c66ec88fSEmmanuel Vadot	};
233c66ec88fSEmmanuel Vadot
234c66ec88fSEmmanuel Vadot	i2c-mux@75 { /* u23 */
235c66ec88fSEmmanuel Vadot		compatible = "nxp,pca9544";
236c66ec88fSEmmanuel Vadot		#address-cells = <1>;
237c66ec88fSEmmanuel Vadot		#size-cells = <0>;
238c66ec88fSEmmanuel Vadot		reg = <0x75>;
239c66ec88fSEmmanuel Vadot		i2c@0 {
240c66ec88fSEmmanuel Vadot			#address-cells = <1>;
241c66ec88fSEmmanuel Vadot			#size-cells = <0>;
242c66ec88fSEmmanuel Vadot			reg = <0>;
243c66ec88fSEmmanuel Vadot			/* PS_PMBUS */
244c66ec88fSEmmanuel Vadot			/* PMBUS_ALERT done via pca9544 */
245c66ec88fSEmmanuel Vadot			u67: ina226@40 { /* u67 */
246c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
247c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
248c66ec88fSEmmanuel Vadot				label = "ina226-u67";
249c66ec88fSEmmanuel Vadot				reg = <0x40>;
250c66ec88fSEmmanuel Vadot				shunt-resistor = <2000>;
251c66ec88fSEmmanuel Vadot			};
252c66ec88fSEmmanuel Vadot			u59: ina226@41 { /* u59 */
253c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
254c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
255c66ec88fSEmmanuel Vadot				label = "ina226-u59";
256c66ec88fSEmmanuel Vadot				reg = <0x41>;
257c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
258c66ec88fSEmmanuel Vadot			};
259c66ec88fSEmmanuel Vadot			u61: ina226@42 { /* u61 */
260c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
261c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
262c66ec88fSEmmanuel Vadot				label = "ina226-u61";
263c66ec88fSEmmanuel Vadot				reg = <0x42>;
264c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
265c66ec88fSEmmanuel Vadot			};
266c66ec88fSEmmanuel Vadot			u60: ina226@43 { /* u60 */
267c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
268c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
269c66ec88fSEmmanuel Vadot				label = "ina226-u60";
270c66ec88fSEmmanuel Vadot				reg = <0x43>;
271c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
272c66ec88fSEmmanuel Vadot			};
273c66ec88fSEmmanuel Vadot			u64: ina226@45 { /* u64 */
274c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
275c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
276c66ec88fSEmmanuel Vadot				label = "ina226-u64";
277c66ec88fSEmmanuel Vadot				reg = <0x45>;
278c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
279c66ec88fSEmmanuel Vadot			};
280c66ec88fSEmmanuel Vadot			u69: ina226@46 { /* u69 */
281c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
282c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
283c66ec88fSEmmanuel Vadot				label = "ina226-u69";
284c66ec88fSEmmanuel Vadot				reg = <0x46>;
285c66ec88fSEmmanuel Vadot				shunt-resistor = <2000>;
286c66ec88fSEmmanuel Vadot			};
287c66ec88fSEmmanuel Vadot			u66: ina226@47 { /* u66 */
288c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
289c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
290c66ec88fSEmmanuel Vadot				label = "ina226-u66";
291c66ec88fSEmmanuel Vadot				reg = <0x47>;
292c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
293c66ec88fSEmmanuel Vadot			};
294c66ec88fSEmmanuel Vadot			u65: ina226@48 { /* u65 */
295c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
296c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
297c66ec88fSEmmanuel Vadot				label = "ina226-u65";
298c66ec88fSEmmanuel Vadot				reg = <0x48>;
299c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
300c66ec88fSEmmanuel Vadot			};
301c66ec88fSEmmanuel Vadot			u63: ina226@49 { /* u63 */
302c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
303c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
304c66ec88fSEmmanuel Vadot				label = "ina226-u63";
305c66ec88fSEmmanuel Vadot				reg = <0x49>;
306c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
307c66ec88fSEmmanuel Vadot			};
308c66ec88fSEmmanuel Vadot			u3: ina226@4a { /* u3 */
309c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
310c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
311c66ec88fSEmmanuel Vadot				label = "ina226-u3";
312c66ec88fSEmmanuel Vadot				reg = <0x4a>;
313c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
314c66ec88fSEmmanuel Vadot			};
315c66ec88fSEmmanuel Vadot			u71: ina226@4b { /* u71 */
316c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
317c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
318c66ec88fSEmmanuel Vadot				label = "ina226-u71";
319c66ec88fSEmmanuel Vadot				reg = <0x4b>;
320c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
321c66ec88fSEmmanuel Vadot			};
322c66ec88fSEmmanuel Vadot			u77: ina226@4c { /* u77 */
323c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
324c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
325c66ec88fSEmmanuel Vadot				label = "ina226-u77";
326c66ec88fSEmmanuel Vadot				reg = <0x4c>;
327c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
328c66ec88fSEmmanuel Vadot			};
329c66ec88fSEmmanuel Vadot			u73: ina226@4d { /* u73 */
330c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
331c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
332c66ec88fSEmmanuel Vadot				label = "ina226-u73";
333c66ec88fSEmmanuel Vadot				reg = <0x4d>;
334c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
335c66ec88fSEmmanuel Vadot			};
336c66ec88fSEmmanuel Vadot			u79: ina226@4e { /* u79 */
337c66ec88fSEmmanuel Vadot				compatible = "ti,ina226";
338c66ec88fSEmmanuel Vadot				#io-channel-cells = <1>;
339c66ec88fSEmmanuel Vadot				label = "ina226-u79";
340c66ec88fSEmmanuel Vadot				reg = <0x4e>;
341c66ec88fSEmmanuel Vadot				shunt-resistor = <5000>;
342c66ec88fSEmmanuel Vadot			};
343c66ec88fSEmmanuel Vadot		};
344c66ec88fSEmmanuel Vadot		i2c@1 {
345c66ec88fSEmmanuel Vadot			#address-cells = <1>;
346c66ec88fSEmmanuel Vadot			#size-cells = <0>;
347c66ec88fSEmmanuel Vadot			reg = <1>;
348c66ec88fSEmmanuel Vadot			/* NC */
349c66ec88fSEmmanuel Vadot		};
350c66ec88fSEmmanuel Vadot		i2c@2 {
351c66ec88fSEmmanuel Vadot			#address-cells = <1>;
352c66ec88fSEmmanuel Vadot			#size-cells = <0>;
353c66ec88fSEmmanuel Vadot			reg = <2>;
3548cc087a1SEmmanuel Vadot			irps5401_43: irps5401@43 { /* IRPS5401 - u53 check these */
3558cc087a1SEmmanuel Vadot				compatible = "infineon,irps5401";
356c66ec88fSEmmanuel Vadot				reg = <0x43>;
357c66ec88fSEmmanuel Vadot			};
3588cc087a1SEmmanuel Vadot			irps5401_44: irps5401@44 { /* IRPS5401 - u55 */
3598cc087a1SEmmanuel Vadot				compatible = "infineon,irps5401";
360c66ec88fSEmmanuel Vadot				reg = <0x44>;
361c66ec88fSEmmanuel Vadot			};
3628cc087a1SEmmanuel Vadot			irps5401_45: irps5401@45 { /* IRPS5401 - u57 */
3638cc087a1SEmmanuel Vadot				compatible = "infineon,irps5401";
364c66ec88fSEmmanuel Vadot				reg = <0x45>;
365c66ec88fSEmmanuel Vadot			};
366c66ec88fSEmmanuel Vadot			/* u68 IR38064 +0 */
367c66ec88fSEmmanuel Vadot			/* u70 IR38060 +1 */
368c66ec88fSEmmanuel Vadot			/* u74 IR38060 +2 */
369c66ec88fSEmmanuel Vadot			/* u75 IR38060 +6 */
370c66ec88fSEmmanuel Vadot			/* J19 header too */
371c66ec88fSEmmanuel Vadot
372c66ec88fSEmmanuel Vadot		};
373c66ec88fSEmmanuel Vadot		i2c@3 {
374c66ec88fSEmmanuel Vadot			#address-cells = <1>;
375c66ec88fSEmmanuel Vadot			#size-cells = <0>;
376c66ec88fSEmmanuel Vadot			reg = <3>;
377c66ec88fSEmmanuel Vadot			/* SYSMON */
378c66ec88fSEmmanuel Vadot		};
379c66ec88fSEmmanuel Vadot	};
380c66ec88fSEmmanuel Vadot};
381c66ec88fSEmmanuel Vadot
382c66ec88fSEmmanuel Vadot&i2c1 {
383c66ec88fSEmmanuel Vadot	status = "okay";
384c66ec88fSEmmanuel Vadot	clock-frequency = <400000>;
3858cc087a1SEmmanuel Vadot	pinctrl-names = "default", "gpio";
3868cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c1_default>;
3878cc087a1SEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c1_gpio>;
388*aa1a8ff2SEmmanuel Vadot	scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
389*aa1a8ff2SEmmanuel Vadot	sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
390c66ec88fSEmmanuel Vadot
391c66ec88fSEmmanuel Vadot	i2c-mux@74 { /* u26 */
392c66ec88fSEmmanuel Vadot		compatible = "nxp,pca9548";
393c66ec88fSEmmanuel Vadot		#address-cells = <1>;
394c66ec88fSEmmanuel Vadot		#size-cells = <0>;
395c66ec88fSEmmanuel Vadot		reg = <0x74>;
396c66ec88fSEmmanuel Vadot		i2c@0 {
397c66ec88fSEmmanuel Vadot			#address-cells = <1>;
398c66ec88fSEmmanuel Vadot			#size-cells = <0>;
399c66ec88fSEmmanuel Vadot			reg = <0>;
400c66ec88fSEmmanuel Vadot			/*
401c66ec88fSEmmanuel Vadot			 * IIC_EEPROM 1kB memory which uses 256B blocks
402c66ec88fSEmmanuel Vadot			 * where every block has different address.
403c66ec88fSEmmanuel Vadot			 *    0 - 256B address 0x54
404c66ec88fSEmmanuel Vadot			 * 256B - 512B address 0x55
405c66ec88fSEmmanuel Vadot			 * 512B - 768B address 0x56
406c66ec88fSEmmanuel Vadot			 * 768B - 1024B address 0x57
407c66ec88fSEmmanuel Vadot			 */
408c66ec88fSEmmanuel Vadot			eeprom: eeprom@54 { /* u88 */
409c66ec88fSEmmanuel Vadot				compatible = "atmel,24c08";
410c66ec88fSEmmanuel Vadot				reg = <0x54>;
411c66ec88fSEmmanuel Vadot			};
412c66ec88fSEmmanuel Vadot		};
413c66ec88fSEmmanuel Vadot		i2c@1 {
414c66ec88fSEmmanuel Vadot			#address-cells = <1>;
415c66ec88fSEmmanuel Vadot			#size-cells = <0>;
416c66ec88fSEmmanuel Vadot			reg = <1>;
417c66ec88fSEmmanuel Vadot			si5341: clock-generator@36 { /* SI5341 - u46 */
4185def4c47SEmmanuel Vadot				compatible = "silabs,si5341";
419c66ec88fSEmmanuel Vadot				reg = <0x36>;
4205def4c47SEmmanuel Vadot				#clock-cells = <2>;
4215def4c47SEmmanuel Vadot				#address-cells = <1>;
4225def4c47SEmmanuel Vadot				#size-cells = <0>;
4235def4c47SEmmanuel Vadot				clocks = <&ref48>;
4245def4c47SEmmanuel Vadot				clock-names = "xtal";
4255def4c47SEmmanuel Vadot				clock-output-names = "si5341";
426c66ec88fSEmmanuel Vadot
4275def4c47SEmmanuel Vadot				si5341_0: out@0 {
4285def4c47SEmmanuel Vadot					/* refclk0 for PS-GT, used for DP */
4295def4c47SEmmanuel Vadot					reg = <0>;
4305def4c47SEmmanuel Vadot					always-on;
4315def4c47SEmmanuel Vadot				};
4325def4c47SEmmanuel Vadot				si5341_2: out@2 {
4335def4c47SEmmanuel Vadot					/* refclk2 for PS-GT, used for USB3 */
4345def4c47SEmmanuel Vadot					reg = <2>;
4355def4c47SEmmanuel Vadot					always-on;
4365def4c47SEmmanuel Vadot				};
4375def4c47SEmmanuel Vadot				si5341_3: out@3 {
4385def4c47SEmmanuel Vadot					/* refclk3 for PS-GT, used for SATA */
4395def4c47SEmmanuel Vadot					reg = <3>;
4405def4c47SEmmanuel Vadot					always-on;
4415def4c47SEmmanuel Vadot				};
4425def4c47SEmmanuel Vadot				si5341_5: out@5 {
4435def4c47SEmmanuel Vadot					/* refclk5 PL CLK100 */
4445def4c47SEmmanuel Vadot					reg = <5>;
4455def4c47SEmmanuel Vadot					always-on;
4465def4c47SEmmanuel Vadot				};
4475def4c47SEmmanuel Vadot				si5341_6: out@6 {
4485def4c47SEmmanuel Vadot					/* refclk6 PL CLK125 */
4495def4c47SEmmanuel Vadot					reg = <6>;
4505def4c47SEmmanuel Vadot					always-on;
4515def4c47SEmmanuel Vadot				};
4525def4c47SEmmanuel Vadot				si5341_9: out@9 {
4535def4c47SEmmanuel Vadot					/* refclk9 used for PS_REF_CLK 33.3 MHz */
4545def4c47SEmmanuel Vadot					reg = <9>;
4555def4c47SEmmanuel Vadot					always-on;
4565def4c47SEmmanuel Vadot				};
4575def4c47SEmmanuel Vadot			};
458c66ec88fSEmmanuel Vadot		};
459c66ec88fSEmmanuel Vadot		i2c@2 {
460c66ec88fSEmmanuel Vadot			#address-cells = <1>;
461c66ec88fSEmmanuel Vadot			#size-cells = <0>;
462c66ec88fSEmmanuel Vadot			reg = <2>;
463c66ec88fSEmmanuel Vadot			si570_1: clock-generator@5d { /* USER SI570 - u47 */
464c66ec88fSEmmanuel Vadot				#clock-cells = <0>;
465c66ec88fSEmmanuel Vadot				compatible = "silabs,si570";
466c66ec88fSEmmanuel Vadot				reg = <0x5d>;
467c66ec88fSEmmanuel Vadot				temperature-stability = <50>;
468c66ec88fSEmmanuel Vadot				factory-fout = <300000000>;
469c66ec88fSEmmanuel Vadot				clock-frequency = <300000000>;
470c66ec88fSEmmanuel Vadot				clock-output-names = "si570_user";
471c66ec88fSEmmanuel Vadot			};
472c66ec88fSEmmanuel Vadot		};
473c66ec88fSEmmanuel Vadot		i2c@3 {
474c66ec88fSEmmanuel Vadot			#address-cells = <1>;
475c66ec88fSEmmanuel Vadot			#size-cells = <0>;
476c66ec88fSEmmanuel Vadot			reg = <3>;
477c66ec88fSEmmanuel Vadot			si570_2: clock-generator@5d { /* USER MGT SI570 - u49 */
478c66ec88fSEmmanuel Vadot				#clock-cells = <0>;
479c66ec88fSEmmanuel Vadot				compatible = "silabs,si570";
480c66ec88fSEmmanuel Vadot				reg = <0x5d>;
481c66ec88fSEmmanuel Vadot				temperature-stability = <50>;
482c66ec88fSEmmanuel Vadot				factory-fout = <156250000>;
483c66ec88fSEmmanuel Vadot				clock-frequency = <156250000>;
484c66ec88fSEmmanuel Vadot				clock-output-names = "si570_mgt";
485c66ec88fSEmmanuel Vadot			};
486c66ec88fSEmmanuel Vadot		};
487c66ec88fSEmmanuel Vadot		i2c@4 {
488c66ec88fSEmmanuel Vadot			#address-cells = <1>;
489c66ec88fSEmmanuel Vadot			#size-cells = <0>;
490c66ec88fSEmmanuel Vadot			reg = <4>;
4918cc087a1SEmmanuel Vadot			/* SI5382 - u48 */
492c66ec88fSEmmanuel Vadot		};
493c66ec88fSEmmanuel Vadot		i2c@5 {
494c66ec88fSEmmanuel Vadot			#address-cells = <1>;
495c66ec88fSEmmanuel Vadot			#size-cells = <0>;
496c66ec88fSEmmanuel Vadot			reg = <5>;
497c66ec88fSEmmanuel Vadot				sc18is603@2f { /* sc18is602 - u93 */
498c66ec88fSEmmanuel Vadot					compatible = "nxp,sc18is603";
499c66ec88fSEmmanuel Vadot					reg = <0x2f>;
500c66ec88fSEmmanuel Vadot					/* 4 gpios for CS not handled by driver */
501c66ec88fSEmmanuel Vadot					/*
502c66ec88fSEmmanuel Vadot					 * USB2ANY cable or
503c66ec88fSEmmanuel Vadot					 * LMK04208 - u90 or
504c66ec88fSEmmanuel Vadot					 * LMX2594 - u102 or
505c66ec88fSEmmanuel Vadot					 * LMX2594 - u103 or
506c66ec88fSEmmanuel Vadot					 * LMX2594 - u104
507c66ec88fSEmmanuel Vadot					 */
508c66ec88fSEmmanuel Vadot				};
509c66ec88fSEmmanuel Vadot		};
510c66ec88fSEmmanuel Vadot		i2c@6 {
511c66ec88fSEmmanuel Vadot			#address-cells = <1>;
512c66ec88fSEmmanuel Vadot			#size-cells = <0>;
513c66ec88fSEmmanuel Vadot			reg = <6>;
514c66ec88fSEmmanuel Vadot			/* FMC connector */
515c66ec88fSEmmanuel Vadot		};
516c66ec88fSEmmanuel Vadot		/* 7 NC */
517c66ec88fSEmmanuel Vadot	};
518c66ec88fSEmmanuel Vadot
519c66ec88fSEmmanuel Vadot	i2c-mux@75 {
520c66ec88fSEmmanuel Vadot		compatible = "nxp,pca9548"; /* u27 */
521c66ec88fSEmmanuel Vadot		#address-cells = <1>;
522c66ec88fSEmmanuel Vadot		#size-cells = <0>;
523c66ec88fSEmmanuel Vadot		reg = <0x75>;
524c66ec88fSEmmanuel Vadot
525c66ec88fSEmmanuel Vadot		i2c@0 {
526c66ec88fSEmmanuel Vadot			#address-cells = <1>;
527c66ec88fSEmmanuel Vadot			#size-cells = <0>;
528c66ec88fSEmmanuel Vadot			reg = <0>;
529c66ec88fSEmmanuel Vadot			/* FMCP_HSPC_IIC */
530c66ec88fSEmmanuel Vadot		};
531c66ec88fSEmmanuel Vadot		i2c@1 {
532c66ec88fSEmmanuel Vadot			#address-cells = <1>;
533c66ec88fSEmmanuel Vadot			#size-cells = <0>;
534c66ec88fSEmmanuel Vadot			reg = <1>;
535c66ec88fSEmmanuel Vadot			/* NC */
536c66ec88fSEmmanuel Vadot		};
537c66ec88fSEmmanuel Vadot		i2c@2 {
538c66ec88fSEmmanuel Vadot			#address-cells = <1>;
539c66ec88fSEmmanuel Vadot			#size-cells = <0>;
540c66ec88fSEmmanuel Vadot			reg = <2>;
541c66ec88fSEmmanuel Vadot			/* SYSMON */
542c66ec88fSEmmanuel Vadot		};
543c66ec88fSEmmanuel Vadot		i2c@3 {
544c66ec88fSEmmanuel Vadot			#address-cells = <1>;
545c66ec88fSEmmanuel Vadot			#size-cells = <0>;
546c66ec88fSEmmanuel Vadot			reg = <3>;
547c66ec88fSEmmanuel Vadot			/* DDR4 SODIMM */
548c66ec88fSEmmanuel Vadot		};
549c66ec88fSEmmanuel Vadot		i2c@4 {
550c66ec88fSEmmanuel Vadot			#address-cells = <1>;
551c66ec88fSEmmanuel Vadot			#size-cells = <0>;
552c66ec88fSEmmanuel Vadot			reg = <4>;
553c66ec88fSEmmanuel Vadot			/* SFP3 */
554c66ec88fSEmmanuel Vadot		};
555c66ec88fSEmmanuel Vadot		i2c@5 {
556c66ec88fSEmmanuel Vadot			#address-cells = <1>;
557c66ec88fSEmmanuel Vadot			#size-cells = <0>;
558c66ec88fSEmmanuel Vadot			reg = <5>;
559c66ec88fSEmmanuel Vadot			/* SFP2 */
560c66ec88fSEmmanuel Vadot		};
561c66ec88fSEmmanuel Vadot		i2c@6 {
562c66ec88fSEmmanuel Vadot			#address-cells = <1>;
563c66ec88fSEmmanuel Vadot			#size-cells = <0>;
564c66ec88fSEmmanuel Vadot			reg = <6>;
565c66ec88fSEmmanuel Vadot			/* SFP1 */
566c66ec88fSEmmanuel Vadot		};
567c66ec88fSEmmanuel Vadot		i2c@7 {
568c66ec88fSEmmanuel Vadot			#address-cells = <1>;
569c66ec88fSEmmanuel Vadot			#size-cells = <0>;
570c66ec88fSEmmanuel Vadot			reg = <7>;
571c66ec88fSEmmanuel Vadot			/* SFP0 */
572c66ec88fSEmmanuel Vadot		};
573c66ec88fSEmmanuel Vadot	};
574c66ec88fSEmmanuel Vadot};
575c66ec88fSEmmanuel Vadot
5768cc087a1SEmmanuel Vadot&pinctrl0 {
5778cc087a1SEmmanuel Vadot	status = "okay";
5788cc087a1SEmmanuel Vadot	pinctrl_i2c0_default: i2c0-default {
5798cc087a1SEmmanuel Vadot		mux {
5808cc087a1SEmmanuel Vadot			groups = "i2c0_3_grp";
5818cc087a1SEmmanuel Vadot			function = "i2c0";
5828cc087a1SEmmanuel Vadot		};
5838cc087a1SEmmanuel Vadot
5848cc087a1SEmmanuel Vadot		conf {
5858cc087a1SEmmanuel Vadot			groups = "i2c0_3_grp";
5868cc087a1SEmmanuel Vadot			bias-pull-up;
5878cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
5888cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
5898cc087a1SEmmanuel Vadot		};
5908cc087a1SEmmanuel Vadot	};
5918cc087a1SEmmanuel Vadot
5928cc087a1SEmmanuel Vadot	pinctrl_i2c0_gpio: i2c0-gpio {
5938cc087a1SEmmanuel Vadot		mux {
5948cc087a1SEmmanuel Vadot			groups = "gpio0_14_grp", "gpio0_15_grp";
5958cc087a1SEmmanuel Vadot			function = "gpio0";
5968cc087a1SEmmanuel Vadot		};
5978cc087a1SEmmanuel Vadot
5988cc087a1SEmmanuel Vadot		conf {
5998cc087a1SEmmanuel Vadot			groups = "gpio0_14_grp", "gpio0_15_grp";
6008cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
6018cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
6028cc087a1SEmmanuel Vadot		};
6038cc087a1SEmmanuel Vadot	};
6048cc087a1SEmmanuel Vadot
6058cc087a1SEmmanuel Vadot	pinctrl_i2c1_default: i2c1-default {
6068cc087a1SEmmanuel Vadot		mux {
6078cc087a1SEmmanuel Vadot			groups = "i2c1_4_grp";
6088cc087a1SEmmanuel Vadot			function = "i2c1";
6098cc087a1SEmmanuel Vadot		};
6108cc087a1SEmmanuel Vadot
6118cc087a1SEmmanuel Vadot		conf {
6128cc087a1SEmmanuel Vadot			groups = "i2c1_4_grp";
6138cc087a1SEmmanuel Vadot			bias-pull-up;
6148cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
6158cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
6168cc087a1SEmmanuel Vadot		};
6178cc087a1SEmmanuel Vadot	};
6188cc087a1SEmmanuel Vadot
6198cc087a1SEmmanuel Vadot	pinctrl_i2c1_gpio: i2c1-gpio {
6208cc087a1SEmmanuel Vadot		mux {
6218cc087a1SEmmanuel Vadot			groups = "gpio0_16_grp", "gpio0_17_grp";
6228cc087a1SEmmanuel Vadot			function = "gpio0";
6238cc087a1SEmmanuel Vadot		};
6248cc087a1SEmmanuel Vadot
6258cc087a1SEmmanuel Vadot		conf {
6268cc087a1SEmmanuel Vadot			groups = "gpio0_16_grp", "gpio0_17_grp";
6278cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
6288cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
6298cc087a1SEmmanuel Vadot		};
6308cc087a1SEmmanuel Vadot	};
6318cc087a1SEmmanuel Vadot
6328cc087a1SEmmanuel Vadot	pinctrl_uart0_default: uart0-default {
6338cc087a1SEmmanuel Vadot		mux {
6348cc087a1SEmmanuel Vadot			groups = "uart0_4_grp";
6358cc087a1SEmmanuel Vadot			function = "uart0";
6368cc087a1SEmmanuel Vadot		};
6378cc087a1SEmmanuel Vadot
6388cc087a1SEmmanuel Vadot		conf {
6398cc087a1SEmmanuel Vadot			groups = "uart0_4_grp";
6408cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
6418cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
6428cc087a1SEmmanuel Vadot		};
6438cc087a1SEmmanuel Vadot
6448cc087a1SEmmanuel Vadot		conf-rx {
6458cc087a1SEmmanuel Vadot			pins = "MIO18";
6468cc087a1SEmmanuel Vadot			bias-high-impedance;
6478cc087a1SEmmanuel Vadot		};
6488cc087a1SEmmanuel Vadot
6498cc087a1SEmmanuel Vadot		conf-tx {
6508cc087a1SEmmanuel Vadot			pins = "MIO19";
6518cc087a1SEmmanuel Vadot			bias-disable;
6528cc087a1SEmmanuel Vadot		};
6538cc087a1SEmmanuel Vadot	};
6548cc087a1SEmmanuel Vadot
6558cc087a1SEmmanuel Vadot	pinctrl_usb0_default: usb0-default {
6568cc087a1SEmmanuel Vadot		mux {
6578cc087a1SEmmanuel Vadot			groups = "usb0_0_grp";
6588cc087a1SEmmanuel Vadot			function = "usb0";
6598cc087a1SEmmanuel Vadot		};
6608cc087a1SEmmanuel Vadot
6618cc087a1SEmmanuel Vadot		conf {
6628cc087a1SEmmanuel Vadot			groups = "usb0_0_grp";
6638cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
6648cc087a1SEmmanuel Vadot		};
6658cc087a1SEmmanuel Vadot
6668cc087a1SEmmanuel Vadot		conf-rx {
6678cc087a1SEmmanuel Vadot			pins = "MIO52", "MIO53", "MIO55";
6688cc087a1SEmmanuel Vadot			bias-high-impedance;
669f126890aSEmmanuel Vadot			drive-strength = <12>;
670f126890aSEmmanuel Vadot			slew-rate = <SLEW_RATE_FAST>;
6718cc087a1SEmmanuel Vadot		};
6728cc087a1SEmmanuel Vadot
6738cc087a1SEmmanuel Vadot		conf-tx {
6748cc087a1SEmmanuel Vadot			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
6758cc087a1SEmmanuel Vadot			       "MIO60", "MIO61", "MIO62", "MIO63";
6768cc087a1SEmmanuel Vadot			bias-disable;
677f126890aSEmmanuel Vadot			drive-strength = <4>;
678f126890aSEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
6798cc087a1SEmmanuel Vadot		};
6808cc087a1SEmmanuel Vadot	};
6818cc087a1SEmmanuel Vadot
6828cc087a1SEmmanuel Vadot	pinctrl_gem3_default: gem3-default {
6838cc087a1SEmmanuel Vadot		mux {
6848cc087a1SEmmanuel Vadot			function = "ethernet3";
6858cc087a1SEmmanuel Vadot			groups = "ethernet3_0_grp";
6868cc087a1SEmmanuel Vadot		};
6878cc087a1SEmmanuel Vadot
6888cc087a1SEmmanuel Vadot		conf {
6898cc087a1SEmmanuel Vadot			groups = "ethernet3_0_grp";
6908cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
6918cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
6928cc087a1SEmmanuel Vadot		};
6938cc087a1SEmmanuel Vadot
6948cc087a1SEmmanuel Vadot		conf-rx {
6958cc087a1SEmmanuel Vadot			pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
6968cc087a1SEmmanuel Vadot									"MIO75";
6978cc087a1SEmmanuel Vadot			bias-high-impedance;
6988cc087a1SEmmanuel Vadot			low-power-disable;
6998cc087a1SEmmanuel Vadot		};
7008cc087a1SEmmanuel Vadot
7018cc087a1SEmmanuel Vadot		conf-tx {
7028cc087a1SEmmanuel Vadot			pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
7038cc087a1SEmmanuel Vadot									"MIO69";
7048cc087a1SEmmanuel Vadot			bias-disable;
7058cc087a1SEmmanuel Vadot			low-power-enable;
7068cc087a1SEmmanuel Vadot		};
7078cc087a1SEmmanuel Vadot
7088cc087a1SEmmanuel Vadot		mux-mdio {
7098cc087a1SEmmanuel Vadot			function = "mdio3";
7108cc087a1SEmmanuel Vadot			groups = "mdio3_0_grp";
7118cc087a1SEmmanuel Vadot		};
7128cc087a1SEmmanuel Vadot
7138cc087a1SEmmanuel Vadot		conf-mdio {
7148cc087a1SEmmanuel Vadot			groups = "mdio3_0_grp";
7158cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
7168cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
7178cc087a1SEmmanuel Vadot			bias-disable;
7188cc087a1SEmmanuel Vadot		};
7198cc087a1SEmmanuel Vadot	};
7208cc087a1SEmmanuel Vadot
7218cc087a1SEmmanuel Vadot	pinctrl_sdhci1_default: sdhci1-default {
7228cc087a1SEmmanuel Vadot		mux {
7238cc087a1SEmmanuel Vadot			groups = "sdio1_0_grp";
7248cc087a1SEmmanuel Vadot			function = "sdio1";
7258cc087a1SEmmanuel Vadot		};
7268cc087a1SEmmanuel Vadot
7278cc087a1SEmmanuel Vadot		conf {
7288cc087a1SEmmanuel Vadot			groups = "sdio1_0_grp";
7298cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
7308cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
7318cc087a1SEmmanuel Vadot			bias-disable;
7328cc087a1SEmmanuel Vadot		};
7338cc087a1SEmmanuel Vadot
7348cc087a1SEmmanuel Vadot		mux-cd {
7358cc087a1SEmmanuel Vadot			groups = "sdio1_cd_0_grp";
7368cc087a1SEmmanuel Vadot			function = "sdio1_cd";
7378cc087a1SEmmanuel Vadot		};
7388cc087a1SEmmanuel Vadot
7398cc087a1SEmmanuel Vadot		conf-cd {
7408cc087a1SEmmanuel Vadot			groups = "sdio1_cd_0_grp";
7418cc087a1SEmmanuel Vadot			bias-high-impedance;
7428cc087a1SEmmanuel Vadot			bias-pull-up;
7438cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
7448cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
7458cc087a1SEmmanuel Vadot		};
7468cc087a1SEmmanuel Vadot	};
7478cc087a1SEmmanuel Vadot
7488cc087a1SEmmanuel Vadot	pinctrl_gpio_default: gpio-default {
7498cc087a1SEmmanuel Vadot		mux {
7508cc087a1SEmmanuel Vadot			function = "gpio0";
7518cc087a1SEmmanuel Vadot			groups = "gpio0_22_grp", "gpio0_23_grp";
7528cc087a1SEmmanuel Vadot		};
7538cc087a1SEmmanuel Vadot
7548cc087a1SEmmanuel Vadot		conf {
7558cc087a1SEmmanuel Vadot			groups = "gpio0_22_grp", "gpio0_23_grp";
7568cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
7578cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
7588cc087a1SEmmanuel Vadot		};
7598cc087a1SEmmanuel Vadot
7608cc087a1SEmmanuel Vadot		mux-msp {
7618cc087a1SEmmanuel Vadot			function = "gpio0";
7628cc087a1SEmmanuel Vadot			groups = "gpio0_13_grp", "gpio0_38_grp";
7638cc087a1SEmmanuel Vadot		};
7648cc087a1SEmmanuel Vadot
7658cc087a1SEmmanuel Vadot		conf-msp {
7668cc087a1SEmmanuel Vadot			groups = "gpio0_13_grp", "gpio0_38_grp";
7678cc087a1SEmmanuel Vadot			slew-rate = <SLEW_RATE_SLOW>;
7688cc087a1SEmmanuel Vadot			power-source = <IO_STANDARD_LVCMOS18>;
7698cc087a1SEmmanuel Vadot		};
7708cc087a1SEmmanuel Vadot
7718cc087a1SEmmanuel Vadot		conf-pull-up {
7728cc087a1SEmmanuel Vadot			pins = "MIO22";
7738cc087a1SEmmanuel Vadot			bias-pull-up;
7748cc087a1SEmmanuel Vadot		};
7758cc087a1SEmmanuel Vadot
7768cc087a1SEmmanuel Vadot		conf-pull-none {
7778cc087a1SEmmanuel Vadot			pins = "MIO13", "MIO23", "MIO38";
7788cc087a1SEmmanuel Vadot			bias-disable;
7798cc087a1SEmmanuel Vadot		};
7808cc087a1SEmmanuel Vadot	};
7818cc087a1SEmmanuel Vadot};
7828cc087a1SEmmanuel Vadot
7835def4c47SEmmanuel Vadot&psgtr {
7845def4c47SEmmanuel Vadot	status = "okay";
7858cc087a1SEmmanuel Vadot	/* nc, dp, usb3, sata */
7868cc087a1SEmmanuel Vadot	clocks = <&si5341 0 0>, <&si5341 0 2>, <&si5341 0 3>;
7875def4c47SEmmanuel Vadot	clock-names = "ref1", "ref2", "ref3";
7885def4c47SEmmanuel Vadot};
7895def4c47SEmmanuel Vadot
7908cc087a1SEmmanuel Vadot&qspi {
7918cc087a1SEmmanuel Vadot	status = "okay";
7928cc087a1SEmmanuel Vadot	flash@0 {
7938cc087a1SEmmanuel Vadot		compatible = "m25p80", "jedec,spi-nor"; /* 16MB + 16MB */
7948cc087a1SEmmanuel Vadot		#address-cells = <1>;
7958cc087a1SEmmanuel Vadot		#size-cells = <1>;
7968cc087a1SEmmanuel Vadot		reg = <0x0>;
797f126890aSEmmanuel Vadot		spi-tx-bus-width = <4>;
7988cc087a1SEmmanuel Vadot		spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
7998cc087a1SEmmanuel Vadot		spi-max-frequency = <108000000>; /* Based on DC1 spec */
8008cc087a1SEmmanuel Vadot	};
8018cc087a1SEmmanuel Vadot};
8028cc087a1SEmmanuel Vadot
803c66ec88fSEmmanuel Vadot&rtc {
804c66ec88fSEmmanuel Vadot	status = "okay";
805c66ec88fSEmmanuel Vadot};
806c66ec88fSEmmanuel Vadot
807c66ec88fSEmmanuel Vadot&sata {
808c66ec88fSEmmanuel Vadot	status = "okay";
809c66ec88fSEmmanuel Vadot	/* SATA OOB timing settings */
810c66ec88fSEmmanuel Vadot	ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
811c66ec88fSEmmanuel Vadot	ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
812c66ec88fSEmmanuel Vadot	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
813c66ec88fSEmmanuel Vadot	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
814c66ec88fSEmmanuel Vadot	ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
815c66ec88fSEmmanuel Vadot	ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
816c66ec88fSEmmanuel Vadot	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
817c66ec88fSEmmanuel Vadot	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
8185def4c47SEmmanuel Vadot	phy-names = "sata-phy";
8198cc087a1SEmmanuel Vadot	phys = <&psgtr 3 PHY_TYPE_SATA 1 3>;
820c66ec88fSEmmanuel Vadot};
821c66ec88fSEmmanuel Vadot
822c66ec88fSEmmanuel Vadot/* SD1 with level shifter */
823c66ec88fSEmmanuel Vadot&sdhci1 {
824c66ec88fSEmmanuel Vadot	status = "okay";
8258cc087a1SEmmanuel Vadot	pinctrl-names = "default";
8268cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_sdhci1_default>;
8278cc087a1SEmmanuel Vadot	disable-wp;
8288cc087a1SEmmanuel Vadot	/*
8298cc087a1SEmmanuel Vadot	 * This property should be removed for supporting UHS mode
8308cc087a1SEmmanuel Vadot	 */
831c66ec88fSEmmanuel Vadot	no-1-8-v;
8325def4c47SEmmanuel Vadot	xlnx,mio-bank = <1>;
833c66ec88fSEmmanuel Vadot};
834c66ec88fSEmmanuel Vadot
835c66ec88fSEmmanuel Vadot&uart0 {
836c66ec88fSEmmanuel Vadot	status = "okay";
8378cc087a1SEmmanuel Vadot	pinctrl-names = "default";
8388cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart0_default>;
839c66ec88fSEmmanuel Vadot};
840c66ec88fSEmmanuel Vadot
841c66ec88fSEmmanuel Vadot/* ULPI SMSC USB3320 */
842c66ec88fSEmmanuel Vadot&usb0 {
843c66ec88fSEmmanuel Vadot	status = "okay";
8448cc087a1SEmmanuel Vadot	pinctrl-names = "default";
8458cc087a1SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usb0_default>;
8468cc087a1SEmmanuel Vadot	phy-names = "usb3-phy";
8478cc087a1SEmmanuel Vadot	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
8488cc087a1SEmmanuel Vadot};
8498cc087a1SEmmanuel Vadot
8508cc087a1SEmmanuel Vadot&dwc3_0 {
8518cc087a1SEmmanuel Vadot	status = "okay";
852c66ec88fSEmmanuel Vadot	dr_mode = "host";
8538cc087a1SEmmanuel Vadot	snps,usb3_lpm_capable;
8548cc087a1SEmmanuel Vadot	maximum-speed = "super-speed";
855c66ec88fSEmmanuel Vadot};
8565def4c47SEmmanuel Vadot
8575def4c47SEmmanuel Vadot&zynqmp_dpdma {
8585def4c47SEmmanuel Vadot	status = "okay";
8595def4c47SEmmanuel Vadot};
8605def4c47SEmmanuel Vadot
8615def4c47SEmmanuel Vadot&zynqmp_dpsub {
8625def4c47SEmmanuel Vadot	status = "okay";
8635def4c47SEmmanuel Vadot	phy-names = "dp-phy0", "dp-phy1";
8645def4c47SEmmanuel Vadot	phys = <&psgtr 1 PHY_TYPE_DP 0 1>,
8655def4c47SEmmanuel Vadot	       <&psgtr 0 PHY_TYPE_DP 1 1>;
8665def4c47SEmmanuel Vadot};
867