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