xref: /linux/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts (revision 4e4ddd3d1dee009a26a8a74822d4761287768a95)
1ef797b53SMichal Simek// SPDX-License-Identifier: GPL-2.0+
2ef797b53SMichal Simek/*
3ef797b53SMichal Simek * dts file for Xilinx ZynqMP ZCU102 RevA
4ef797b53SMichal Simek *
5c821045fSMichal Simek * (C) Copyright 2015 - 2021, Xilinx, Inc.
6ef797b53SMichal Simek *
7*4e4ddd3dSMichal Simek * Michal Simek <michal.simek@amd.com>
8ef797b53SMichal Simek */
9ef797b53SMichal Simek
10ef797b53SMichal Simek/dts-v1/;
11ef797b53SMichal Simek
12ef797b53SMichal Simek#include "zynqmp.dtsi"
139c8a47b4SRajan Vaja#include "zynqmp-clk-ccf.dtsi"
14ef797b53SMichal Simek#include <dt-bindings/input/input.h>
15ef797b53SMichal Simek#include <dt-bindings/gpio/gpio.h>
16c821045fSMichal Simek#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
1751733f16SMichal Simek#include <dt-bindings/phy/phy.h>
18ef797b53SMichal Simek
19ef797b53SMichal Simek/ {
20ef797b53SMichal Simek	model = "ZynqMP ZCU102 RevA";
21ef797b53SMichal Simek	compatible = "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102", "xlnx,zynqmp";
22ef797b53SMichal Simek
23ef797b53SMichal Simek	aliases {
24ef797b53SMichal Simek		ethernet0 = &gem3;
25ef797b53SMichal Simek		i2c0 = &i2c0;
26ef797b53SMichal Simek		i2c1 = &i2c1;
27ef797b53SMichal Simek		mmc0 = &sdhci1;
28d65ec93fSMichal Simek		nvmem0 = &eeprom;
29ef797b53SMichal Simek		rtc0 = &rtc;
30ef797b53SMichal Simek		serial0 = &uart0;
31ef797b53SMichal Simek		serial1 = &uart1;
32ef797b53SMichal Simek		serial2 = &dcc;
3356e54601SMichal Simek		spi0 = &qspi;
34b61c4ff9SMichal Simek		usb0 = &usb0;
35ef797b53SMichal Simek	};
36ef797b53SMichal Simek
37ef797b53SMichal Simek	chosen {
38ef797b53SMichal Simek		bootargs = "earlycon";
39ef797b53SMichal Simek		stdout-path = "serial0:115200n8";
40ef797b53SMichal Simek	};
41ef797b53SMichal Simek
42ef797b53SMichal Simek	memory@0 {
43ef797b53SMichal Simek		device_type = "memory";
44ef797b53SMichal Simek		reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
45ef797b53SMichal Simek	};
46ef797b53SMichal Simek
47ef797b53SMichal Simek	gpio-keys {
48ef797b53SMichal Simek		compatible = "gpio-keys";
49ef797b53SMichal Simek		autorepeat;
50228e8a88SKrzysztof Kozlowski		switch-19 {
51ef797b53SMichal Simek			label = "sw19";
52ef797b53SMichal Simek			gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
53ef797b53SMichal Simek			linux,code = <KEY_DOWN>;
541696acf4SSudeep Holla			wakeup-source;
55ef797b53SMichal Simek			autorepeat;
56ef797b53SMichal Simek		};
57ef797b53SMichal Simek	};
58ef797b53SMichal Simek
59ef797b53SMichal Simek	leds {
60ef797b53SMichal Simek		compatible = "gpio-leds";
61d1d4445aSMichal Simek		heartbeat-led {
62ef797b53SMichal Simek			label = "heartbeat";
63ef797b53SMichal Simek			gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
64ef797b53SMichal Simek			linux,default-trigger = "heartbeat";
65ef797b53SMichal Simek		};
66ef797b53SMichal Simek	};
6786444d3eSMichal Simek
6886444d3eSMichal Simek	ina226-u76 {
6986444d3eSMichal Simek		compatible = "iio-hwmon";
7086444d3eSMichal Simek		io-channels = <&u76 0>, <&u76 1>, <&u76 2>, <&u76 3>;
7186444d3eSMichal Simek	};
7286444d3eSMichal Simek	ina226-u77 {
7386444d3eSMichal Simek		compatible = "iio-hwmon";
7486444d3eSMichal Simek		io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>;
7586444d3eSMichal Simek	};
7686444d3eSMichal Simek	ina226-u78 {
7786444d3eSMichal Simek		compatible = "iio-hwmon";
7886444d3eSMichal Simek		io-channels = <&u78 0>, <&u78 1>, <&u78 2>, <&u78 3>;
7986444d3eSMichal Simek	};
8086444d3eSMichal Simek	ina226-u87 {
8186444d3eSMichal Simek		compatible = "iio-hwmon";
8286444d3eSMichal Simek		io-channels = <&u87 0>, <&u87 1>, <&u87 2>, <&u87 3>;
8386444d3eSMichal Simek	};
8486444d3eSMichal Simek	ina226-u85 {
8586444d3eSMichal Simek		compatible = "iio-hwmon";
8686444d3eSMichal Simek		io-channels = <&u85 0>, <&u85 1>, <&u85 2>, <&u85 3>;
8786444d3eSMichal Simek	};
8886444d3eSMichal Simek	ina226-u86 {
8986444d3eSMichal Simek		compatible = "iio-hwmon";
9086444d3eSMichal Simek		io-channels = <&u86 0>, <&u86 1>, <&u86 2>, <&u86 3>;
9186444d3eSMichal Simek	};
9286444d3eSMichal Simek	ina226-u93 {
9386444d3eSMichal Simek		compatible = "iio-hwmon";
9486444d3eSMichal Simek		io-channels = <&u93 0>, <&u93 1>, <&u93 2>, <&u93 3>;
9586444d3eSMichal Simek	};
9686444d3eSMichal Simek	ina226-u88 {
9786444d3eSMichal Simek		compatible = "iio-hwmon";
9886444d3eSMichal Simek		io-channels = <&u88 0>, <&u88 1>, <&u88 2>, <&u88 3>;
9986444d3eSMichal Simek	};
10086444d3eSMichal Simek	ina226-u15 {
10186444d3eSMichal Simek		compatible = "iio-hwmon";
10286444d3eSMichal Simek		io-channels = <&u15 0>, <&u15 1>, <&u15 2>, <&u15 3>;
10386444d3eSMichal Simek	};
10486444d3eSMichal Simek	ina226-u92 {
10586444d3eSMichal Simek		compatible = "iio-hwmon";
10686444d3eSMichal Simek		io-channels = <&u92 0>, <&u92 1>, <&u92 2>, <&u92 3>;
10786444d3eSMichal Simek	};
10886444d3eSMichal Simek	ina226-u79 {
10986444d3eSMichal Simek		compatible = "iio-hwmon";
11086444d3eSMichal Simek		io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>;
11186444d3eSMichal Simek	};
11286444d3eSMichal Simek	ina226-u81 {
11386444d3eSMichal Simek		compatible = "iio-hwmon";
11486444d3eSMichal Simek		io-channels = <&u81 0>, <&u81 1>, <&u81 2>, <&u81 3>;
11586444d3eSMichal Simek	};
11686444d3eSMichal Simek	ina226-u80 {
11786444d3eSMichal Simek		compatible = "iio-hwmon";
11886444d3eSMichal Simek		io-channels = <&u80 0>, <&u80 1>, <&u80 2>, <&u80 3>;
11986444d3eSMichal Simek	};
12086444d3eSMichal Simek	ina226-u84 {
12186444d3eSMichal Simek		compatible = "iio-hwmon";
12286444d3eSMichal Simek		io-channels = <&u84 0>, <&u84 1>, <&u84 2>, <&u84 3>;
12386444d3eSMichal Simek	};
12486444d3eSMichal Simek	ina226-u16 {
12586444d3eSMichal Simek		compatible = "iio-hwmon";
12686444d3eSMichal Simek		io-channels = <&u16 0>, <&u16 1>, <&u16 2>, <&u16 3>;
12786444d3eSMichal Simek	};
12886444d3eSMichal Simek	ina226-u65 {
12986444d3eSMichal Simek		compatible = "iio-hwmon";
13086444d3eSMichal Simek		io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>;
13186444d3eSMichal Simek	};
13286444d3eSMichal Simek	ina226-u74 {
13386444d3eSMichal Simek		compatible = "iio-hwmon";
13486444d3eSMichal Simek		io-channels = <&u74 0>, <&u74 1>, <&u74 2>, <&u74 3>;
13586444d3eSMichal Simek	};
13686444d3eSMichal Simek	ina226-u75 {
13786444d3eSMichal Simek		compatible = "iio-hwmon";
13886444d3eSMichal Simek		io-channels = <&u75 0>, <&u75 1>, <&u75 2>, <&u75 3>;
13986444d3eSMichal Simek	};
14082a7ebf0SMichal Simek
141928a5747SMichal Simek	/* 48MHz reference crystal */
142928a5747SMichal Simek	ref48: ref48M {
143928a5747SMichal Simek		compatible = "fixed-clock";
144928a5747SMichal Simek		#clock-cells = <0>;
145928a5747SMichal Simek		clock-frequency = <48000000>;
146928a5747SMichal Simek	};
147928a5747SMichal Simek
14882a7ebf0SMichal Simek	refhdmi: refhdmi {
14982a7ebf0SMichal Simek		compatible = "fixed-clock";
15082a7ebf0SMichal Simek		#clock-cells = <0>;
15182a7ebf0SMichal Simek		clock-frequency = <114285000>;
15282a7ebf0SMichal Simek	};
153ef797b53SMichal Simek};
154ef797b53SMichal Simek
155ef797b53SMichal Simek&can1 {
156ef797b53SMichal Simek	status = "okay";
157c821045fSMichal Simek	pinctrl-names = "default";
158c821045fSMichal Simek	pinctrl-0 = <&pinctrl_can1_default>;
159ef797b53SMichal Simek};
160ef797b53SMichal Simek
161ef797b53SMichal Simek&dcc {
162ef797b53SMichal Simek	status = "okay";
163ef797b53SMichal Simek};
164ef797b53SMichal Simek
165ef797b53SMichal Simek&fpd_dma_chan1 {
166ef797b53SMichal Simek	status = "okay";
167ef797b53SMichal Simek};
168ef797b53SMichal Simek
169ef797b53SMichal Simek&fpd_dma_chan2 {
170ef797b53SMichal Simek	status = "okay";
171ef797b53SMichal Simek};
172ef797b53SMichal Simek
173ef797b53SMichal Simek&fpd_dma_chan3 {
174ef797b53SMichal Simek	status = "okay";
175ef797b53SMichal Simek};
176ef797b53SMichal Simek
177ef797b53SMichal Simek&fpd_dma_chan4 {
178ef797b53SMichal Simek	status = "okay";
179ef797b53SMichal Simek};
180ef797b53SMichal Simek
181ef797b53SMichal Simek&fpd_dma_chan5 {
182ef797b53SMichal Simek	status = "okay";
183ef797b53SMichal Simek};
184ef797b53SMichal Simek
185ef797b53SMichal Simek&fpd_dma_chan6 {
186ef797b53SMichal Simek	status = "okay";
187ef797b53SMichal Simek};
188ef797b53SMichal Simek
189ef797b53SMichal Simek&fpd_dma_chan7 {
190ef797b53SMichal Simek	status = "okay";
191ef797b53SMichal Simek};
192ef797b53SMichal Simek
193ef797b53SMichal Simek&fpd_dma_chan8 {
194ef797b53SMichal Simek	status = "okay";
195ef797b53SMichal Simek};
196ef797b53SMichal Simek
197ef797b53SMichal Simek&gem3 {
198ef797b53SMichal Simek	status = "okay";
199ef797b53SMichal Simek	phy-handle = <&phy0>;
200ef797b53SMichal Simek	phy-mode = "rgmii-id";
201c821045fSMichal Simek	pinctrl-names = "default";
202c821045fSMichal Simek	pinctrl-0 = <&pinctrl_gem3_default>;
20313d21ebaSMichal Simek	phy0: ethernet-phy@21 {
204ef797b53SMichal Simek		reg = <21>;
205ef797b53SMichal Simek		ti,rx-internal-delay = <0x8>;
206ef797b53SMichal Simek		ti,tx-internal-delay = <0xa>;
207ef797b53SMichal Simek		ti,fifo-depth = <0x1>;
20878c484a5SHarini Katakam		ti,dp83867-rxctrl-strap-quirk;
20958ccd7e8SMichal Simek		/* reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>; */
210ef797b53SMichal Simek	};
211ef797b53SMichal Simek};
212ef797b53SMichal Simek
213ef797b53SMichal Simek&gpio {
214ef797b53SMichal Simek	status = "okay";
215c821045fSMichal Simek	pinctrl-names = "default";
216c821045fSMichal Simek	pinctrl-0 = <&pinctrl_gpio_default>;
217ef797b53SMichal Simek};
218ef797b53SMichal Simek
21937e78949SParth Gajjar&gpu {
22037e78949SParth Gajjar	status = "okay";
22137e78949SParth Gajjar};
22237e78949SParth Gajjar
223ef797b53SMichal Simek&i2c0 {
224ef797b53SMichal Simek	status = "okay";
225ef797b53SMichal Simek	clock-frequency = <400000>;
226c821045fSMichal Simek	pinctrl-names = "default", "gpio";
227c821045fSMichal Simek	pinctrl-0 = <&pinctrl_i2c0_default>;
228c821045fSMichal Simek	pinctrl-1 = <&pinctrl_i2c0_gpio>;
229c821045fSMichal Simek	scl-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
230c821045fSMichal Simek	sda-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
231ef797b53SMichal Simek
232ef797b53SMichal Simek	tca6416_u97: gpio@20 {
233ef797b53SMichal Simek		compatible = "ti,tca6416";
234ef797b53SMichal Simek		reg = <0x20>;
2354426df7cSMichal Simek		gpio-controller; /* IRQ not connected */
236ef797b53SMichal Simek		#gpio-cells = <2>;
2374426df7cSMichal Simek		gpio-line-names = "PS_GTR_LAN_SEL0", "PS_GTR_LAN_SEL1", "PS_GTR_LAN_SEL2", "PS_GTR_LAN_SEL3",
2384426df7cSMichal Simek				"PCI_CLK_DIR_SEL", "IIC_MUX_RESET_B", "GEM3_EXP_RESET_B",
2394426df7cSMichal Simek				"", "", "", "", "", "", "", "", "";
240cbf5a878SKrzysztof Kozlowski		gtr-sel0-hog {
241ef797b53SMichal Simek			gpio-hog;
242ef797b53SMichal Simek			gpios = <0 0>;
243ef797b53SMichal Simek			output-low; /* PCIE = 0, DP = 1 */
244ef797b53SMichal Simek			line-name = "sel0";
245ef797b53SMichal Simek		};
246cbf5a878SKrzysztof Kozlowski		gtr-sel1-hog {
247ef797b53SMichal Simek			gpio-hog;
248ef797b53SMichal Simek			gpios = <1 0>;
249ef797b53SMichal Simek			output-high; /* PCIE = 0, DP = 1 */
250ef797b53SMichal Simek			line-name = "sel1";
251ef797b53SMichal Simek		};
252cbf5a878SKrzysztof Kozlowski		gtr-sel2-hog {
253ef797b53SMichal Simek			gpio-hog;
254ef797b53SMichal Simek			gpios = <2 0>;
255ef797b53SMichal Simek			output-high; /* PCIE = 0, USB0 = 1 */
256ef797b53SMichal Simek			line-name = "sel2";
257ef797b53SMichal Simek		};
258cbf5a878SKrzysztof Kozlowski		gtr-sel3-hog {
259ef797b53SMichal Simek			gpio-hog;
260ef797b53SMichal Simek			gpios = <3 0>;
261ef797b53SMichal Simek			output-high; /* PCIE = 0, SATA = 1 */
262ef797b53SMichal Simek			line-name = "sel3";
263ef797b53SMichal Simek		};
264ef797b53SMichal Simek	};
265ef797b53SMichal Simek
266ef797b53SMichal Simek	tca6416_u61: gpio@21 {
267ef797b53SMichal Simek		compatible = "ti,tca6416";
268ef797b53SMichal Simek		reg = <0x21>;
2694426df7cSMichal Simek		gpio-controller; /* IRQ not connected */
270ef797b53SMichal Simek		#gpio-cells = <2>;
2714426df7cSMichal Simek		gpio-line-names = "VCCPSPLL_EN", "MGTRAVCC_EN", "MGTRAVTT_EN", "VCCPSDDRPLL_EN", "MIO26_PMU_INPUT_LS",
2724426df7cSMichal Simek				"PL_PMBUS_ALERT", "PS_PMBUS_ALERT", "MAXIM_PMBUS_ALERT", "PL_DDR4_VTERM_EN",
2734426df7cSMichal Simek				"PL_DDR4_VPP_2V5_EN", "PS_DIMM_VDDQ_TO_PSVCCO_ON", "PS_DIMM_SUSPEND_EN",
2744426df7cSMichal Simek				"PS_DDR4_VTERM_EN", "PS_DDR4_VPP_2V5_EN", "", "";
275ef797b53SMichal Simek	};
276ef797b53SMichal Simek
277ef797b53SMichal Simek	i2c-mux@75 { /* u60 */
278ef797b53SMichal Simek		compatible = "nxp,pca9544";
279ef797b53SMichal Simek		#address-cells = <1>;
280ef797b53SMichal Simek		#size-cells = <0>;
281ef797b53SMichal Simek		reg = <0x75>;
282ef797b53SMichal Simek		i2c@0 {
283ef797b53SMichal Simek			#address-cells = <1>;
284ef797b53SMichal Simek			#size-cells = <0>;
285ef797b53SMichal Simek			reg = <0>;
286ef797b53SMichal Simek			/* PS_PMBUS */
28786444d3eSMichal Simek			u76: ina226@40 { /* u76 */
288ef797b53SMichal Simek				compatible = "ti,ina226";
28986444d3eSMichal Simek				#io-channel-cells = <1>;
290353f5eceSMichal Simek				label = "ina226-u76";
291ef797b53SMichal Simek				reg = <0x40>;
292ef797b53SMichal Simek				shunt-resistor = <5000>;
293ef797b53SMichal Simek			};
29486444d3eSMichal Simek			u77: ina226@41 { /* u77 */
295ef797b53SMichal Simek				compatible = "ti,ina226";
29686444d3eSMichal Simek				#io-channel-cells = <1>;
297353f5eceSMichal Simek				label = "ina226-u77";
298ef797b53SMichal Simek				reg = <0x41>;
299ef797b53SMichal Simek				shunt-resistor = <5000>;
300ef797b53SMichal Simek			};
30186444d3eSMichal Simek			u78: ina226@42 { /* u78 */
302ef797b53SMichal Simek				compatible = "ti,ina226";
30386444d3eSMichal Simek				#io-channel-cells = <1>;
304353f5eceSMichal Simek				label = "ina226-u78";
305ef797b53SMichal Simek				reg = <0x42>;
306ef797b53SMichal Simek				shunt-resistor = <5000>;
307ef797b53SMichal Simek			};
30886444d3eSMichal Simek			u87: ina226@43 { /* u87 */
309ef797b53SMichal Simek				compatible = "ti,ina226";
31086444d3eSMichal Simek				#io-channel-cells = <1>;
311353f5eceSMichal Simek				label = "ina226-u87";
312ef797b53SMichal Simek				reg = <0x43>;
313ef797b53SMichal Simek				shunt-resistor = <5000>;
314ef797b53SMichal Simek			};
31586444d3eSMichal Simek			u85: ina226@44 { /* u85 */
316ef797b53SMichal Simek				compatible = "ti,ina226";
31786444d3eSMichal Simek				#io-channel-cells = <1>;
318353f5eceSMichal Simek				label = "ina226-u85";
319ef797b53SMichal Simek				reg = <0x44>;
320ef797b53SMichal Simek				shunt-resistor = <5000>;
321ef797b53SMichal Simek			};
32286444d3eSMichal Simek			u86: ina226@45 { /* u86 */
323ef797b53SMichal Simek				compatible = "ti,ina226";
32486444d3eSMichal Simek				#io-channel-cells = <1>;
325353f5eceSMichal Simek				label = "ina226-u86";
326ef797b53SMichal Simek				reg = <0x45>;
327ef797b53SMichal Simek				shunt-resistor = <5000>;
328ef797b53SMichal Simek			};
32986444d3eSMichal Simek			u93: ina226@46 { /* u93 */
330ef797b53SMichal Simek				compatible = "ti,ina226";
33186444d3eSMichal Simek				#io-channel-cells = <1>;
332353f5eceSMichal Simek				label = "ina226-u93";
333ef797b53SMichal Simek				reg = <0x46>;
334ef797b53SMichal Simek				shunt-resistor = <5000>;
335ef797b53SMichal Simek			};
33686444d3eSMichal Simek			u88: ina226@47 { /* u88 */
337ef797b53SMichal Simek				compatible = "ti,ina226";
33886444d3eSMichal Simek				#io-channel-cells = <1>;
339353f5eceSMichal Simek				label = "ina226-u88";
340ef797b53SMichal Simek				reg = <0x47>;
341ef797b53SMichal Simek				shunt-resistor = <5000>;
342ef797b53SMichal Simek			};
34386444d3eSMichal Simek			u15: ina226@4a { /* u15 */
344ef797b53SMichal Simek				compatible = "ti,ina226";
34586444d3eSMichal Simek				#io-channel-cells = <1>;
346353f5eceSMichal Simek				label = "ina226-u15";
347ef797b53SMichal Simek				reg = <0x4a>;
348ef797b53SMichal Simek				shunt-resistor = <5000>;
349ef797b53SMichal Simek			};
35086444d3eSMichal Simek			u92: ina226@4b { /* u92 */
351ef797b53SMichal Simek				compatible = "ti,ina226";
35286444d3eSMichal Simek				#io-channel-cells = <1>;
353353f5eceSMichal Simek				label = "ina226-u92";
354ef797b53SMichal Simek				reg = <0x4b>;
355ef797b53SMichal Simek				shunt-resistor = <5000>;
356ef797b53SMichal Simek			};
357ef797b53SMichal Simek		};
358ef797b53SMichal Simek		i2c@1 {
359ef797b53SMichal Simek			#address-cells = <1>;
360ef797b53SMichal Simek			#size-cells = <0>;
361ef797b53SMichal Simek			reg = <1>;
362ef797b53SMichal Simek			/* PL_PMBUS */
36386444d3eSMichal Simek			u79: ina226@40 { /* u79 */
364ef797b53SMichal Simek				compatible = "ti,ina226";
36586444d3eSMichal Simek				#io-channel-cells = <1>;
366353f5eceSMichal Simek				label = "ina226-u79";
367ef797b53SMichal Simek				reg = <0x40>;
368ef797b53SMichal Simek				shunt-resistor = <2000>;
369ef797b53SMichal Simek			};
37086444d3eSMichal Simek			u81: ina226@41 { /* u81 */
371ef797b53SMichal Simek				compatible = "ti,ina226";
37286444d3eSMichal Simek				#io-channel-cells = <1>;
373353f5eceSMichal Simek				label = "ina226-u81";
374ef797b53SMichal Simek				reg = <0x41>;
375ef797b53SMichal Simek				shunt-resistor = <5000>;
376ef797b53SMichal Simek			};
37786444d3eSMichal Simek			u80: ina226@42 { /* u80 */
378ef797b53SMichal Simek				compatible = "ti,ina226";
37986444d3eSMichal Simek				#io-channel-cells = <1>;
380353f5eceSMichal Simek				label = "ina226-u80";
381ef797b53SMichal Simek				reg = <0x42>;
382ef797b53SMichal Simek				shunt-resistor = <5000>;
383ef797b53SMichal Simek			};
38486444d3eSMichal Simek			u84: ina226@43 { /* u84 */
385ef797b53SMichal Simek				compatible = "ti,ina226";
38686444d3eSMichal Simek				#io-channel-cells = <1>;
387353f5eceSMichal Simek				label = "ina226-u84";
388ef797b53SMichal Simek				reg = <0x43>;
389ef797b53SMichal Simek				shunt-resistor = <5000>;
390ef797b53SMichal Simek			};
39186444d3eSMichal Simek			u16: ina226@44 { /* u16 */
392ef797b53SMichal Simek				compatible = "ti,ina226";
39386444d3eSMichal Simek				#io-channel-cells = <1>;
394353f5eceSMichal Simek				label = "ina226-u16";
395ef797b53SMichal Simek				reg = <0x44>;
396ef797b53SMichal Simek				shunt-resistor = <5000>;
397ef797b53SMichal Simek			};
39886444d3eSMichal Simek			u65: ina226@45 { /* u65 */
399ef797b53SMichal Simek				compatible = "ti,ina226";
40086444d3eSMichal Simek				#io-channel-cells = <1>;
401353f5eceSMichal Simek				label = "ina226-u65";
402ef797b53SMichal Simek				reg = <0x45>;
403ef797b53SMichal Simek				shunt-resistor = <5000>;
404ef797b53SMichal Simek			};
40586444d3eSMichal Simek			u74: ina226@46 { /* u74 */
406ef797b53SMichal Simek				compatible = "ti,ina226";
40786444d3eSMichal Simek				#io-channel-cells = <1>;
408353f5eceSMichal Simek				label = "ina226-u74";
409ef797b53SMichal Simek				reg = <0x46>;
410ef797b53SMichal Simek				shunt-resistor = <5000>;
411ef797b53SMichal Simek			};
41286444d3eSMichal Simek			u75: ina226@47 { /* u75 */
413ef797b53SMichal Simek				compatible = "ti,ina226";
41486444d3eSMichal Simek				#io-channel-cells = <1>;
415353f5eceSMichal Simek				label = "ina226-u75";
416ef797b53SMichal Simek				reg = <0x47>;
417ef797b53SMichal Simek				shunt-resistor = <5000>;
418ef797b53SMichal Simek			};
419ef797b53SMichal Simek		};
420ef797b53SMichal Simek		i2c@2 {
421ef797b53SMichal Simek			#address-cells = <1>;
422ef797b53SMichal Simek			#size-cells = <0>;
423ef797b53SMichal Simek			reg = <2>;
424ef797b53SMichal Simek			/* MAXIM_PMBUS - 00 */
425ef797b53SMichal Simek			max15301@a { /* u46 */
426ef797b53SMichal Simek				compatible = "maxim,max15301";
427ef797b53SMichal Simek				reg = <0xa>;
428ef797b53SMichal Simek			};
429ef797b53SMichal Simek			max15303@b { /* u4 */
430ef797b53SMichal Simek				compatible = "maxim,max15303";
431ef797b53SMichal Simek				reg = <0xb>;
432ef797b53SMichal Simek			};
433ef797b53SMichal Simek			max15303@10 { /* u13 */
434ef797b53SMichal Simek				compatible = "maxim,max15303";
435ef797b53SMichal Simek				reg = <0x10>;
436ef797b53SMichal Simek			};
437ef797b53SMichal Simek			max15301@13 { /* u47 */
438ef797b53SMichal Simek				compatible = "maxim,max15301";
439ef797b53SMichal Simek				reg = <0x13>;
440ef797b53SMichal Simek			};
441ef797b53SMichal Simek			max15303@14 { /* u7 */
442ef797b53SMichal Simek				compatible = "maxim,max15303";
443ef797b53SMichal Simek				reg = <0x14>;
444ef797b53SMichal Simek			};
445ef797b53SMichal Simek			max15303@15 { /* u6 */
446ef797b53SMichal Simek				compatible = "maxim,max15303";
447ef797b53SMichal Simek				reg = <0x15>;
448ef797b53SMichal Simek			};
449ef797b53SMichal Simek			max15303@16 { /* u10 */
450ef797b53SMichal Simek				compatible = "maxim,max15303";
451ef797b53SMichal Simek				reg = <0x16>;
452ef797b53SMichal Simek			};
453ef797b53SMichal Simek			max15303@17 { /* u9 */
454ef797b53SMichal Simek				compatible = "maxim,max15303";
455ef797b53SMichal Simek				reg = <0x17>;
456ef797b53SMichal Simek			};
457ef797b53SMichal Simek			max15301@18 { /* u63 */
458ef797b53SMichal Simek				compatible = "maxim,max15301";
459ef797b53SMichal Simek				reg = <0x18>;
460ef797b53SMichal Simek			};
461ef797b53SMichal Simek			max15303@1a { /* u49 */
462ef797b53SMichal Simek				compatible = "maxim,max15303";
463ef797b53SMichal Simek				reg = <0x1a>;
464ef797b53SMichal Simek			};
465ef797b53SMichal Simek			max15303@1d { /* u18 */
466ef797b53SMichal Simek				compatible = "maxim,max15303";
467ef797b53SMichal Simek				reg = <0x1d>;
468ef797b53SMichal Simek			};
469ef797b53SMichal Simek			max15303@20 { /* u8 */
470ef797b53SMichal Simek				compatible = "maxim,max15303";
471ef797b53SMichal Simek				status = "disabled"; /* unreachable */
472ef797b53SMichal Simek				reg = <0x20>;
473ef797b53SMichal Simek			};
474ef797b53SMichal Simek			max20751@72 { /* u95 */
475ef797b53SMichal Simek				compatible = "maxim,max20751";
476ef797b53SMichal Simek				reg = <0x72>;
477ef797b53SMichal Simek			};
478ef797b53SMichal Simek			max20751@73 { /* u96 */
479ef797b53SMichal Simek				compatible = "maxim,max20751";
480ef797b53SMichal Simek				reg = <0x73>;
481ef797b53SMichal Simek			};
482ef797b53SMichal Simek		};
483ef797b53SMichal Simek		/* Bus 3 is not connected */
484ef797b53SMichal Simek	};
485ef797b53SMichal Simek};
486ef797b53SMichal Simek
487ef797b53SMichal Simek&i2c1 {
488ef797b53SMichal Simek	status = "okay";
489ef797b53SMichal Simek	clock-frequency = <400000>;
490c821045fSMichal Simek	pinctrl-names = "default", "gpio";
491c821045fSMichal Simek	pinctrl-0 = <&pinctrl_i2c1_default>;
492c821045fSMichal Simek	pinctrl-1 = <&pinctrl_i2c1_gpio>;
493c821045fSMichal Simek	scl-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
494c821045fSMichal Simek	sda-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
495ef797b53SMichal Simek
496ef797b53SMichal Simek	/* PL i2c via PCA9306 - u45 */
497ef797b53SMichal Simek	i2c-mux@74 { /* u34 */
498ef797b53SMichal Simek		compatible = "nxp,pca9548";
499ef797b53SMichal Simek		#address-cells = <1>;
500ef797b53SMichal Simek		#size-cells = <0>;
501ef797b53SMichal Simek		reg = <0x74>;
502ef797b53SMichal Simek		i2c@0 {
503ef797b53SMichal Simek			#address-cells = <1>;
504ef797b53SMichal Simek			#size-cells = <0>;
505ef797b53SMichal Simek			reg = <0>;
506ef797b53SMichal Simek			/*
507ef797b53SMichal Simek			 * IIC_EEPROM 1kB memory which uses 256B blocks
508ef797b53SMichal Simek			 * where every block has different address.
509ef797b53SMichal Simek			 *    0 - 256B address 0x54
510ef797b53SMichal Simek			 * 256B - 512B address 0x55
511ef797b53SMichal Simek			 * 512B - 768B address 0x56
512ef797b53SMichal Simek			 * 768B - 1024B address 0x57
513ef797b53SMichal Simek			 */
514ef797b53SMichal Simek			eeprom: eeprom@54 { /* u23 */
515ef797b53SMichal Simek				compatible = "atmel,24c08";
516ef797b53SMichal Simek				reg = <0x54>;
517ef797b53SMichal Simek			};
518ef797b53SMichal Simek		};
519ef797b53SMichal Simek		i2c@1 {
520ef797b53SMichal Simek			#address-cells = <1>;
521ef797b53SMichal Simek			#size-cells = <0>;
522ef797b53SMichal Simek			reg = <1>;
523ef797b53SMichal Simek			si5341: clock-generator@36 { /* SI5341 - u69 */
524928a5747SMichal Simek				compatible = "silabs,si5341";
525ef797b53SMichal Simek				reg = <0x36>;
526928a5747SMichal Simek				#clock-cells = <2>;
527928a5747SMichal Simek				#address-cells = <1>;
528928a5747SMichal Simek				#size-cells = <0>;
529928a5747SMichal Simek				clocks = <&ref48>;
530928a5747SMichal Simek				clock-names = "xtal";
531928a5747SMichal Simek				clock-output-names = "si5341";
532ef797b53SMichal Simek
533928a5747SMichal Simek				si5341_0: out@0 {
534928a5747SMichal Simek					/* refclk0 for PS-GT, used for DP */
535928a5747SMichal Simek					reg = <0>;
536928a5747SMichal Simek					always-on;
537928a5747SMichal Simek				};
538928a5747SMichal Simek				si5341_2: out@2 {
539928a5747SMichal Simek					/* refclk2 for PS-GT, used for USB3 */
540928a5747SMichal Simek					reg = <2>;
541928a5747SMichal Simek					always-on;
542928a5747SMichal Simek				};
543928a5747SMichal Simek				si5341_3: out@3 {
544928a5747SMichal Simek					/* refclk3 for PS-GT, used for SATA */
545928a5747SMichal Simek					reg = <3>;
546928a5747SMichal Simek					always-on;
547928a5747SMichal Simek				};
548928a5747SMichal Simek				si5341_4: out@4 {
549928a5747SMichal Simek					/* refclk4 for PS-GT, used for PCIE slot */
550928a5747SMichal Simek					reg = <4>;
551928a5747SMichal Simek					always-on;
552928a5747SMichal Simek				};
553928a5747SMichal Simek				si5341_5: out@5 {
554928a5747SMichal Simek					/* refclk5 for PS-GT, used for PCIE */
555928a5747SMichal Simek					reg = <5>;
556928a5747SMichal Simek					always-on;
557928a5747SMichal Simek				};
558928a5747SMichal Simek				si5341_6: out@6 {
559928a5747SMichal Simek					/* refclk6 PL CLK125 */
560928a5747SMichal Simek					reg = <6>;
561928a5747SMichal Simek					always-on;
562928a5747SMichal Simek				};
563928a5747SMichal Simek				si5341_7: out@7 {
564928a5747SMichal Simek					/* refclk7 PL CLK74 */
565928a5747SMichal Simek					reg = <7>;
566928a5747SMichal Simek					always-on;
567928a5747SMichal Simek				};
568928a5747SMichal Simek				si5341_9: out@9 {
569928a5747SMichal Simek					/* refclk9 used for PS_REF_CLK 33.3 MHz */
570928a5747SMichal Simek					reg = <9>;
571928a5747SMichal Simek					always-on;
572928a5747SMichal Simek				};
573928a5747SMichal Simek			};
574ef797b53SMichal Simek		};
575ef797b53SMichal Simek		i2c@2 {
576ef797b53SMichal Simek			#address-cells = <1>;
577ef797b53SMichal Simek			#size-cells = <0>;
578ef797b53SMichal Simek			reg = <2>;
579ef797b53SMichal Simek			si570_1: clock-generator@5d { /* USER SI570 - u42 */
580ef797b53SMichal Simek				#clock-cells = <0>;
581ef797b53SMichal Simek				compatible = "silabs,si570";
582ef797b53SMichal Simek				reg = <0x5d>;
583ef797b53SMichal Simek				temperature-stability = <50>;
584ef797b53SMichal Simek				factory-fout = <300000000>;
585ef797b53SMichal Simek				clock-frequency = <300000000>;
58648b44b90SMichal Simek				clock-output-names = "si570_user";
587ef797b53SMichal Simek			};
588ef797b53SMichal Simek		};
589ef797b53SMichal Simek		i2c@3 {
590ef797b53SMichal Simek			#address-cells = <1>;
591ef797b53SMichal Simek			#size-cells = <0>;
592ef797b53SMichal Simek			reg = <3>;
593ef797b53SMichal Simek			si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */
594ef797b53SMichal Simek				#clock-cells = <0>;
595ef797b53SMichal Simek				compatible = "silabs,si570";
596ef797b53SMichal Simek				reg = <0x5d>;
597ef797b53SMichal Simek				temperature-stability = <50>; /* copy from zc702 */
598ef797b53SMichal Simek				factory-fout = <156250000>;
599ef797b53SMichal Simek				clock-frequency = <148500000>;
60048b44b90SMichal Simek				clock-output-names = "si570_mgt";
601ef797b53SMichal Simek			};
602ef797b53SMichal Simek		};
603ef797b53SMichal Simek		i2c@4 {
604ef797b53SMichal Simek			#address-cells = <1>;
605ef797b53SMichal Simek			#size-cells = <0>;
606ef797b53SMichal Simek			reg = <4>;
60773d677e9SQuanyang Wang			/* SI5328 - u20 */
608ef797b53SMichal Simek		};
609ef797b53SMichal Simek		/* 5 - 7 unconnected */
610ef797b53SMichal Simek	};
611ef797b53SMichal Simek
612ef797b53SMichal Simek	i2c-mux@75 {
613ef797b53SMichal Simek		compatible = "nxp,pca9548"; /* u135 */
614ef797b53SMichal Simek		#address-cells = <1>;
615ef797b53SMichal Simek		#size-cells = <0>;
616ef797b53SMichal Simek		reg = <0x75>;
617ef797b53SMichal Simek
618ef797b53SMichal Simek		i2c@0 {
619ef797b53SMichal Simek			#address-cells = <1>;
620ef797b53SMichal Simek			#size-cells = <0>;
621ef797b53SMichal Simek			reg = <0>;
622ef797b53SMichal Simek			/* HPC0_IIC */
623ef797b53SMichal Simek		};
624ef797b53SMichal Simek		i2c@1 {
625ef797b53SMichal Simek			#address-cells = <1>;
626ef797b53SMichal Simek			#size-cells = <0>;
627ef797b53SMichal Simek			reg = <1>;
628ef797b53SMichal Simek			/* HPC1_IIC */
629ef797b53SMichal Simek		};
630ef797b53SMichal Simek		i2c@2 {
631ef797b53SMichal Simek			#address-cells = <1>;
632ef797b53SMichal Simek			#size-cells = <0>;
633ef797b53SMichal Simek			reg = <2>;
634ef797b53SMichal Simek			/* SYSMON */
635ef797b53SMichal Simek		};
636ef797b53SMichal Simek		i2c@3 {
637ef797b53SMichal Simek			#address-cells = <1>;
638ef797b53SMichal Simek			#size-cells = <0>;
639ef797b53SMichal Simek			reg = <3>;
640ef797b53SMichal Simek			/* DDR4 SODIMM */
641ef797b53SMichal Simek		};
642ef797b53SMichal Simek		i2c@4 {
643ef797b53SMichal Simek			#address-cells = <1>;
644ef797b53SMichal Simek			#size-cells = <0>;
645ef797b53SMichal Simek			reg = <4>;
646ef797b53SMichal Simek			/* SEP 3 */
647ef797b53SMichal Simek		};
648ef797b53SMichal Simek		i2c@5 {
649ef797b53SMichal Simek			#address-cells = <1>;
650ef797b53SMichal Simek			#size-cells = <0>;
651ef797b53SMichal Simek			reg = <5>;
652ef797b53SMichal Simek			/* SEP 2 */
653ef797b53SMichal Simek		};
654ef797b53SMichal Simek		i2c@6 {
655ef797b53SMichal Simek			#address-cells = <1>;
656ef797b53SMichal Simek			#size-cells = <0>;
657ef797b53SMichal Simek			reg = <6>;
658ef797b53SMichal Simek			/* SEP 1 */
659ef797b53SMichal Simek		};
660ef797b53SMichal Simek		i2c@7 {
661ef797b53SMichal Simek			#address-cells = <1>;
662ef797b53SMichal Simek			#size-cells = <0>;
663ef797b53SMichal Simek			reg = <7>;
664ef797b53SMichal Simek			/* SEP 0 */
665ef797b53SMichal Simek		};
666ef797b53SMichal Simek	};
667ef797b53SMichal Simek};
668ef797b53SMichal Simek
669c821045fSMichal Simek&pinctrl0 {
670c821045fSMichal Simek	status = "okay";
671c821045fSMichal Simek	pinctrl_i2c0_default: i2c0-default {
672c821045fSMichal Simek		mux {
673c821045fSMichal Simek			groups = "i2c0_3_grp";
674c821045fSMichal Simek			function = "i2c0";
675c821045fSMichal Simek		};
676c821045fSMichal Simek
677c821045fSMichal Simek		conf {
678c821045fSMichal Simek			groups = "i2c0_3_grp";
679c821045fSMichal Simek			bias-pull-up;
680c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
681c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
682c821045fSMichal Simek		};
683c821045fSMichal Simek	};
684c821045fSMichal Simek
685c821045fSMichal Simek	pinctrl_i2c0_gpio: i2c0-gpio {
686c821045fSMichal Simek		mux {
687c821045fSMichal Simek			groups = "gpio0_14_grp", "gpio0_15_grp";
688c821045fSMichal Simek			function = "gpio0";
689c821045fSMichal Simek		};
690c821045fSMichal Simek
691c821045fSMichal Simek		conf {
692c821045fSMichal Simek			groups = "gpio0_14_grp", "gpio0_15_grp";
693c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
694c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
695c821045fSMichal Simek		};
696c821045fSMichal Simek	};
697c821045fSMichal Simek
698c821045fSMichal Simek	pinctrl_i2c1_default: i2c1-default {
699c821045fSMichal Simek		mux {
700c821045fSMichal Simek			groups = "i2c1_4_grp";
701c821045fSMichal Simek			function = "i2c1";
702c821045fSMichal Simek		};
703c821045fSMichal Simek
704c821045fSMichal Simek		conf {
705c821045fSMichal Simek			groups = "i2c1_4_grp";
706c821045fSMichal Simek			bias-pull-up;
707c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
708c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
709c821045fSMichal Simek		};
710c821045fSMichal Simek	};
711c821045fSMichal Simek
712c821045fSMichal Simek	pinctrl_i2c1_gpio: i2c1-gpio {
713c821045fSMichal Simek		mux {
714c821045fSMichal Simek			groups = "gpio0_16_grp", "gpio0_17_grp";
715c821045fSMichal Simek			function = "gpio0";
716c821045fSMichal Simek		};
717c821045fSMichal Simek
718c821045fSMichal Simek		conf {
719c821045fSMichal Simek			groups = "gpio0_16_grp", "gpio0_17_grp";
720c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
721c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
722c821045fSMichal Simek		};
723c821045fSMichal Simek	};
724c821045fSMichal Simek
725c821045fSMichal Simek	pinctrl_uart0_default: uart0-default {
726c821045fSMichal Simek		mux {
727c821045fSMichal Simek			groups = "uart0_4_grp";
728c821045fSMichal Simek			function = "uart0";
729c821045fSMichal Simek		};
730c821045fSMichal Simek
731c821045fSMichal Simek		conf {
732c821045fSMichal Simek			groups = "uart0_4_grp";
733c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
734c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
735c821045fSMichal Simek		};
736c821045fSMichal Simek
737c821045fSMichal Simek		conf-rx {
738c821045fSMichal Simek			pins = "MIO18";
739c821045fSMichal Simek			bias-high-impedance;
740c821045fSMichal Simek		};
741c821045fSMichal Simek
742c821045fSMichal Simek		conf-tx {
743c821045fSMichal Simek			pins = "MIO19";
744c821045fSMichal Simek			bias-disable;
745c821045fSMichal Simek		};
746c821045fSMichal Simek	};
747c821045fSMichal Simek
748c821045fSMichal Simek	pinctrl_uart1_default: uart1-default {
749c821045fSMichal Simek		mux {
750c821045fSMichal Simek			groups = "uart1_5_grp";
751c821045fSMichal Simek			function = "uart1";
752c821045fSMichal Simek		};
753c821045fSMichal Simek
754c821045fSMichal Simek		conf {
755c821045fSMichal Simek			groups = "uart1_5_grp";
756c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
757c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
758c821045fSMichal Simek		};
759c821045fSMichal Simek
760c821045fSMichal Simek		conf-rx {
761c821045fSMichal Simek			pins = "MIO21";
762c821045fSMichal Simek			bias-high-impedance;
763c821045fSMichal Simek		};
764c821045fSMichal Simek
765c821045fSMichal Simek		conf-tx {
766c821045fSMichal Simek			pins = "MIO20";
767c821045fSMichal Simek			bias-disable;
768c821045fSMichal Simek		};
769c821045fSMichal Simek	};
770c821045fSMichal Simek
771c821045fSMichal Simek	pinctrl_usb0_default: usb0-default {
772c821045fSMichal Simek		mux {
773c821045fSMichal Simek			groups = "usb0_0_grp";
774c821045fSMichal Simek			function = "usb0";
775c821045fSMichal Simek		};
776c821045fSMichal Simek
777c821045fSMichal Simek		conf {
778c821045fSMichal Simek			groups = "usb0_0_grp";
779c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
780c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
781c821045fSMichal Simek		};
782c821045fSMichal Simek
783c821045fSMichal Simek		conf-rx {
784c821045fSMichal Simek			pins = "MIO52", "MIO53", "MIO55";
785c821045fSMichal Simek			bias-high-impedance;
786c821045fSMichal Simek		};
787c821045fSMichal Simek
788c821045fSMichal Simek		conf-tx {
789c821045fSMichal Simek			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
790c821045fSMichal Simek			       "MIO60", "MIO61", "MIO62", "MIO63";
791c821045fSMichal Simek			bias-disable;
792c821045fSMichal Simek		};
793c821045fSMichal Simek	};
794c821045fSMichal Simek
795c821045fSMichal Simek	pinctrl_gem3_default: gem3-default {
796c821045fSMichal Simek		mux {
797c821045fSMichal Simek			function = "ethernet3";
798c821045fSMichal Simek			groups = "ethernet3_0_grp";
799c821045fSMichal Simek		};
800c821045fSMichal Simek
801c821045fSMichal Simek		conf {
802c821045fSMichal Simek			groups = "ethernet3_0_grp";
803c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
804c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
805c821045fSMichal Simek		};
806c821045fSMichal Simek
807c821045fSMichal Simek		conf-rx {
808c821045fSMichal Simek			pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
809c821045fSMichal Simek									"MIO75";
810c821045fSMichal Simek			bias-high-impedance;
811c821045fSMichal Simek			low-power-disable;
812c821045fSMichal Simek		};
813c821045fSMichal Simek
814c821045fSMichal Simek		conf-tx {
815c821045fSMichal Simek			pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
816c821045fSMichal Simek									"MIO69";
817c821045fSMichal Simek			bias-disable;
818c821045fSMichal Simek			low-power-enable;
819c821045fSMichal Simek		};
820c821045fSMichal Simek
821c821045fSMichal Simek		mux-mdio {
822c821045fSMichal Simek			function = "mdio3";
823c821045fSMichal Simek			groups = "mdio3_0_grp";
824c821045fSMichal Simek		};
825c821045fSMichal Simek
826c821045fSMichal Simek		conf-mdio {
827c821045fSMichal Simek			groups = "mdio3_0_grp";
828c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
829c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
830c821045fSMichal Simek			bias-disable;
831c821045fSMichal Simek		};
832c821045fSMichal Simek	};
833c821045fSMichal Simek
834c821045fSMichal Simek	pinctrl_can1_default: can1-default {
835c821045fSMichal Simek		mux {
836c821045fSMichal Simek			function = "can1";
837c821045fSMichal Simek			groups = "can1_6_grp";
838c821045fSMichal Simek		};
839c821045fSMichal Simek
840c821045fSMichal Simek		conf {
841c821045fSMichal Simek			groups = "can1_6_grp";
842c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
843c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
844c821045fSMichal Simek		};
845c821045fSMichal Simek
846c821045fSMichal Simek		conf-rx {
847c821045fSMichal Simek			pins = "MIO25";
848c821045fSMichal Simek			bias-high-impedance;
849c821045fSMichal Simek		};
850c821045fSMichal Simek
851c821045fSMichal Simek		conf-tx {
852c821045fSMichal Simek			pins = "MIO24";
853c821045fSMichal Simek			bias-disable;
854c821045fSMichal Simek		};
855c821045fSMichal Simek	};
856c821045fSMichal Simek
857c821045fSMichal Simek	pinctrl_sdhci1_default: sdhci1-default {
858c821045fSMichal Simek		mux {
859c821045fSMichal Simek			groups = "sdio1_0_grp";
860c821045fSMichal Simek			function = "sdio1";
861c821045fSMichal Simek		};
862c821045fSMichal Simek
863c821045fSMichal Simek		conf {
864c821045fSMichal Simek			groups = "sdio1_0_grp";
865c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
866c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
867c821045fSMichal Simek			bias-disable;
868c821045fSMichal Simek		};
869c821045fSMichal Simek
870c821045fSMichal Simek		mux-cd {
871c821045fSMichal Simek			groups = "sdio1_cd_0_grp";
872c821045fSMichal Simek			function = "sdio1_cd";
873c821045fSMichal Simek		};
874c821045fSMichal Simek
875c821045fSMichal Simek		conf-cd {
876c821045fSMichal Simek			groups = "sdio1_cd_0_grp";
877c821045fSMichal Simek			bias-high-impedance;
878c821045fSMichal Simek			bias-pull-up;
879c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
880c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
881c821045fSMichal Simek		};
882c821045fSMichal Simek
883c821045fSMichal Simek		mux-wp {
884c821045fSMichal Simek			groups = "sdio1_wp_0_grp";
885c821045fSMichal Simek			function = "sdio1_wp";
886c821045fSMichal Simek		};
887c821045fSMichal Simek
888c821045fSMichal Simek		conf-wp {
889c821045fSMichal Simek			groups = "sdio1_wp_0_grp";
890c821045fSMichal Simek			bias-high-impedance;
891c821045fSMichal Simek			bias-pull-up;
892c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
893c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
894c821045fSMichal Simek		};
895c821045fSMichal Simek	};
896c821045fSMichal Simek
897c821045fSMichal Simek	pinctrl_gpio_default: gpio-default {
898c821045fSMichal Simek		mux-sw {
899c821045fSMichal Simek			function = "gpio0";
900c821045fSMichal Simek			groups = "gpio0_22_grp", "gpio0_23_grp";
901c821045fSMichal Simek		};
902c821045fSMichal Simek
903c821045fSMichal Simek		conf-sw {
904c821045fSMichal Simek			groups = "gpio0_22_grp", "gpio0_23_grp";
905c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
906c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
907c821045fSMichal Simek		};
908c821045fSMichal Simek
909c821045fSMichal Simek		mux-msp {
910c821045fSMichal Simek			function = "gpio0";
911c821045fSMichal Simek			groups = "gpio0_13_grp", "gpio0_38_grp";
912c821045fSMichal Simek		};
913c821045fSMichal Simek
914c821045fSMichal Simek		conf-msp {
915c821045fSMichal Simek			groups = "gpio0_13_grp", "gpio0_38_grp";
916c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
917c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
918c821045fSMichal Simek		};
919c821045fSMichal Simek
920c821045fSMichal Simek		conf-pull-up {
921c821045fSMichal Simek			pins = "MIO22", "MIO23";
922c821045fSMichal Simek			bias-pull-up;
923c821045fSMichal Simek		};
924c821045fSMichal Simek
925c821045fSMichal Simek		conf-pull-none {
926c821045fSMichal Simek			pins = "MIO13", "MIO38";
927c821045fSMichal Simek			bias-disable;
928c821045fSMichal Simek		};
929c821045fSMichal Simek	};
930c821045fSMichal Simek};
931c821045fSMichal Simek
932ef797b53SMichal Simek&pcie {
933ef797b53SMichal Simek	status = "okay";
934ef797b53SMichal Simek};
935ef797b53SMichal Simek
93651733f16SMichal Simek&psgtr {
93751733f16SMichal Simek	status = "okay";
93851733f16SMichal Simek	/* pcie, sata, usb3, dp */
93951733f16SMichal Simek	clocks = <&si5341 0 5>, <&si5341 0 3>, <&si5341 0 2>, <&si5341 0 0>;
94051733f16SMichal Simek	clock-names = "ref0", "ref1", "ref2", "ref3";
94151733f16SMichal Simek};
94251733f16SMichal Simek
94356e54601SMichal Simek&qspi {
94456e54601SMichal Simek	status = "okay";
94556e54601SMichal Simek	flash@0 {
946adc40ff8SMichal Simek		compatible = "m25p80", "jedec,spi-nor"; /* 16MB + 16MB */
94756e54601SMichal Simek		#address-cells = <1>;
94856e54601SMichal Simek		#size-cells = <1>;
94956e54601SMichal Simek		reg = <0x0>;
95056e54601SMichal Simek		spi-tx-bus-width = <1>;
95156e54601SMichal Simek		spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
95256e54601SMichal Simek		spi-max-frequency = <108000000>; /* Based on DC1 spec */
95356e54601SMichal Simek	};
95456e54601SMichal Simek};
95556e54601SMichal Simek
956ef797b53SMichal Simek&rtc {
957ef797b53SMichal Simek	status = "okay";
958ef797b53SMichal Simek};
959ef797b53SMichal Simek
960ef797b53SMichal Simek&sata {
961ef797b53SMichal Simek	status = "okay";
962ef797b53SMichal Simek	/* SATA OOB timing settings */
963ef797b53SMichal Simek	ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
964ef797b53SMichal Simek	ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
965ef797b53SMichal Simek	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
966ef797b53SMichal Simek	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
967ef797b53SMichal Simek	ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
968ef797b53SMichal Simek	ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
969ef797b53SMichal Simek	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
970ef797b53SMichal Simek	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
97151733f16SMichal Simek	phy-names = "sata-phy";
97251733f16SMichal Simek	phys = <&psgtr 3 PHY_TYPE_SATA 1 1>;
973ef797b53SMichal Simek};
974ef797b53SMichal Simek
975ef797b53SMichal Simek/* SD1 with level shifter */
976ef797b53SMichal Simek&sdhci1 {
977ef797b53SMichal Simek	status = "okay";
9781d4bd118SMichal Simek	/*
9791d4bd118SMichal Simek	 * 1.0 revision has level shifter and this property should be
9801d4bd118SMichal Simek	 * removed for supporting UHS mode
9811d4bd118SMichal Simek	 */
982ef797b53SMichal Simek	no-1-8-v;
983c821045fSMichal Simek	pinctrl-names = "default";
984c821045fSMichal Simek	pinctrl-0 = <&pinctrl_sdhci1_default>;
98563481699SMichal Simek	xlnx,mio-bank = <1>;
986ef797b53SMichal Simek};
987ef797b53SMichal Simek
988ef797b53SMichal Simek&uart0 {
989ef797b53SMichal Simek	status = "okay";
990c821045fSMichal Simek	pinctrl-names = "default";
991c821045fSMichal Simek	pinctrl-0 = <&pinctrl_uart0_default>;
992ef797b53SMichal Simek};
993ef797b53SMichal Simek
994ef797b53SMichal Simek&uart1 {
995ef797b53SMichal Simek	status = "okay";
996c821045fSMichal Simek	pinctrl-names = "default";
997c821045fSMichal Simek	pinctrl-0 = <&pinctrl_uart1_default>;
998ef797b53SMichal Simek};
999ef797b53SMichal Simek
1000ef797b53SMichal Simek/* ULPI SMSC USB3320 */
1001ef797b53SMichal Simek&usb0 {
1002ef797b53SMichal Simek	status = "okay";
1003c821045fSMichal Simek	pinctrl-names = "default";
1004c821045fSMichal Simek	pinctrl-0 = <&pinctrl_usb0_default>;
10058b698f1bSMichal Simek	phy-names = "usb3-phy";
10068b698f1bSMichal Simek	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
1007b61c4ff9SMichal Simek};
1008b61c4ff9SMichal Simek
1009b61c4ff9SMichal Simek&dwc3_0 {
1010b61c4ff9SMichal Simek	status = "okay";
1011b61c4ff9SMichal Simek	dr_mode = "host";
1012b61c4ff9SMichal Simek	snps,usb3_lpm_capable;
10138b698f1bSMichal Simek	maximum-speed = "super-speed";
1014ef797b53SMichal Simek};
1015ef797b53SMichal Simek
1016ef797b53SMichal Simek&watchdog0 {
1017ef797b53SMichal Simek	status = "okay";
1018ef797b53SMichal Simek};
101955563399SLaurent Pinchart
1020255118deSMichal Simek&xilinx_ams {
1021255118deSMichal Simek	status = "okay";
1022255118deSMichal Simek};
1023255118deSMichal Simek
1024255118deSMichal Simek&ams_ps {
1025255118deSMichal Simek	status = "okay";
1026255118deSMichal Simek};
1027255118deSMichal Simek
1028255118deSMichal Simek&ams_pl {
1029255118deSMichal Simek	status = "okay";
1030255118deSMichal Simek};
1031255118deSMichal Simek
103255563399SLaurent Pinchart&zynqmp_dpdma {
103355563399SLaurent Pinchart	status = "okay";
103455563399SLaurent Pinchart};
103555563399SLaurent Pinchart
103655563399SLaurent Pinchart&zynqmp_dpsub {
103755563399SLaurent Pinchart	status = "okay";
103855563399SLaurent Pinchart	phy-names = "dp-phy0";
103955563399SLaurent Pinchart	phys = <&psgtr 1 PHY_TYPE_DP 0 3>;
104055563399SLaurent Pinchart};
1041