19243d4d3SMichal Simek// SPDX-License-Identifier: GPL-2.0+
29243d4d3SMichal Simek/*
39243d4d3SMichal Simek * dts file for Xilinx ZynqMP ZCU106
49243d4d3SMichal Simek *
5c720a1f5SMichal Simek * (C) Copyright 2016 - 2022, Xilinx, Inc.
6c720a1f5SMichal Simek * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
79243d4d3SMichal Simek *
84e4ddd3dSMichal Simek * Michal Simek <michal.simek@amd.com>
99243d4d3SMichal Simek */
109243d4d3SMichal Simek
119243d4d3SMichal Simek/dts-v1/;
129243d4d3SMichal Simek
139243d4d3SMichal Simek#include "zynqmp.dtsi"
149c8a47b4SRajan Vaja#include "zynqmp-clk-ccf.dtsi"
159243d4d3SMichal Simek#include <dt-bindings/input/input.h>
169243d4d3SMichal Simek#include <dt-bindings/gpio/gpio.h>
17c821045fSMichal Simek#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
1851733f16SMichal Simek#include <dt-bindings/phy/phy.h>
199243d4d3SMichal Simek
209243d4d3SMichal Simek/ {
219243d4d3SMichal Simek	model = "ZynqMP ZCU106 RevA";
229243d4d3SMichal Simek	compatible = "xlnx,zynqmp-zcu106-revA", "xlnx,zynqmp-zcu106", "xlnx,zynqmp";
239243d4d3SMichal Simek
249243d4d3SMichal Simek	aliases {
259243d4d3SMichal Simek		ethernet0 = &gem3;
269243d4d3SMichal Simek		i2c0 = &i2c0;
279243d4d3SMichal Simek		i2c1 = &i2c1;
289243d4d3SMichal Simek		mmc0 = &sdhci1;
29d65ec93fSMichal Simek		nvmem0 = &eeprom;
309243d4d3SMichal Simek		rtc0 = &rtc;
319243d4d3SMichal Simek		serial0 = &uart0;
329243d4d3SMichal Simek		serial1 = &uart1;
339243d4d3SMichal Simek		serial2 = &dcc;
3456e54601SMichal Simek		spi0 = &qspi;
35b61c4ff9SMichal Simek		usb0 = &usb0;
369243d4d3SMichal Simek	};
379243d4d3SMichal Simek
389243d4d3SMichal Simek	chosen {
399243d4d3SMichal Simek		bootargs = "earlycon";
409243d4d3SMichal Simek		stdout-path = "serial0:115200n8";
419243d4d3SMichal Simek	};
429243d4d3SMichal Simek
439243d4d3SMichal Simek	memory@0 {
449243d4d3SMichal Simek		device_type = "memory";
459243d4d3SMichal Simek		reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
469243d4d3SMichal Simek	};
479243d4d3SMichal Simek
489243d4d3SMichal Simek	gpio-keys {
499243d4d3SMichal Simek		compatible = "gpio-keys";
509243d4d3SMichal Simek		autorepeat;
51228e8a88SKrzysztof Kozlowski		switch-19 {
529243d4d3SMichal Simek			label = "sw19";
539243d4d3SMichal Simek			gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
549243d4d3SMichal Simek			linux,code = <KEY_DOWN>;
551696acf4SSudeep Holla			wakeup-source;
569243d4d3SMichal Simek			autorepeat;
579243d4d3SMichal Simek		};
589243d4d3SMichal Simek	};
599243d4d3SMichal Simek
609243d4d3SMichal Simek	leds {
619243d4d3SMichal Simek		compatible = "gpio-leds";
62d1d4445aSMichal Simek		heartbeat-led {
639243d4d3SMichal Simek			label = "heartbeat";
649243d4d3SMichal Simek			gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
659243d4d3SMichal Simek			linux,default-trigger = "heartbeat";
669243d4d3SMichal Simek		};
679243d4d3SMichal Simek	};
68d7b13a3cSMichal Simek
69d7b13a3cSMichal Simek	ina226-u76 {
70d7b13a3cSMichal Simek		compatible = "iio-hwmon";
71d7b13a3cSMichal Simek		io-channels = <&u76 0>, <&u76 1>, <&u76 2>, <&u76 3>;
72d7b13a3cSMichal Simek	};
73d7b13a3cSMichal Simek	ina226-u77 {
74d7b13a3cSMichal Simek		compatible = "iio-hwmon";
75d7b13a3cSMichal Simek		io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>;
76d7b13a3cSMichal Simek	};
77d7b13a3cSMichal Simek	ina226-u78 {
78d7b13a3cSMichal Simek		compatible = "iio-hwmon";
79d7b13a3cSMichal Simek		io-channels = <&u78 0>, <&u78 1>, <&u78 2>, <&u78 3>;
80d7b13a3cSMichal Simek	};
81d7b13a3cSMichal Simek	ina226-u87 {
82d7b13a3cSMichal Simek		compatible = "iio-hwmon";
83d7b13a3cSMichal Simek		io-channels = <&u87 0>, <&u87 1>, <&u87 2>, <&u87 3>;
84d7b13a3cSMichal Simek	};
85d7b13a3cSMichal Simek	ina226-u85 {
86d7b13a3cSMichal Simek		compatible = "iio-hwmon";
87d7b13a3cSMichal Simek		io-channels = <&u85 0>, <&u85 1>, <&u85 2>, <&u85 3>;
88d7b13a3cSMichal Simek	};
89d7b13a3cSMichal Simek	ina226-u86 {
90d7b13a3cSMichal Simek		compatible = "iio-hwmon";
91d7b13a3cSMichal Simek		io-channels = <&u86 0>, <&u86 1>, <&u86 2>, <&u86 3>;
92d7b13a3cSMichal Simek	};
93d7b13a3cSMichal Simek	ina226-u93 {
94d7b13a3cSMichal Simek		compatible = "iio-hwmon";
95d7b13a3cSMichal Simek		io-channels = <&u93 0>, <&u93 1>, <&u93 2>, <&u93 3>;
96d7b13a3cSMichal Simek	};
97d7b13a3cSMichal Simek	ina226-u88 {
98d7b13a3cSMichal Simek		compatible = "iio-hwmon";
99d7b13a3cSMichal Simek		io-channels = <&u88 0>, <&u88 1>, <&u88 2>, <&u88 3>;
100d7b13a3cSMichal Simek	};
101d7b13a3cSMichal Simek	ina226-u15 {
102d7b13a3cSMichal Simek		compatible = "iio-hwmon";
103d7b13a3cSMichal Simek		io-channels = <&u15 0>, <&u15 1>, <&u15 2>, <&u15 3>;
104d7b13a3cSMichal Simek	};
105d7b13a3cSMichal Simek	ina226-u92 {
106d7b13a3cSMichal Simek		compatible = "iio-hwmon";
107d7b13a3cSMichal Simek		io-channels = <&u92 0>, <&u92 1>, <&u92 2>, <&u92 3>;
108d7b13a3cSMichal Simek	};
109d7b13a3cSMichal Simek	ina226-u79 {
110d7b13a3cSMichal Simek		compatible = "iio-hwmon";
111d7b13a3cSMichal Simek		io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>;
112d7b13a3cSMichal Simek	};
113d7b13a3cSMichal Simek	ina226-u81 {
114d7b13a3cSMichal Simek		compatible = "iio-hwmon";
115d7b13a3cSMichal Simek		io-channels = <&u81 0>, <&u81 1>, <&u81 2>, <&u81 3>;
116d7b13a3cSMichal Simek	};
117d7b13a3cSMichal Simek	ina226-u80 {
118d7b13a3cSMichal Simek		compatible = "iio-hwmon";
119d7b13a3cSMichal Simek		io-channels = <&u80 0>, <&u80 1>, <&u80 2>, <&u80 3>;
120d7b13a3cSMichal Simek	};
121d7b13a3cSMichal Simek	ina226-u84 {
122d7b13a3cSMichal Simek		compatible = "iio-hwmon";
123d7b13a3cSMichal Simek		io-channels = <&u84 0>, <&u84 1>, <&u84 2>, <&u84 3>;
124d7b13a3cSMichal Simek	};
125d7b13a3cSMichal Simek	ina226-u16 {
126d7b13a3cSMichal Simek		compatible = "iio-hwmon";
127d7b13a3cSMichal Simek		io-channels = <&u16 0>, <&u16 1>, <&u16 2>, <&u16 3>;
128d7b13a3cSMichal Simek	};
129d7b13a3cSMichal Simek	ina226-u65 {
130d7b13a3cSMichal Simek		compatible = "iio-hwmon";
131d7b13a3cSMichal Simek		io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>;
132d7b13a3cSMichal Simek	};
133d7b13a3cSMichal Simek	ina226-u74 {
134d7b13a3cSMichal Simek		compatible = "iio-hwmon";
135d7b13a3cSMichal Simek		io-channels = <&u74 0>, <&u74 1>, <&u74 2>, <&u74 3>;
136d7b13a3cSMichal Simek	};
137d7b13a3cSMichal Simek	ina226-u75 {
138d7b13a3cSMichal Simek		compatible = "iio-hwmon";
139d7b13a3cSMichal Simek		io-channels = <&u75 0>, <&u75 1>, <&u75 2>, <&u75 3>;
140d7b13a3cSMichal 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	};
154ddcb8fa6SLaurent Pinchart
155ddcb8fa6SLaurent Pinchart	dpcon {
156ddcb8fa6SLaurent Pinchart		compatible = "dp-connector";
157ddcb8fa6SLaurent Pinchart		label = "P11";
158ddcb8fa6SLaurent Pinchart		type = "full-size";
159ddcb8fa6SLaurent Pinchart
160ddcb8fa6SLaurent Pinchart		port {
161ddcb8fa6SLaurent Pinchart			dpcon_in: endpoint {
162ddcb8fa6SLaurent Pinchart				remote-endpoint = <&dpsub_dp_out>;
163ddcb8fa6SLaurent Pinchart			};
164ddcb8fa6SLaurent Pinchart		};
165ddcb8fa6SLaurent Pinchart	};
1669243d4d3SMichal Simek};
1679243d4d3SMichal Simek
1689243d4d3SMichal Simek&can1 {
1699243d4d3SMichal Simek	status = "okay";
170c821045fSMichal Simek	pinctrl-names = "default";
171c821045fSMichal Simek	pinctrl-0 = <&pinctrl_can1_default>;
1729243d4d3SMichal Simek};
1739243d4d3SMichal Simek
1749243d4d3SMichal Simek&dcc {
1759243d4d3SMichal Simek	status = "okay";
1769243d4d3SMichal Simek};
1779243d4d3SMichal Simek
1789243d4d3SMichal Simek&fpd_dma_chan1 {
1799243d4d3SMichal Simek	status = "okay";
1809243d4d3SMichal Simek};
1819243d4d3SMichal Simek
1829243d4d3SMichal Simek&fpd_dma_chan2 {
1839243d4d3SMichal Simek	status = "okay";
1849243d4d3SMichal Simek};
1859243d4d3SMichal Simek
1869243d4d3SMichal Simek&fpd_dma_chan3 {
1879243d4d3SMichal Simek	status = "okay";
1889243d4d3SMichal Simek};
1899243d4d3SMichal Simek
1909243d4d3SMichal Simek&fpd_dma_chan4 {
1919243d4d3SMichal Simek	status = "okay";
1929243d4d3SMichal Simek};
1939243d4d3SMichal Simek
1949243d4d3SMichal Simek&fpd_dma_chan5 {
1959243d4d3SMichal Simek	status = "okay";
1969243d4d3SMichal Simek};
1979243d4d3SMichal Simek
1989243d4d3SMichal Simek&fpd_dma_chan6 {
1999243d4d3SMichal Simek	status = "okay";
2009243d4d3SMichal Simek};
2019243d4d3SMichal Simek
2029243d4d3SMichal Simek&fpd_dma_chan7 {
2039243d4d3SMichal Simek	status = "okay";
2049243d4d3SMichal Simek};
2059243d4d3SMichal Simek
2069243d4d3SMichal Simek&fpd_dma_chan8 {
2079243d4d3SMichal Simek	status = "okay";
2089243d4d3SMichal Simek};
2099243d4d3SMichal Simek
2109243d4d3SMichal Simek&gem3 {
2119243d4d3SMichal Simek	status = "okay";
2129243d4d3SMichal Simek	phy-handle = <&phy0>;
2139243d4d3SMichal Simek	phy-mode = "rgmii-id";
214c821045fSMichal Simek	pinctrl-names = "default";
215c821045fSMichal Simek	pinctrl-0 = <&pinctrl_gem3_default>;
216c720a1f5SMichal Simek	mdio: mdio {
217c720a1f5SMichal Simek		#address-cells = <1>;
218c720a1f5SMichal Simek		#size-cells = <0>;
21913d21ebaSMichal Simek		phy0: ethernet-phy@c {
220c720a1f5SMichal Simek			#phy-cells = <1>;
2219243d4d3SMichal Simek			reg = <0xc>;
222c720a1f5SMichal Simek			compatible = "ethernet-phy-id2000.a231";
2239243d4d3SMichal Simek			ti,rx-internal-delay = <0x8>;
2249243d4d3SMichal Simek			ti,tx-internal-delay = <0xa>;
2259243d4d3SMichal Simek			ti,fifo-depth = <0x1>;
22678c484a5SHarini Katakam			ti,dp83867-rxctrl-strap-quirk;
227c720a1f5SMichal Simek			reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>;
228c720a1f5SMichal Simek		};
2299243d4d3SMichal Simek	};
2309243d4d3SMichal Simek};
2319243d4d3SMichal Simek
2329243d4d3SMichal Simek&gpio {
2339243d4d3SMichal Simek	status = "okay";
234c821045fSMichal Simek	pinctrl-names = "default";
235c821045fSMichal Simek	pinctrl-0 = <&pinctrl_gpio_default>;
2369243d4d3SMichal Simek};
2379243d4d3SMichal Simek
23837e78949SParth Gajjar&gpu {
23937e78949SParth Gajjar	status = "okay";
24037e78949SParth Gajjar};
24137e78949SParth Gajjar
2429243d4d3SMichal Simek&i2c0 {
2439243d4d3SMichal Simek	status = "okay";
2449243d4d3SMichal Simek	clock-frequency = <400000>;
245c821045fSMichal Simek	pinctrl-names = "default", "gpio";
246c821045fSMichal Simek	pinctrl-0 = <&pinctrl_i2c0_default>;
247c821045fSMichal Simek	pinctrl-1 = <&pinctrl_i2c0_gpio>;
248*ee6c637fSManikanta Guntupalli	scl-gpios = <&gpio 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
249*ee6c637fSManikanta Guntupalli	sda-gpios = <&gpio 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
2509243d4d3SMichal Simek
2519243d4d3SMichal Simek	tca6416_u97: gpio@20 {
2529243d4d3SMichal Simek		compatible = "ti,tca6416";
2539243d4d3SMichal Simek		reg = <0x20>;
2549243d4d3SMichal Simek		gpio-controller; /* interrupt not connected */
2559243d4d3SMichal Simek		#gpio-cells = <2>;
2569243d4d3SMichal Simek		/*
2579243d4d3SMichal Simek		 * IRQ not connected
2589243d4d3SMichal Simek		 * Lines:
2599243d4d3SMichal Simek		 * 0 - SFP_SI5328_INT_ALM
2609243d4d3SMichal Simek		 * 1 - HDMI_SI5328_INT_ALM
2619243d4d3SMichal Simek		 * 5 - IIC_MUX_RESET_B
2629243d4d3SMichal Simek		 * 6 - GEM3_EXP_RESET_B
2639243d4d3SMichal Simek		 * 10 - FMC_HPC0_PRSNT_M2C_B
2649243d4d3SMichal Simek		 * 11 - FMC_HPC1_PRSNT_M2C_B
2659243d4d3SMichal Simek		 * 2-4, 7, 12-17 - not connected
2669243d4d3SMichal Simek		 */
2679243d4d3SMichal Simek	};
2689243d4d3SMichal Simek
2699243d4d3SMichal Simek	tca6416_u61: gpio@21 {
2709243d4d3SMichal Simek		compatible = "ti,tca6416";
2719243d4d3SMichal Simek		reg = <0x21>;
2729243d4d3SMichal Simek		gpio-controller;
2739243d4d3SMichal Simek		#gpio-cells = <2>;
2749243d4d3SMichal Simek		/*
2759243d4d3SMichal Simek		 * IRQ not connected
2769243d4d3SMichal Simek		 * Lines:
2779243d4d3SMichal Simek		 * 0 - VCCPSPLL_EN
2789243d4d3SMichal Simek		 * 1 - MGTRAVCC_EN
2799243d4d3SMichal Simek		 * 2 - MGTRAVTT_EN
2809243d4d3SMichal Simek		 * 3 - VCCPSDDRPLL_EN
2819243d4d3SMichal Simek		 * 4 - MIO26_PMU_INPUT_LS
2829243d4d3SMichal Simek		 * 5 - PL_PMBUS_ALERT
2839243d4d3SMichal Simek		 * 6 - PS_PMBUS_ALERT
2849243d4d3SMichal Simek		 * 7 - MAXIM_PMBUS_ALERT
2859243d4d3SMichal Simek		 * 10 - PL_DDR4_VTERM_EN
2869243d4d3SMichal Simek		 * 11 - PL_DDR4_VPP_2V5_EN
2879243d4d3SMichal Simek		 * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON
2889243d4d3SMichal Simek		 * 13 - PS_DIMM_SUSPEND_EN
2899243d4d3SMichal Simek		 * 14 - PS_DDR4_VTERM_EN
2909243d4d3SMichal Simek		 * 15 - PS_DDR4_VPP_2V5_EN
2919243d4d3SMichal Simek		 * 16 - 17 - not connected
2929243d4d3SMichal Simek		 */
2939243d4d3SMichal Simek	};
2949243d4d3SMichal Simek
2959243d4d3SMichal Simek	i2c-mux@75 { /* u60 */
2969243d4d3SMichal Simek		compatible = "nxp,pca9544";
2979243d4d3SMichal Simek		#address-cells = <1>;
2989243d4d3SMichal Simek		#size-cells = <0>;
2999243d4d3SMichal Simek		reg = <0x75>;
3009243d4d3SMichal Simek		i2c@0 {
3019243d4d3SMichal Simek			#address-cells = <1>;
3029243d4d3SMichal Simek			#size-cells = <0>;
3039243d4d3SMichal Simek			reg = <0>;
3049243d4d3SMichal Simek			/* PS_PMBUS */
305d7b13a3cSMichal Simek			u76: ina226@40 { /* u76 */
3069243d4d3SMichal Simek				compatible = "ti,ina226";
307d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3085a25e646SMichal Simek				label = "ina226-u76";
3099243d4d3SMichal Simek				reg = <0x40>;
3109243d4d3SMichal Simek				shunt-resistor = <5000>;
3119243d4d3SMichal Simek			};
312d7b13a3cSMichal Simek			u77: ina226@41 { /* u77 */
3139243d4d3SMichal Simek				compatible = "ti,ina226";
314d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3155a25e646SMichal Simek				label = "ina226-u77";
3169243d4d3SMichal Simek				reg = <0x41>;
3179243d4d3SMichal Simek				shunt-resistor = <5000>;
3189243d4d3SMichal Simek			};
319d7b13a3cSMichal Simek			u78: ina226@42 { /* u78 */
3209243d4d3SMichal Simek				compatible = "ti,ina226";
321d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3225a25e646SMichal Simek				label = "ina226-u78";
3239243d4d3SMichal Simek				reg = <0x42>;
3249243d4d3SMichal Simek				shunt-resistor = <5000>;
3259243d4d3SMichal Simek			};
326d7b13a3cSMichal Simek			u87: ina226@43 { /* u87 */
3279243d4d3SMichal Simek				compatible = "ti,ina226";
328d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3295a25e646SMichal Simek				label = "ina226-u87";
3309243d4d3SMichal Simek				reg = <0x43>;
3319243d4d3SMichal Simek				shunt-resistor = <5000>;
3329243d4d3SMichal Simek			};
333d7b13a3cSMichal Simek			u85: ina226@44 { /* u85 */
3349243d4d3SMichal Simek				compatible = "ti,ina226";
335d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3365a25e646SMichal Simek				label = "ina226-u85";
3379243d4d3SMichal Simek				reg = <0x44>;
3389243d4d3SMichal Simek				shunt-resistor = <5000>;
3399243d4d3SMichal Simek			};
340d7b13a3cSMichal Simek			u86: ina226@45 { /* u86 */
3419243d4d3SMichal Simek				compatible = "ti,ina226";
342d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3435a25e646SMichal Simek				label = "ina226-u86";
3449243d4d3SMichal Simek				reg = <0x45>;
3459243d4d3SMichal Simek				shunt-resistor = <5000>;
3469243d4d3SMichal Simek			};
347d7b13a3cSMichal Simek			u93: ina226@46 { /* u93 */
3489243d4d3SMichal Simek				compatible = "ti,ina226";
349d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3505a25e646SMichal Simek				label = "ina226-u93";
3519243d4d3SMichal Simek				reg = <0x46>;
3529243d4d3SMichal Simek				shunt-resistor = <5000>;
3539243d4d3SMichal Simek			};
354d7b13a3cSMichal Simek			u88: ina226@47 { /* u88 */
3559243d4d3SMichal Simek				compatible = "ti,ina226";
356d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3575a25e646SMichal Simek				label = "ina226-u88";
3589243d4d3SMichal Simek				reg = <0x47>;
3599243d4d3SMichal Simek				shunt-resistor = <5000>;
3609243d4d3SMichal Simek			};
361d7b13a3cSMichal Simek			u15: ina226@4a { /* u15 */
3629243d4d3SMichal Simek				compatible = "ti,ina226";
363d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3645a25e646SMichal Simek				label = "ina226-u15";
3659243d4d3SMichal Simek				reg = <0x4a>;
3669243d4d3SMichal Simek				shunt-resistor = <5000>;
3679243d4d3SMichal Simek			};
368d7b13a3cSMichal Simek			u92: ina226@4b { /* u92 */
3699243d4d3SMichal Simek				compatible = "ti,ina226";
370d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3715a25e646SMichal Simek				label = "ina226-u92";
3729243d4d3SMichal Simek				reg = <0x4b>;
3739243d4d3SMichal Simek				shunt-resistor = <5000>;
3749243d4d3SMichal Simek			};
3759243d4d3SMichal Simek		};
3769243d4d3SMichal Simek		i2c@1 {
3779243d4d3SMichal Simek			#address-cells = <1>;
3789243d4d3SMichal Simek			#size-cells = <0>;
3799243d4d3SMichal Simek			reg = <1>;
3809243d4d3SMichal Simek			/* PL_PMBUS */
381d7b13a3cSMichal Simek			u79: ina226@40 { /* u79 */
3829243d4d3SMichal Simek				compatible = "ti,ina226";
383d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3845a25e646SMichal Simek				label = "ina226-u79";
3859243d4d3SMichal Simek				reg = <0x40>;
3869243d4d3SMichal Simek				shunt-resistor = <2000>;
3879243d4d3SMichal Simek			};
388d7b13a3cSMichal Simek			u81: ina226@41 { /* u81 */
3899243d4d3SMichal Simek				compatible = "ti,ina226";
390d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3915a25e646SMichal Simek				label = "ina226-u81";
3929243d4d3SMichal Simek				reg = <0x41>;
3939243d4d3SMichal Simek				shunt-resistor = <5000>;
3949243d4d3SMichal Simek			};
395d7b13a3cSMichal Simek			u80: ina226@42 { /* u80 */
3969243d4d3SMichal Simek				compatible = "ti,ina226";
397d7b13a3cSMichal Simek				#io-channel-cells = <1>;
3985a25e646SMichal Simek				label = "ina226-u80";
3999243d4d3SMichal Simek				reg = <0x42>;
4009243d4d3SMichal Simek				shunt-resistor = <5000>;
4019243d4d3SMichal Simek			};
402d7b13a3cSMichal Simek			u84: ina226@43 { /* u84 */
4039243d4d3SMichal Simek				compatible = "ti,ina226";
404d7b13a3cSMichal Simek				#io-channel-cells = <1>;
4055a25e646SMichal Simek				label = "ina226-u84";
4069243d4d3SMichal Simek				reg = <0x43>;
4079243d4d3SMichal Simek				shunt-resistor = <5000>;
4089243d4d3SMichal Simek			};
409d7b13a3cSMichal Simek			u16: ina226@44 { /* u16 */
4109243d4d3SMichal Simek				compatible = "ti,ina226";
411d7b13a3cSMichal Simek				#io-channel-cells = <1>;
4125a25e646SMichal Simek				label = "ina226-u16";
4139243d4d3SMichal Simek				reg = <0x44>;
4149243d4d3SMichal Simek				shunt-resistor = <5000>;
4159243d4d3SMichal Simek			};
416d7b13a3cSMichal Simek			u65: ina226@45 { /* u65 */
4179243d4d3SMichal Simek				compatible = "ti,ina226";
418d7b13a3cSMichal Simek				#io-channel-cells = <1>;
4195a25e646SMichal Simek				label = "ina226-u65";
4209243d4d3SMichal Simek				reg = <0x45>;
4219243d4d3SMichal Simek				shunt-resistor = <5000>;
4229243d4d3SMichal Simek			};
423d7b13a3cSMichal Simek			u74: ina226@46 { /* u74 */
4249243d4d3SMichal Simek				compatible = "ti,ina226";
425d7b13a3cSMichal Simek				#io-channel-cells = <1>;
4265a25e646SMichal Simek				label = "ina226-u74";
4279243d4d3SMichal Simek				reg = <0x46>;
4289243d4d3SMichal Simek				shunt-resistor = <5000>;
4299243d4d3SMichal Simek			};
430d7b13a3cSMichal Simek			u75: ina226@47 { /* u75 */
4319243d4d3SMichal Simek				compatible = "ti,ina226";
432d7b13a3cSMichal Simek				#io-channel-cells = <1>;
4335a25e646SMichal Simek				label = "ina226-u75";
4349243d4d3SMichal Simek				reg = <0x47>;
4359243d4d3SMichal Simek				shunt-resistor = <5000>;
4369243d4d3SMichal Simek			};
4379243d4d3SMichal Simek		};
4389243d4d3SMichal Simek		i2c@2 {
4399243d4d3SMichal Simek			#address-cells = <1>;
4409243d4d3SMichal Simek			#size-cells = <0>;
4419243d4d3SMichal Simek			reg = <2>;
4429243d4d3SMichal Simek			/* MAXIM_PMBUS - 00 */
4439243d4d3SMichal Simek			max15301@a { /* u46 */
4449243d4d3SMichal Simek				compatible = "maxim,max15301";
4459243d4d3SMichal Simek				reg = <0xa>;
4469243d4d3SMichal Simek			};
4479243d4d3SMichal Simek			max15303@b { /* u4 */
4489243d4d3SMichal Simek				compatible = "maxim,max15303";
4499243d4d3SMichal Simek				reg = <0xb>;
4509243d4d3SMichal Simek			};
4519243d4d3SMichal Simek			max15303@10 { /* u13 */
4529243d4d3SMichal Simek				compatible = "maxim,max15303";
4539243d4d3SMichal Simek				reg = <0x10>;
4549243d4d3SMichal Simek			};
4559243d4d3SMichal Simek			max15301@13 { /* u47 */
4569243d4d3SMichal Simek				compatible = "maxim,max15301";
4579243d4d3SMichal Simek				reg = <0x13>;
4589243d4d3SMichal Simek			};
4599243d4d3SMichal Simek			max15303@14 { /* u7 */
4609243d4d3SMichal Simek				compatible = "maxim,max15303";
4619243d4d3SMichal Simek				reg = <0x14>;
4629243d4d3SMichal Simek			};
4639243d4d3SMichal Simek			max15303@15 { /* u6 */
4649243d4d3SMichal Simek				compatible = "maxim,max15303";
4659243d4d3SMichal Simek				reg = <0x15>;
4669243d4d3SMichal Simek			};
4679243d4d3SMichal Simek			max15303@16 { /* u10 */
4689243d4d3SMichal Simek				compatible = "maxim,max15303";
4699243d4d3SMichal Simek				reg = <0x16>;
4709243d4d3SMichal Simek			};
4719243d4d3SMichal Simek			max15303@17 { /* u9 */
4729243d4d3SMichal Simek				compatible = "maxim,max15303";
4739243d4d3SMichal Simek				reg = <0x17>;
4749243d4d3SMichal Simek			};
4759243d4d3SMichal Simek			max15301@18 { /* u63 */
4769243d4d3SMichal Simek				compatible = "maxim,max15301";
4779243d4d3SMichal Simek				reg = <0x18>;
4789243d4d3SMichal Simek			};
4799243d4d3SMichal Simek			max15303@1a { /* u49 */
4809243d4d3SMichal Simek				compatible = "maxim,max15303";
4819243d4d3SMichal Simek				reg = <0x1a>;
4829243d4d3SMichal Simek			};
4839243d4d3SMichal Simek			max15303@1b { /* u8 */
4849243d4d3SMichal Simek				compatible = "maxim,max15303";
4859243d4d3SMichal Simek				reg = <0x1b>;
4869243d4d3SMichal Simek			};
4879243d4d3SMichal Simek			max15303@1d { /* u18 */
4889243d4d3SMichal Simek				compatible = "maxim,max15303";
4899243d4d3SMichal Simek				reg = <0x1d>;
4909243d4d3SMichal Simek			};
4919243d4d3SMichal Simek
4929243d4d3SMichal Simek			max20751@72 { /* u95 */
4939243d4d3SMichal Simek				compatible = "maxim,max20751";
4949243d4d3SMichal Simek				reg = <0x72>;
4959243d4d3SMichal Simek			};
4969243d4d3SMichal Simek			max20751@73 { /* u96 */
4979243d4d3SMichal Simek				compatible = "maxim,max20751";
4989243d4d3SMichal Simek				reg = <0x73>;
4999243d4d3SMichal Simek			};
5009243d4d3SMichal Simek		};
5019243d4d3SMichal Simek		/* Bus 3 is not connected */
5029243d4d3SMichal Simek	};
5039243d4d3SMichal Simek};
5049243d4d3SMichal Simek
5059243d4d3SMichal Simek&i2c1 {
5069243d4d3SMichal Simek	status = "okay";
5079243d4d3SMichal Simek	clock-frequency = <400000>;
508c821045fSMichal Simek	pinctrl-names = "default", "gpio";
509c821045fSMichal Simek	pinctrl-0 = <&pinctrl_i2c1_default>;
510c821045fSMichal Simek	pinctrl-1 = <&pinctrl_i2c1_gpio>;
511*ee6c637fSManikanta Guntupalli	scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
512*ee6c637fSManikanta Guntupalli	sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
5139243d4d3SMichal Simek
5149243d4d3SMichal Simek	/* PL i2c via PCA9306 - u45 */
5159243d4d3SMichal Simek	i2c-mux@74 { /* u34 */
5169243d4d3SMichal Simek		compatible = "nxp,pca9548";
5179243d4d3SMichal Simek		#address-cells = <1>;
5189243d4d3SMichal Simek		#size-cells = <0>;
5199243d4d3SMichal Simek		reg = <0x74>;
5209243d4d3SMichal Simek		i2c@0 {
5219243d4d3SMichal Simek			#address-cells = <1>;
5229243d4d3SMichal Simek			#size-cells = <0>;
5239243d4d3SMichal Simek			reg = <0>;
5249243d4d3SMichal Simek			/*
5259243d4d3SMichal Simek			 * IIC_EEPROM 1kB memory which uses 256B blocks
5269243d4d3SMichal Simek			 * where every block has different address.
5279243d4d3SMichal Simek			 *    0 - 256B address 0x54
5289243d4d3SMichal Simek			 * 256B - 512B address 0x55
5299243d4d3SMichal Simek			 * 512B - 768B address 0x56
5309243d4d3SMichal Simek			 * 768B - 1024B address 0x57
5319243d4d3SMichal Simek			 */
5329243d4d3SMichal Simek			eeprom: eeprom@54 { /* u23 */
5339243d4d3SMichal Simek				compatible = "atmel,24c08";
5349243d4d3SMichal Simek				reg = <0x54>;
5359243d4d3SMichal Simek			};
5369243d4d3SMichal Simek		};
5379243d4d3SMichal Simek		i2c@1 {
5389243d4d3SMichal Simek			#address-cells = <1>;
5399243d4d3SMichal Simek			#size-cells = <0>;
5409243d4d3SMichal Simek			reg = <1>;
5419243d4d3SMichal Simek			si5341: clock-generator@36 { /* SI5341 - u69 */
542928a5747SMichal Simek				compatible = "silabs,si5341";
5439243d4d3SMichal Simek				reg = <0x36>;
544928a5747SMichal Simek				#clock-cells = <2>;
545928a5747SMichal Simek				#address-cells = <1>;
546928a5747SMichal Simek				#size-cells = <0>;
547928a5747SMichal Simek				clocks = <&ref48>;
548928a5747SMichal Simek				clock-names = "xtal";
549928a5747SMichal Simek				clock-output-names = "si5341";
550928a5747SMichal Simek
551928a5747SMichal Simek				si5341_0: out@0 {
552928a5747SMichal Simek					/* refclk0 for PS-GT, used for DP */
553928a5747SMichal Simek					reg = <0>;
554928a5747SMichal Simek					always-on;
555928a5747SMichal Simek				};
556928a5747SMichal Simek				si5341_2: out@2 {
557928a5747SMichal Simek					/* refclk2 for PS-GT, used for USB3 */
558928a5747SMichal Simek					reg = <2>;
559928a5747SMichal Simek					always-on;
560928a5747SMichal Simek				};
561928a5747SMichal Simek				si5341_3: out@3 {
562928a5747SMichal Simek					/* refclk3 for PS-GT, used for SATA */
563928a5747SMichal Simek					reg = <3>;
564928a5747SMichal Simek					always-on;
565928a5747SMichal Simek				};
566928a5747SMichal Simek				si5341_6: out@6 {
567928a5747SMichal Simek					/* refclk6 PL CLK125 */
568928a5747SMichal Simek					reg = <6>;
569928a5747SMichal Simek					always-on;
570928a5747SMichal Simek				};
571928a5747SMichal Simek				si5341_7: out@7 {
572928a5747SMichal Simek					/* refclk7 PL CLK74 */
573928a5747SMichal Simek					reg = <7>;
574928a5747SMichal Simek					always-on;
575928a5747SMichal Simek				};
576928a5747SMichal Simek				si5341_9: out@9 {
577928a5747SMichal Simek					/* refclk9 used for PS_REF_CLK 33.3 MHz */
578928a5747SMichal Simek					reg = <9>;
579928a5747SMichal Simek					always-on;
580928a5747SMichal Simek				};
5819243d4d3SMichal Simek			};
5829243d4d3SMichal Simek
5839243d4d3SMichal Simek		};
5849243d4d3SMichal Simek		i2c@2 {
5859243d4d3SMichal Simek			#address-cells = <1>;
5869243d4d3SMichal Simek			#size-cells = <0>;
5879243d4d3SMichal Simek			reg = <2>;
5889243d4d3SMichal Simek			si570_1: clock-generator@5d { /* USER SI570 - u42 */
5899243d4d3SMichal Simek				#clock-cells = <0>;
5909243d4d3SMichal Simek				compatible = "silabs,si570";
5919243d4d3SMichal Simek				reg = <0x5d>;
5929243d4d3SMichal Simek				temperature-stability = <50>;
5939243d4d3SMichal Simek				factory-fout = <300000000>;
5949243d4d3SMichal Simek				clock-frequency = <300000000>;
59548b44b90SMichal Simek				clock-output-names = "si570_user";
5969243d4d3SMichal Simek			};
5979243d4d3SMichal Simek		};
5989243d4d3SMichal Simek		i2c@3 {
5999243d4d3SMichal Simek			#address-cells = <1>;
6009243d4d3SMichal Simek			#size-cells = <0>;
6019243d4d3SMichal Simek			reg = <3>;
6029243d4d3SMichal Simek			si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */
6039243d4d3SMichal Simek				#clock-cells = <0>;
6049243d4d3SMichal Simek				compatible = "silabs,si570";
6059243d4d3SMichal Simek				reg = <0x5d>;
6069243d4d3SMichal Simek				temperature-stability = <50>; /* copy from zc702 */
6079243d4d3SMichal Simek				factory-fout = <156250000>;
6089243d4d3SMichal Simek				clock-frequency = <148500000>;
60948b44b90SMichal Simek				clock-output-names = "si570_mgt";
6109243d4d3SMichal Simek			};
6119243d4d3SMichal Simek		};
6129243d4d3SMichal Simek		i2c@4 {
6139243d4d3SMichal Simek			#address-cells = <1>;
6149243d4d3SMichal Simek			#size-cells = <0>;
6159243d4d3SMichal Simek			reg = <4>;
61673d677e9SQuanyang Wang			/* SI5328 - u20 */
6179243d4d3SMichal Simek		};
6189243d4d3SMichal Simek		i2c@5 {
6199243d4d3SMichal Simek			#address-cells = <1>;
6209243d4d3SMichal Simek			#size-cells = <0>;
6219243d4d3SMichal Simek			reg = <5>; /* FAN controller */
6229243d4d3SMichal Simek			temp@4c {/* lm96163 - u128 */
6239243d4d3SMichal Simek				compatible = "national,lm96163";
6249243d4d3SMichal Simek				reg = <0x4c>;
6259243d4d3SMichal Simek			};
6269243d4d3SMichal Simek		};
6279243d4d3SMichal Simek		/* 6 - 7 unconnected */
6289243d4d3SMichal Simek	};
6299243d4d3SMichal Simek
6309243d4d3SMichal Simek	i2c-mux@75 {
6319243d4d3SMichal Simek		compatible = "nxp,pca9548"; /* u135 */
6329243d4d3SMichal Simek		#address-cells = <1>;
6339243d4d3SMichal Simek		#size-cells = <0>;
6349243d4d3SMichal Simek		reg = <0x75>;
6359243d4d3SMichal Simek
6369243d4d3SMichal Simek		i2c@0 {
6379243d4d3SMichal Simek			#address-cells = <1>;
6389243d4d3SMichal Simek			#size-cells = <0>;
6399243d4d3SMichal Simek			reg = <0>;
6409243d4d3SMichal Simek			/* HPC0_IIC */
6419243d4d3SMichal Simek		};
6429243d4d3SMichal Simek		i2c@1 {
6439243d4d3SMichal Simek			#address-cells = <1>;
6449243d4d3SMichal Simek			#size-cells = <0>;
6459243d4d3SMichal Simek			reg = <1>;
6469243d4d3SMichal Simek			/* HPC1_IIC */
6479243d4d3SMichal Simek		};
6489243d4d3SMichal Simek		i2c@2 {
6499243d4d3SMichal Simek			#address-cells = <1>;
6509243d4d3SMichal Simek			#size-cells = <0>;
6519243d4d3SMichal Simek			reg = <2>;
6529243d4d3SMichal Simek			/* SYSMON */
6539243d4d3SMichal Simek		};
6549243d4d3SMichal Simek		i2c@3 {
6559243d4d3SMichal Simek			#address-cells = <1>;
6569243d4d3SMichal Simek			#size-cells = <0>;
6579243d4d3SMichal Simek			reg = <3>;
6589243d4d3SMichal Simek			/* DDR4 SODIMM */
6599243d4d3SMichal Simek		};
6609243d4d3SMichal Simek		i2c@4 {
6619243d4d3SMichal Simek			#address-cells = <1>;
6629243d4d3SMichal Simek			#size-cells = <0>;
6639243d4d3SMichal Simek			reg = <4>;
6649243d4d3SMichal Simek			/* SEP 3 */
6659243d4d3SMichal Simek		};
6669243d4d3SMichal Simek		i2c@5 {
6679243d4d3SMichal Simek			#address-cells = <1>;
6689243d4d3SMichal Simek			#size-cells = <0>;
6699243d4d3SMichal Simek			reg = <5>;
6709243d4d3SMichal Simek			/* SEP 2 */
6719243d4d3SMichal Simek		};
6729243d4d3SMichal Simek		i2c@6 {
6739243d4d3SMichal Simek			#address-cells = <1>;
6749243d4d3SMichal Simek			#size-cells = <0>;
6759243d4d3SMichal Simek			reg = <6>;
6769243d4d3SMichal Simek			/* SEP 1 */
6779243d4d3SMichal Simek		};
6789243d4d3SMichal Simek		i2c@7 {
6799243d4d3SMichal Simek			#address-cells = <1>;
6809243d4d3SMichal Simek			#size-cells = <0>;
6819243d4d3SMichal Simek			reg = <7>;
6829243d4d3SMichal Simek			/* SEP 0 */
6839243d4d3SMichal Simek		};
6849243d4d3SMichal Simek	};
6859243d4d3SMichal Simek};
6869243d4d3SMichal Simek
687c821045fSMichal Simek&pinctrl0 {
688c821045fSMichal Simek	status = "okay";
689c821045fSMichal Simek	pinctrl_i2c0_default: i2c0-default {
690c821045fSMichal Simek		mux {
691c821045fSMichal Simek			groups = "i2c0_3_grp";
692c821045fSMichal Simek			function = "i2c0";
693c821045fSMichal Simek		};
694c821045fSMichal Simek
695c821045fSMichal Simek		conf {
696c821045fSMichal Simek			groups = "i2c0_3_grp";
697c821045fSMichal Simek			bias-pull-up;
698c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
699c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
700c821045fSMichal Simek		};
701c821045fSMichal Simek	};
702c821045fSMichal Simek
703c821045fSMichal Simek	pinctrl_i2c0_gpio: i2c0-gpio {
704c821045fSMichal Simek		mux {
705c821045fSMichal Simek			groups = "gpio0_14_grp", "gpio0_15_grp";
706c821045fSMichal Simek			function = "gpio0";
707c821045fSMichal Simek		};
708c821045fSMichal Simek
709c821045fSMichal Simek		conf {
710c821045fSMichal Simek			groups = "gpio0_14_grp", "gpio0_15_grp";
711c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
712c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
713c821045fSMichal Simek		};
714c821045fSMichal Simek	};
715c821045fSMichal Simek
716c821045fSMichal Simek	pinctrl_i2c1_default: i2c1-default {
717c821045fSMichal Simek		mux {
718c821045fSMichal Simek			groups = "i2c1_4_grp";
719c821045fSMichal Simek			function = "i2c1";
720c821045fSMichal Simek		};
721c821045fSMichal Simek
722c821045fSMichal Simek		conf {
723c821045fSMichal Simek			groups = "i2c1_4_grp";
724c821045fSMichal Simek			bias-pull-up;
725c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
726c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
727c821045fSMichal Simek		};
728c821045fSMichal Simek	};
729c821045fSMichal Simek
730c821045fSMichal Simek	pinctrl_i2c1_gpio: i2c1-gpio {
731c821045fSMichal Simek		mux {
732c821045fSMichal Simek			groups = "gpio0_16_grp", "gpio0_17_grp";
733c821045fSMichal Simek			function = "gpio0";
734c821045fSMichal Simek		};
735c821045fSMichal Simek
736c821045fSMichal Simek		conf {
737c821045fSMichal Simek			groups = "gpio0_16_grp", "gpio0_17_grp";
738c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
739c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
740c821045fSMichal Simek		};
741c821045fSMichal Simek	};
742c821045fSMichal Simek
743c821045fSMichal Simek	pinctrl_uart0_default: uart0-default {
744c821045fSMichal Simek		mux {
745c821045fSMichal Simek			groups = "uart0_4_grp";
746c821045fSMichal Simek			function = "uart0";
747c821045fSMichal Simek		};
748c821045fSMichal Simek
749c821045fSMichal Simek		conf {
750c821045fSMichal Simek			groups = "uart0_4_grp";
751c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
752c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
753c821045fSMichal Simek		};
754c821045fSMichal Simek
755c821045fSMichal Simek		conf-rx {
756c821045fSMichal Simek			pins = "MIO18";
757c821045fSMichal Simek			bias-high-impedance;
758c821045fSMichal Simek		};
759c821045fSMichal Simek
760c821045fSMichal Simek		conf-tx {
761c821045fSMichal Simek			pins = "MIO19";
762c821045fSMichal Simek			bias-disable;
763c821045fSMichal Simek		};
764c821045fSMichal Simek	};
765c821045fSMichal Simek
766c821045fSMichal Simek	pinctrl_uart1_default: uart1-default {
767c821045fSMichal Simek		mux {
768c821045fSMichal Simek			groups = "uart1_5_grp";
769c821045fSMichal Simek			function = "uart1";
770c821045fSMichal Simek		};
771c821045fSMichal Simek
772c821045fSMichal Simek		conf {
773c821045fSMichal Simek			groups = "uart1_5_grp";
774c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
775c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
776c821045fSMichal Simek		};
777c821045fSMichal Simek
778c821045fSMichal Simek		conf-rx {
779c821045fSMichal Simek			pins = "MIO21";
780c821045fSMichal Simek			bias-high-impedance;
781c821045fSMichal Simek		};
782c821045fSMichal Simek
783c821045fSMichal Simek		conf-tx {
784c821045fSMichal Simek			pins = "MIO20";
785c821045fSMichal Simek			bias-disable;
786c821045fSMichal Simek		};
787c821045fSMichal Simek	};
788c821045fSMichal Simek
789c821045fSMichal Simek	pinctrl_usb0_default: usb0-default {
790c821045fSMichal Simek		mux {
791c821045fSMichal Simek			groups = "usb0_0_grp";
792c821045fSMichal Simek			function = "usb0";
793c821045fSMichal Simek		};
794c821045fSMichal Simek
795c821045fSMichal Simek		conf {
796c821045fSMichal Simek			groups = "usb0_0_grp";
797c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
798c821045fSMichal Simek		};
799c821045fSMichal Simek
800c821045fSMichal Simek		conf-rx {
801c821045fSMichal Simek			pins = "MIO52", "MIO53", "MIO55";
802c821045fSMichal Simek			bias-high-impedance;
803f8673fd5SAshok Reddy Soma			drive-strength = <12>;
804f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_FAST>;
805c821045fSMichal Simek		};
806c821045fSMichal Simek
807c821045fSMichal Simek		conf-tx {
808c821045fSMichal Simek			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
809c821045fSMichal Simek			       "MIO60", "MIO61", "MIO62", "MIO63";
810c821045fSMichal Simek			bias-disable;
811f8673fd5SAshok Reddy Soma			drive-strength = <4>;
812f8673fd5SAshok Reddy Soma			slew-rate = <SLEW_RATE_SLOW>;
813c821045fSMichal Simek		};
814c821045fSMichal Simek	};
815c821045fSMichal Simek
816c821045fSMichal Simek	pinctrl_gem3_default: gem3-default {
817c821045fSMichal Simek		mux {
818c821045fSMichal Simek			function = "ethernet3";
819c821045fSMichal Simek			groups = "ethernet3_0_grp";
820c821045fSMichal Simek		};
821c821045fSMichal Simek
822c821045fSMichal Simek		conf {
823c821045fSMichal Simek			groups = "ethernet3_0_grp";
824c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
825c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
826c821045fSMichal Simek		};
827c821045fSMichal Simek
828c821045fSMichal Simek		conf-rx {
829c821045fSMichal Simek			pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
830c821045fSMichal Simek									"MIO75";
831c821045fSMichal Simek			bias-high-impedance;
832c821045fSMichal Simek			low-power-disable;
833c821045fSMichal Simek		};
834c821045fSMichal Simek
835c821045fSMichal Simek		conf-tx {
836c821045fSMichal Simek			pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
837c821045fSMichal Simek									"MIO69";
838c821045fSMichal Simek			bias-disable;
839c821045fSMichal Simek			low-power-enable;
840c821045fSMichal Simek		};
841c821045fSMichal Simek
842c821045fSMichal Simek		mux-mdio {
843c821045fSMichal Simek			function = "mdio3";
844c821045fSMichal Simek			groups = "mdio3_0_grp";
845c821045fSMichal Simek		};
846c821045fSMichal Simek
847c821045fSMichal Simek		conf-mdio {
848c821045fSMichal Simek			groups = "mdio3_0_grp";
849c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
850c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
851c821045fSMichal Simek			bias-disable;
852c821045fSMichal Simek		};
853c821045fSMichal Simek	};
854c821045fSMichal Simek
855c821045fSMichal Simek	pinctrl_can1_default: can1-default {
856c821045fSMichal Simek		mux {
857c821045fSMichal Simek			function = "can1";
858c821045fSMichal Simek			groups = "can1_6_grp";
859c821045fSMichal Simek		};
860c821045fSMichal Simek
861c821045fSMichal Simek		conf {
862c821045fSMichal Simek			groups = "can1_6_grp";
863c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
864c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
865c821045fSMichal Simek		};
866c821045fSMichal Simek
867c821045fSMichal Simek		conf-rx {
868c821045fSMichal Simek			pins = "MIO25";
869c821045fSMichal Simek			bias-high-impedance;
870c821045fSMichal Simek		};
871c821045fSMichal Simek
872c821045fSMichal Simek		conf-tx {
873c821045fSMichal Simek			pins = "MIO24";
874c821045fSMichal Simek			bias-disable;
875c821045fSMichal Simek		};
876c821045fSMichal Simek	};
877c821045fSMichal Simek
878c821045fSMichal Simek	pinctrl_sdhci1_default: sdhci1-default {
879c821045fSMichal Simek		mux {
880c821045fSMichal Simek			groups = "sdio1_0_grp";
881c821045fSMichal Simek			function = "sdio1";
882c821045fSMichal Simek		};
883c821045fSMichal Simek
884c821045fSMichal Simek		conf {
885c821045fSMichal Simek			groups = "sdio1_0_grp";
886c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
887c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
888c821045fSMichal Simek			bias-disable;
889c821045fSMichal Simek		};
890c821045fSMichal Simek
891c821045fSMichal Simek		mux-cd {
892c821045fSMichal Simek			groups = "sdio1_cd_0_grp";
893c821045fSMichal Simek			function = "sdio1_cd";
894c821045fSMichal Simek		};
895c821045fSMichal Simek
896c821045fSMichal Simek		conf-cd {
897c821045fSMichal Simek			groups = "sdio1_cd_0_grp";
898c821045fSMichal Simek			bias-high-impedance;
899c821045fSMichal Simek			bias-pull-up;
900c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
901c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
902c821045fSMichal Simek		};
903c821045fSMichal Simek
904c821045fSMichal Simek		mux-wp {
905c821045fSMichal Simek			groups = "sdio1_wp_0_grp";
906c821045fSMichal Simek			function = "sdio1_wp";
907c821045fSMichal Simek		};
908c821045fSMichal Simek
909c821045fSMichal Simek		conf-wp {
910c821045fSMichal Simek			groups = "sdio1_wp_0_grp";
911c821045fSMichal Simek			bias-high-impedance;
912c821045fSMichal Simek			bias-pull-up;
913c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
914c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
915c821045fSMichal Simek		};
916c821045fSMichal Simek	};
917c821045fSMichal Simek
918c821045fSMichal Simek	pinctrl_gpio_default: gpio-default {
919c821045fSMichal Simek		mux {
920c821045fSMichal Simek			function = "gpio0";
921c821045fSMichal Simek			groups = "gpio0_22_grp", "gpio0_23_grp";
922c821045fSMichal Simek		};
923c821045fSMichal Simek
924c821045fSMichal Simek		conf {
925c821045fSMichal Simek			groups = "gpio0_22_grp", "gpio0_23_grp";
926c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
927c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
928c821045fSMichal Simek		};
929c821045fSMichal Simek
930c821045fSMichal Simek		mux-msp {
931c821045fSMichal Simek			function = "gpio0";
932c821045fSMichal Simek			groups = "gpio0_13_grp", "gpio0_38_grp";
933c821045fSMichal Simek		};
934c821045fSMichal Simek
935c821045fSMichal Simek		conf-msp {
936c821045fSMichal Simek			groups = "gpio0_13_grp", "gpio0_38_grp";
937c821045fSMichal Simek			slew-rate = <SLEW_RATE_SLOW>;
938c821045fSMichal Simek			power-source = <IO_STANDARD_LVCMOS18>;
939c821045fSMichal Simek		};
940c821045fSMichal Simek
941c821045fSMichal Simek		conf-pull-up {
942c821045fSMichal Simek			pins = "MIO22";
943c821045fSMichal Simek			bias-pull-up;
944c821045fSMichal Simek		};
945c821045fSMichal Simek
946c821045fSMichal Simek		conf-pull-none {
947c821045fSMichal Simek			pins = "MIO13", "MIO23", "MIO38";
948c821045fSMichal Simek			bias-disable;
949c821045fSMichal Simek		};
950c821045fSMichal Simek	};
951c821045fSMichal Simek};
952c821045fSMichal Simek
95351733f16SMichal Simek&psgtr {
95451733f16SMichal Simek	status = "okay";
95551733f16SMichal Simek	/* nc, sata, usb3, dp */
95651733f16SMichal Simek	clocks = <&si5341 0 3>, <&si5341 0 2>, <&si5341 0 0>;
95751733f16SMichal Simek	clock-names = "ref1", "ref2", "ref3";
95851733f16SMichal Simek};
95951733f16SMichal Simek
96056e54601SMichal Simek&qspi {
96156e54601SMichal Simek	status = "okay";
96256e54601SMichal Simek	flash@0 {
963adc40ff8SMichal Simek		compatible = "m25p80", "jedec,spi-nor"; /* 16MB + 16MB */
96456e54601SMichal Simek		#address-cells = <1>;
96556e54601SMichal Simek		#size-cells = <1>;
96656e54601SMichal Simek		reg = <0x0>;
9671d831cadSAmit Kumar Mahapatra		spi-tx-bus-width = <4>;
96856e54601SMichal Simek		spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
96956e54601SMichal Simek		spi-max-frequency = <108000000>; /* Based on DC1 spec */
97056e54601SMichal Simek	};
97156e54601SMichal Simek};
97256e54601SMichal Simek
9739243d4d3SMichal Simek&rtc {
9749243d4d3SMichal Simek	status = "okay";
9759243d4d3SMichal Simek};
9769243d4d3SMichal Simek
9779243d4d3SMichal Simek&sata {
9789243d4d3SMichal Simek	status = "okay";
9799243d4d3SMichal Simek	/* SATA OOB timing settings */
9809243d4d3SMichal Simek	ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
9819243d4d3SMichal Simek	ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
9829243d4d3SMichal Simek	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
9839243d4d3SMichal Simek	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
9849243d4d3SMichal Simek	ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
9859243d4d3SMichal Simek	ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
9869243d4d3SMichal Simek	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
9879243d4d3SMichal Simek	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
98851733f16SMichal Simek	phy-names = "sata-phy";
98951733f16SMichal Simek	phys = <&psgtr 3 PHY_TYPE_SATA 1 1>;
9909243d4d3SMichal Simek};
9919243d4d3SMichal Simek
9929243d4d3SMichal Simek/* SD1 with level shifter */
9939243d4d3SMichal Simek&sdhci1 {
9949243d4d3SMichal Simek	status = "okay";
9951d4bd118SMichal Simek	/*
9961d4bd118SMichal Simek	 * This property should be removed for supporting UHS mode
9971d4bd118SMichal Simek	 */
9989243d4d3SMichal Simek	no-1-8-v;
999c821045fSMichal Simek	pinctrl-names = "default";
1000c821045fSMichal Simek	pinctrl-0 = <&pinctrl_sdhci1_default>;
100163481699SMichal Simek	xlnx,mio-bank = <1>;
10029243d4d3SMichal Simek};
10039243d4d3SMichal Simek
10049243d4d3SMichal Simek&uart0 {
10059243d4d3SMichal Simek	status = "okay";
1006c821045fSMichal Simek	pinctrl-names = "default";
1007c821045fSMichal Simek	pinctrl-0 = <&pinctrl_uart0_default>;
10089243d4d3SMichal Simek};
10099243d4d3SMichal Simek
10109243d4d3SMichal Simek&uart1 {
10119243d4d3SMichal Simek	status = "okay";
1012c821045fSMichal Simek	pinctrl-names = "default";
1013c821045fSMichal Simek	pinctrl-0 = <&pinctrl_uart1_default>;
10149243d4d3SMichal Simek};
10159243d4d3SMichal Simek
10169243d4d3SMichal Simek/* ULPI SMSC USB3320 */
10179243d4d3SMichal Simek&usb0 {
10189243d4d3SMichal Simek	status = "okay";
1019c821045fSMichal Simek	pinctrl-names = "default";
1020c821045fSMichal Simek	pinctrl-0 = <&pinctrl_usb0_default>;
10218b698f1bSMichal Simek	phy-names = "usb3-phy";
10228b698f1bSMichal Simek	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
1023b61c4ff9SMichal Simek};
1024b61c4ff9SMichal Simek
1025b61c4ff9SMichal Simek&dwc3_0 {
1026b61c4ff9SMichal Simek	status = "okay";
1027b61c4ff9SMichal Simek	dr_mode = "host";
1028b61c4ff9SMichal Simek	snps,usb3_lpm_capable;
10298b698f1bSMichal Simek	maximum-speed = "super-speed";
10309243d4d3SMichal Simek};
10319243d4d3SMichal Simek
10329243d4d3SMichal Simek&watchdog0 {
10339243d4d3SMichal Simek	status = "okay";
10349243d4d3SMichal Simek};
10355f9a32baSMichal Simek
10365f9a32baSMichal Simek&zynqmp_dpdma {
10375f9a32baSMichal Simek	status = "okay";
10385f9a32baSMichal Simek};
10395f9a32baSMichal Simek
10405f9a32baSMichal Simek&zynqmp_dpsub {
10415f9a32baSMichal Simek	status = "okay";
10425f9a32baSMichal Simek	phy-names = "dp-phy0", "dp-phy1";
10435f9a32baSMichal Simek	phys = <&psgtr 1 PHY_TYPE_DP 0 3>,
10445f9a32baSMichal Simek	       <&psgtr 0 PHY_TYPE_DP 1 3>;
1045ddcb8fa6SLaurent Pinchart
1046ddcb8fa6SLaurent Pinchart	ports {
1047ddcb8fa6SLaurent Pinchart		port@5 {
1048ddcb8fa6SLaurent Pinchart			dpsub_dp_out: endpoint {
1049ddcb8fa6SLaurent Pinchart				remote-endpoint = <&dpcon_in>;
1050ddcb8fa6SLaurent Pinchart			};
1051ddcb8fa6SLaurent Pinchart		};
1052ddcb8fa6SLaurent Pinchart	};
10535f9a32baSMichal Simek};
1054