xref: /linux/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts (revision 51733f16c6419df8b2cb4c254d249eae1e03d6c8)
1ef797b53SMichal Simek// SPDX-License-Identifier: GPL-2.0+
2ef797b53SMichal Simek/*
3ef797b53SMichal Simek * dts file for Xilinx ZynqMP ZCU102 RevA
4ef797b53SMichal Simek *
59c8a47b4SRajan Vaja * (C) Copyright 2015 - 2019, Xilinx, Inc.
6ef797b53SMichal Simek *
7ef797b53SMichal Simek * Michal Simek <michal.simek@xilinx.com>
8ef797b53SMichal Simek */
9ef797b53SMichal Simek
10ef797b53SMichal Simek/dts-v1/;
11ef797b53SMichal Simek
12ef797b53SMichal Simek#include "zynqmp.dtsi"
139c8a47b4SRajan Vaja#include "zynqmp-clk-ccf.dtsi"
14ef797b53SMichal Simek#include <dt-bindings/input/input.h>
15ef797b53SMichal Simek#include <dt-bindings/gpio/gpio.h>
16*51733f16SMichal Simek#include <dt-bindings/phy/phy.h>
17ef797b53SMichal Simek
18ef797b53SMichal Simek/ {
19ef797b53SMichal Simek	model = "ZynqMP ZCU102 RevA";
20ef797b53SMichal Simek	compatible = "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102", "xlnx,zynqmp";
21ef797b53SMichal Simek
22ef797b53SMichal Simek	aliases {
23ef797b53SMichal Simek		ethernet0 = &gem3;
24ef797b53SMichal Simek		i2c0 = &i2c0;
25ef797b53SMichal Simek		i2c1 = &i2c1;
26ef797b53SMichal Simek		mmc0 = &sdhci1;
27ef797b53SMichal Simek		rtc0 = &rtc;
28ef797b53SMichal Simek		serial0 = &uart0;
29ef797b53SMichal Simek		serial1 = &uart1;
30ef797b53SMichal Simek		serial2 = &dcc;
31ef797b53SMichal Simek	};
32ef797b53SMichal Simek
33ef797b53SMichal Simek	chosen {
34ef797b53SMichal Simek		bootargs = "earlycon";
35ef797b53SMichal Simek		stdout-path = "serial0:115200n8";
36ef797b53SMichal Simek	};
37ef797b53SMichal Simek
38ef797b53SMichal Simek	memory@0 {
39ef797b53SMichal Simek		device_type = "memory";
40ef797b53SMichal Simek		reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
41ef797b53SMichal Simek	};
42ef797b53SMichal Simek
43ef797b53SMichal Simek	gpio-keys {
44ef797b53SMichal Simek		compatible = "gpio-keys";
45ef797b53SMichal Simek		autorepeat;
46ef797b53SMichal Simek		sw19 {
47ef797b53SMichal Simek			label = "sw19";
48ef797b53SMichal Simek			gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
49ef797b53SMichal Simek			linux,code = <KEY_DOWN>;
501696acf4SSudeep Holla			wakeup-source;
51ef797b53SMichal Simek			autorepeat;
52ef797b53SMichal Simek		};
53ef797b53SMichal Simek	};
54ef797b53SMichal Simek
55ef797b53SMichal Simek	leds {
56ef797b53SMichal Simek		compatible = "gpio-leds";
57d1d4445aSMichal Simek		heartbeat-led {
58ef797b53SMichal Simek			label = "heartbeat";
59ef797b53SMichal Simek			gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
60ef797b53SMichal Simek			linux,default-trigger = "heartbeat";
61ef797b53SMichal Simek		};
62ef797b53SMichal Simek	};
6386444d3eSMichal Simek
6486444d3eSMichal Simek	ina226-u76 {
6586444d3eSMichal Simek		compatible = "iio-hwmon";
6686444d3eSMichal Simek		io-channels = <&u76 0>, <&u76 1>, <&u76 2>, <&u76 3>;
6786444d3eSMichal Simek	};
6886444d3eSMichal Simek	ina226-u77 {
6986444d3eSMichal Simek		compatible = "iio-hwmon";
7086444d3eSMichal Simek		io-channels = <&u77 0>, <&u77 1>, <&u77 2>, <&u77 3>;
7186444d3eSMichal Simek	};
7286444d3eSMichal Simek	ina226-u78 {
7386444d3eSMichal Simek		compatible = "iio-hwmon";
7486444d3eSMichal Simek		io-channels = <&u78 0>, <&u78 1>, <&u78 2>, <&u78 3>;
7586444d3eSMichal Simek	};
7686444d3eSMichal Simek	ina226-u87 {
7786444d3eSMichal Simek		compatible = "iio-hwmon";
7886444d3eSMichal Simek		io-channels = <&u87 0>, <&u87 1>, <&u87 2>, <&u87 3>;
7986444d3eSMichal Simek	};
8086444d3eSMichal Simek	ina226-u85 {
8186444d3eSMichal Simek		compatible = "iio-hwmon";
8286444d3eSMichal Simek		io-channels = <&u85 0>, <&u85 1>, <&u85 2>, <&u85 3>;
8386444d3eSMichal Simek	};
8486444d3eSMichal Simek	ina226-u86 {
8586444d3eSMichal Simek		compatible = "iio-hwmon";
8686444d3eSMichal Simek		io-channels = <&u86 0>, <&u86 1>, <&u86 2>, <&u86 3>;
8786444d3eSMichal Simek	};
8886444d3eSMichal Simek	ina226-u93 {
8986444d3eSMichal Simek		compatible = "iio-hwmon";
9086444d3eSMichal Simek		io-channels = <&u93 0>, <&u93 1>, <&u93 2>, <&u93 3>;
9186444d3eSMichal Simek	};
9286444d3eSMichal Simek	ina226-u88 {
9386444d3eSMichal Simek		compatible = "iio-hwmon";
9486444d3eSMichal Simek		io-channels = <&u88 0>, <&u88 1>, <&u88 2>, <&u88 3>;
9586444d3eSMichal Simek	};
9686444d3eSMichal Simek	ina226-u15 {
9786444d3eSMichal Simek		compatible = "iio-hwmon";
9886444d3eSMichal Simek		io-channels = <&u15 0>, <&u15 1>, <&u15 2>, <&u15 3>;
9986444d3eSMichal Simek	};
10086444d3eSMichal Simek	ina226-u92 {
10186444d3eSMichal Simek		compatible = "iio-hwmon";
10286444d3eSMichal Simek		io-channels = <&u92 0>, <&u92 1>, <&u92 2>, <&u92 3>;
10386444d3eSMichal Simek	};
10486444d3eSMichal Simek	ina226-u79 {
10586444d3eSMichal Simek		compatible = "iio-hwmon";
10686444d3eSMichal Simek		io-channels = <&u79 0>, <&u79 1>, <&u79 2>, <&u79 3>;
10786444d3eSMichal Simek	};
10886444d3eSMichal Simek	ina226-u81 {
10986444d3eSMichal Simek		compatible = "iio-hwmon";
11086444d3eSMichal Simek		io-channels = <&u81 0>, <&u81 1>, <&u81 2>, <&u81 3>;
11186444d3eSMichal Simek	};
11286444d3eSMichal Simek	ina226-u80 {
11386444d3eSMichal Simek		compatible = "iio-hwmon";
11486444d3eSMichal Simek		io-channels = <&u80 0>, <&u80 1>, <&u80 2>, <&u80 3>;
11586444d3eSMichal Simek	};
11686444d3eSMichal Simek	ina226-u84 {
11786444d3eSMichal Simek		compatible = "iio-hwmon";
11886444d3eSMichal Simek		io-channels = <&u84 0>, <&u84 1>, <&u84 2>, <&u84 3>;
11986444d3eSMichal Simek	};
12086444d3eSMichal Simek	ina226-u16 {
12186444d3eSMichal Simek		compatible = "iio-hwmon";
12286444d3eSMichal Simek		io-channels = <&u16 0>, <&u16 1>, <&u16 2>, <&u16 3>;
12386444d3eSMichal Simek	};
12486444d3eSMichal Simek	ina226-u65 {
12586444d3eSMichal Simek		compatible = "iio-hwmon";
12686444d3eSMichal Simek		io-channels = <&u65 0>, <&u65 1>, <&u65 2>, <&u65 3>;
12786444d3eSMichal Simek	};
12886444d3eSMichal Simek	ina226-u74 {
12986444d3eSMichal Simek		compatible = "iio-hwmon";
13086444d3eSMichal Simek		io-channels = <&u74 0>, <&u74 1>, <&u74 2>, <&u74 3>;
13186444d3eSMichal Simek	};
13286444d3eSMichal Simek	ina226-u75 {
13386444d3eSMichal Simek		compatible = "iio-hwmon";
13486444d3eSMichal Simek		io-channels = <&u75 0>, <&u75 1>, <&u75 2>, <&u75 3>;
13586444d3eSMichal Simek	};
13682a7ebf0SMichal Simek
137928a5747SMichal Simek	/* 48MHz reference crystal */
138928a5747SMichal Simek	ref48: ref48M {
139928a5747SMichal Simek		compatible = "fixed-clock";
140928a5747SMichal Simek		#clock-cells = <0>;
141928a5747SMichal Simek		clock-frequency = <48000000>;
142928a5747SMichal Simek	};
143928a5747SMichal Simek
14482a7ebf0SMichal Simek	refhdmi: refhdmi {
14582a7ebf0SMichal Simek		compatible = "fixed-clock";
14682a7ebf0SMichal Simek		#clock-cells = <0>;
14782a7ebf0SMichal Simek		clock-frequency = <114285000>;
14882a7ebf0SMichal Simek	};
149ef797b53SMichal Simek};
150ef797b53SMichal Simek
151ef797b53SMichal Simek&can1 {
152ef797b53SMichal Simek	status = "okay";
153ef797b53SMichal Simek};
154ef797b53SMichal Simek
155ef797b53SMichal Simek&dcc {
156ef797b53SMichal Simek	status = "okay";
157ef797b53SMichal Simek};
158ef797b53SMichal Simek
159ef797b53SMichal Simek&fpd_dma_chan1 {
160ef797b53SMichal Simek	status = "okay";
161ef797b53SMichal Simek};
162ef797b53SMichal Simek
163ef797b53SMichal Simek&fpd_dma_chan2 {
164ef797b53SMichal Simek	status = "okay";
165ef797b53SMichal Simek};
166ef797b53SMichal Simek
167ef797b53SMichal Simek&fpd_dma_chan3 {
168ef797b53SMichal Simek	status = "okay";
169ef797b53SMichal Simek};
170ef797b53SMichal Simek
171ef797b53SMichal Simek&fpd_dma_chan4 {
172ef797b53SMichal Simek	status = "okay";
173ef797b53SMichal Simek};
174ef797b53SMichal Simek
175ef797b53SMichal Simek&fpd_dma_chan5 {
176ef797b53SMichal Simek	status = "okay";
177ef797b53SMichal Simek};
178ef797b53SMichal Simek
179ef797b53SMichal Simek&fpd_dma_chan6 {
180ef797b53SMichal Simek	status = "okay";
181ef797b53SMichal Simek};
182ef797b53SMichal Simek
183ef797b53SMichal Simek&fpd_dma_chan7 {
184ef797b53SMichal Simek	status = "okay";
185ef797b53SMichal Simek};
186ef797b53SMichal Simek
187ef797b53SMichal Simek&fpd_dma_chan8 {
188ef797b53SMichal Simek	status = "okay";
189ef797b53SMichal Simek};
190ef797b53SMichal Simek
191ef797b53SMichal Simek&gem3 {
192ef797b53SMichal Simek	status = "okay";
193ef797b53SMichal Simek	phy-handle = <&phy0>;
194ef797b53SMichal Simek	phy-mode = "rgmii-id";
19513d21ebaSMichal Simek	phy0: ethernet-phy@21 {
196ef797b53SMichal Simek		reg = <21>;
197ef797b53SMichal Simek		ti,rx-internal-delay = <0x8>;
198ef797b53SMichal Simek		ti,tx-internal-delay = <0xa>;
199ef797b53SMichal Simek		ti,fifo-depth = <0x1>;
20078c484a5SHarini Katakam		ti,dp83867-rxctrl-strap-quirk;
201ef797b53SMichal Simek	};
202ef797b53SMichal Simek};
203ef797b53SMichal Simek
204ef797b53SMichal Simek&gpio {
205ef797b53SMichal Simek	status = "okay";
206ef797b53SMichal Simek};
207ef797b53SMichal Simek
208ef797b53SMichal Simek&i2c0 {
209ef797b53SMichal Simek	status = "okay";
210ef797b53SMichal Simek	clock-frequency = <400000>;
211ef797b53SMichal Simek
212ef797b53SMichal Simek	tca6416_u97: gpio@20 {
213ef797b53SMichal Simek		compatible = "ti,tca6416";
214ef797b53SMichal Simek		reg = <0x20>;
2154426df7cSMichal Simek		gpio-controller; /* IRQ not connected */
216ef797b53SMichal Simek		#gpio-cells = <2>;
2174426df7cSMichal Simek		gpio-line-names = "PS_GTR_LAN_SEL0", "PS_GTR_LAN_SEL1", "PS_GTR_LAN_SEL2", "PS_GTR_LAN_SEL3",
2184426df7cSMichal Simek				"PCI_CLK_DIR_SEL", "IIC_MUX_RESET_B", "GEM3_EXP_RESET_B",
2194426df7cSMichal Simek				"", "", "", "", "", "", "", "", "";
220cbf5a878SKrzysztof Kozlowski		gtr-sel0-hog {
221ef797b53SMichal Simek			gpio-hog;
222ef797b53SMichal Simek			gpios = <0 0>;
223ef797b53SMichal Simek			output-low; /* PCIE = 0, DP = 1 */
224ef797b53SMichal Simek			line-name = "sel0";
225ef797b53SMichal Simek		};
226cbf5a878SKrzysztof Kozlowski		gtr-sel1-hog {
227ef797b53SMichal Simek			gpio-hog;
228ef797b53SMichal Simek			gpios = <1 0>;
229ef797b53SMichal Simek			output-high; /* PCIE = 0, DP = 1 */
230ef797b53SMichal Simek			line-name = "sel1";
231ef797b53SMichal Simek		};
232cbf5a878SKrzysztof Kozlowski		gtr-sel2-hog {
233ef797b53SMichal Simek			gpio-hog;
234ef797b53SMichal Simek			gpios = <2 0>;
235ef797b53SMichal Simek			output-high; /* PCIE = 0, USB0 = 1 */
236ef797b53SMichal Simek			line-name = "sel2";
237ef797b53SMichal Simek		};
238cbf5a878SKrzysztof Kozlowski		gtr-sel3-hog {
239ef797b53SMichal Simek			gpio-hog;
240ef797b53SMichal Simek			gpios = <3 0>;
241ef797b53SMichal Simek			output-high; /* PCIE = 0, SATA = 1 */
242ef797b53SMichal Simek			line-name = "sel3";
243ef797b53SMichal Simek		};
244ef797b53SMichal Simek	};
245ef797b53SMichal Simek
246ef797b53SMichal Simek	tca6416_u61: gpio@21 {
247ef797b53SMichal Simek		compatible = "ti,tca6416";
248ef797b53SMichal Simek		reg = <0x21>;
2494426df7cSMichal Simek		gpio-controller; /* IRQ not connected */
250ef797b53SMichal Simek		#gpio-cells = <2>;
2514426df7cSMichal Simek		gpio-line-names = "VCCPSPLL_EN", "MGTRAVCC_EN", "MGTRAVTT_EN", "VCCPSDDRPLL_EN", "MIO26_PMU_INPUT_LS",
2524426df7cSMichal Simek				"PL_PMBUS_ALERT", "PS_PMBUS_ALERT", "MAXIM_PMBUS_ALERT", "PL_DDR4_VTERM_EN",
2534426df7cSMichal Simek				"PL_DDR4_VPP_2V5_EN", "PS_DIMM_VDDQ_TO_PSVCCO_ON", "PS_DIMM_SUSPEND_EN",
2544426df7cSMichal Simek				"PS_DDR4_VTERM_EN", "PS_DDR4_VPP_2V5_EN", "", "";
255ef797b53SMichal Simek	};
256ef797b53SMichal Simek
257ef797b53SMichal Simek	i2c-mux@75 { /* u60 */
258ef797b53SMichal Simek		compatible = "nxp,pca9544";
259ef797b53SMichal Simek		#address-cells = <1>;
260ef797b53SMichal Simek		#size-cells = <0>;
261ef797b53SMichal Simek		reg = <0x75>;
262ef797b53SMichal Simek		i2c@0 {
263ef797b53SMichal Simek			#address-cells = <1>;
264ef797b53SMichal Simek			#size-cells = <0>;
265ef797b53SMichal Simek			reg = <0>;
266ef797b53SMichal Simek			/* PS_PMBUS */
26786444d3eSMichal Simek			u76: ina226@40 { /* u76 */
268ef797b53SMichal Simek				compatible = "ti,ina226";
26986444d3eSMichal Simek				#io-channel-cells = <1>;
270353f5eceSMichal Simek				label = "ina226-u76";
271ef797b53SMichal Simek				reg = <0x40>;
272ef797b53SMichal Simek				shunt-resistor = <5000>;
273ef797b53SMichal Simek			};
27486444d3eSMichal Simek			u77: ina226@41 { /* u77 */
275ef797b53SMichal Simek				compatible = "ti,ina226";
27686444d3eSMichal Simek				#io-channel-cells = <1>;
277353f5eceSMichal Simek				label = "ina226-u77";
278ef797b53SMichal Simek				reg = <0x41>;
279ef797b53SMichal Simek				shunt-resistor = <5000>;
280ef797b53SMichal Simek			};
28186444d3eSMichal Simek			u78: ina226@42 { /* u78 */
282ef797b53SMichal Simek				compatible = "ti,ina226";
28386444d3eSMichal Simek				#io-channel-cells = <1>;
284353f5eceSMichal Simek				label = "ina226-u78";
285ef797b53SMichal Simek				reg = <0x42>;
286ef797b53SMichal Simek				shunt-resistor = <5000>;
287ef797b53SMichal Simek			};
28886444d3eSMichal Simek			u87: ina226@43 { /* u87 */
289ef797b53SMichal Simek				compatible = "ti,ina226";
29086444d3eSMichal Simek				#io-channel-cells = <1>;
291353f5eceSMichal Simek				label = "ina226-u87";
292ef797b53SMichal Simek				reg = <0x43>;
293ef797b53SMichal Simek				shunt-resistor = <5000>;
294ef797b53SMichal Simek			};
29586444d3eSMichal Simek			u85: ina226@44 { /* u85 */
296ef797b53SMichal Simek				compatible = "ti,ina226";
29786444d3eSMichal Simek				#io-channel-cells = <1>;
298353f5eceSMichal Simek				label = "ina226-u85";
299ef797b53SMichal Simek				reg = <0x44>;
300ef797b53SMichal Simek				shunt-resistor = <5000>;
301ef797b53SMichal Simek			};
30286444d3eSMichal Simek			u86: ina226@45 { /* u86 */
303ef797b53SMichal Simek				compatible = "ti,ina226";
30486444d3eSMichal Simek				#io-channel-cells = <1>;
305353f5eceSMichal Simek				label = "ina226-u86";
306ef797b53SMichal Simek				reg = <0x45>;
307ef797b53SMichal Simek				shunt-resistor = <5000>;
308ef797b53SMichal Simek			};
30986444d3eSMichal Simek			u93: ina226@46 { /* u93 */
310ef797b53SMichal Simek				compatible = "ti,ina226";
31186444d3eSMichal Simek				#io-channel-cells = <1>;
312353f5eceSMichal Simek				label = "ina226-u93";
313ef797b53SMichal Simek				reg = <0x46>;
314ef797b53SMichal Simek				shunt-resistor = <5000>;
315ef797b53SMichal Simek			};
31686444d3eSMichal Simek			u88: ina226@47 { /* u88 */
317ef797b53SMichal Simek				compatible = "ti,ina226";
31886444d3eSMichal Simek				#io-channel-cells = <1>;
319353f5eceSMichal Simek				label = "ina226-u88";
320ef797b53SMichal Simek				reg = <0x47>;
321ef797b53SMichal Simek				shunt-resistor = <5000>;
322ef797b53SMichal Simek			};
32386444d3eSMichal Simek			u15: ina226@4a { /* u15 */
324ef797b53SMichal Simek				compatible = "ti,ina226";
32586444d3eSMichal Simek				#io-channel-cells = <1>;
326353f5eceSMichal Simek				label = "ina226-u15";
327ef797b53SMichal Simek				reg = <0x4a>;
328ef797b53SMichal Simek				shunt-resistor = <5000>;
329ef797b53SMichal Simek			};
33086444d3eSMichal Simek			u92: ina226@4b { /* u92 */
331ef797b53SMichal Simek				compatible = "ti,ina226";
33286444d3eSMichal Simek				#io-channel-cells = <1>;
333353f5eceSMichal Simek				label = "ina226-u92";
334ef797b53SMichal Simek				reg = <0x4b>;
335ef797b53SMichal Simek				shunt-resistor = <5000>;
336ef797b53SMichal Simek			};
337ef797b53SMichal Simek		};
338ef797b53SMichal Simek		i2c@1 {
339ef797b53SMichal Simek			#address-cells = <1>;
340ef797b53SMichal Simek			#size-cells = <0>;
341ef797b53SMichal Simek			reg = <1>;
342ef797b53SMichal Simek			/* PL_PMBUS */
34386444d3eSMichal Simek			u79: ina226@40 { /* u79 */
344ef797b53SMichal Simek				compatible = "ti,ina226";
34586444d3eSMichal Simek				#io-channel-cells = <1>;
346353f5eceSMichal Simek				label = "ina226-u79";
347ef797b53SMichal Simek				reg = <0x40>;
348ef797b53SMichal Simek				shunt-resistor = <2000>;
349ef797b53SMichal Simek			};
35086444d3eSMichal Simek			u81: ina226@41 { /* u81 */
351ef797b53SMichal Simek				compatible = "ti,ina226";
35286444d3eSMichal Simek				#io-channel-cells = <1>;
353353f5eceSMichal Simek				label = "ina226-u81";
354ef797b53SMichal Simek				reg = <0x41>;
355ef797b53SMichal Simek				shunt-resistor = <5000>;
356ef797b53SMichal Simek			};
35786444d3eSMichal Simek			u80: ina226@42 { /* u80 */
358ef797b53SMichal Simek				compatible = "ti,ina226";
35986444d3eSMichal Simek				#io-channel-cells = <1>;
360353f5eceSMichal Simek				label = "ina226-u80";
361ef797b53SMichal Simek				reg = <0x42>;
362ef797b53SMichal Simek				shunt-resistor = <5000>;
363ef797b53SMichal Simek			};
36486444d3eSMichal Simek			u84: ina226@43 { /* u84 */
365ef797b53SMichal Simek				compatible = "ti,ina226";
36686444d3eSMichal Simek				#io-channel-cells = <1>;
367353f5eceSMichal Simek				label = "ina226-u84";
368ef797b53SMichal Simek				reg = <0x43>;
369ef797b53SMichal Simek				shunt-resistor = <5000>;
370ef797b53SMichal Simek			};
37186444d3eSMichal Simek			u16: ina226@44 { /* u16 */
372ef797b53SMichal Simek				compatible = "ti,ina226";
37386444d3eSMichal Simek				#io-channel-cells = <1>;
374353f5eceSMichal Simek				label = "ina226-u16";
375ef797b53SMichal Simek				reg = <0x44>;
376ef797b53SMichal Simek				shunt-resistor = <5000>;
377ef797b53SMichal Simek			};
37886444d3eSMichal Simek			u65: ina226@45 { /* u65 */
379ef797b53SMichal Simek				compatible = "ti,ina226";
38086444d3eSMichal Simek				#io-channel-cells = <1>;
381353f5eceSMichal Simek				label = "ina226-u65";
382ef797b53SMichal Simek				reg = <0x45>;
383ef797b53SMichal Simek				shunt-resistor = <5000>;
384ef797b53SMichal Simek			};
38586444d3eSMichal Simek			u74: ina226@46 { /* u74 */
386ef797b53SMichal Simek				compatible = "ti,ina226";
38786444d3eSMichal Simek				#io-channel-cells = <1>;
388353f5eceSMichal Simek				label = "ina226-u74";
389ef797b53SMichal Simek				reg = <0x46>;
390ef797b53SMichal Simek				shunt-resistor = <5000>;
391ef797b53SMichal Simek			};
39286444d3eSMichal Simek			u75: ina226@47 { /* u75 */
393ef797b53SMichal Simek				compatible = "ti,ina226";
39486444d3eSMichal Simek				#io-channel-cells = <1>;
395353f5eceSMichal Simek				label = "ina226-u75";
396ef797b53SMichal Simek				reg = <0x47>;
397ef797b53SMichal Simek				shunt-resistor = <5000>;
398ef797b53SMichal Simek			};
399ef797b53SMichal Simek		};
400ef797b53SMichal Simek		i2c@2 {
401ef797b53SMichal Simek			#address-cells = <1>;
402ef797b53SMichal Simek			#size-cells = <0>;
403ef797b53SMichal Simek			reg = <2>;
404ef797b53SMichal Simek			/* MAXIM_PMBUS - 00 */
405ef797b53SMichal Simek			max15301@a { /* u46 */
406ef797b53SMichal Simek				compatible = "maxim,max15301";
407ef797b53SMichal Simek				reg = <0xa>;
408ef797b53SMichal Simek			};
409ef797b53SMichal Simek			max15303@b { /* u4 */
410ef797b53SMichal Simek				compatible = "maxim,max15303";
411ef797b53SMichal Simek				reg = <0xb>;
412ef797b53SMichal Simek			};
413ef797b53SMichal Simek			max15303@10 { /* u13 */
414ef797b53SMichal Simek				compatible = "maxim,max15303";
415ef797b53SMichal Simek				reg = <0x10>;
416ef797b53SMichal Simek			};
417ef797b53SMichal Simek			max15301@13 { /* u47 */
418ef797b53SMichal Simek				compatible = "maxim,max15301";
419ef797b53SMichal Simek				reg = <0x13>;
420ef797b53SMichal Simek			};
421ef797b53SMichal Simek			max15303@14 { /* u7 */
422ef797b53SMichal Simek				compatible = "maxim,max15303";
423ef797b53SMichal Simek				reg = <0x14>;
424ef797b53SMichal Simek			};
425ef797b53SMichal Simek			max15303@15 { /* u6 */
426ef797b53SMichal Simek				compatible = "maxim,max15303";
427ef797b53SMichal Simek				reg = <0x15>;
428ef797b53SMichal Simek			};
429ef797b53SMichal Simek			max15303@16 { /* u10 */
430ef797b53SMichal Simek				compatible = "maxim,max15303";
431ef797b53SMichal Simek				reg = <0x16>;
432ef797b53SMichal Simek			};
433ef797b53SMichal Simek			max15303@17 { /* u9 */
434ef797b53SMichal Simek				compatible = "maxim,max15303";
435ef797b53SMichal Simek				reg = <0x17>;
436ef797b53SMichal Simek			};
437ef797b53SMichal Simek			max15301@18 { /* u63 */
438ef797b53SMichal Simek				compatible = "maxim,max15301";
439ef797b53SMichal Simek				reg = <0x18>;
440ef797b53SMichal Simek			};
441ef797b53SMichal Simek			max15303@1a { /* u49 */
442ef797b53SMichal Simek				compatible = "maxim,max15303";
443ef797b53SMichal Simek				reg = <0x1a>;
444ef797b53SMichal Simek			};
445ef797b53SMichal Simek			max15303@1d { /* u18 */
446ef797b53SMichal Simek				compatible = "maxim,max15303";
447ef797b53SMichal Simek				reg = <0x1d>;
448ef797b53SMichal Simek			};
449ef797b53SMichal Simek			max15303@20 { /* u8 */
450ef797b53SMichal Simek				compatible = "maxim,max15303";
451ef797b53SMichal Simek				status = "disabled"; /* unreachable */
452ef797b53SMichal Simek				reg = <0x20>;
453ef797b53SMichal Simek			};
454ef797b53SMichal Simek
455ef797b53SMichal Simek			max20751@72 { /* u95 */
456ef797b53SMichal Simek				compatible = "maxim,max20751";
457ef797b53SMichal Simek				reg = <0x72>;
458ef797b53SMichal Simek			};
459ef797b53SMichal Simek			max20751@73 { /* u96 */
460ef797b53SMichal Simek				compatible = "maxim,max20751";
461ef797b53SMichal Simek				reg = <0x73>;
462ef797b53SMichal Simek			};
463ef797b53SMichal Simek		};
464ef797b53SMichal Simek		/* Bus 3 is not connected */
465ef797b53SMichal Simek	};
466ef797b53SMichal Simek};
467ef797b53SMichal Simek
468ef797b53SMichal Simek&i2c1 {
469ef797b53SMichal Simek	status = "okay";
470ef797b53SMichal Simek	clock-frequency = <400000>;
471ef797b53SMichal Simek
472ef797b53SMichal Simek	/* PL i2c via PCA9306 - u45 */
473ef797b53SMichal Simek	i2c-mux@74 { /* u34 */
474ef797b53SMichal Simek		compatible = "nxp,pca9548";
475ef797b53SMichal Simek		#address-cells = <1>;
476ef797b53SMichal Simek		#size-cells = <0>;
477ef797b53SMichal Simek		reg = <0x74>;
478ef797b53SMichal Simek		i2c@0 {
479ef797b53SMichal Simek			#address-cells = <1>;
480ef797b53SMichal Simek			#size-cells = <0>;
481ef797b53SMichal Simek			reg = <0>;
482ef797b53SMichal Simek			/*
483ef797b53SMichal Simek			 * IIC_EEPROM 1kB memory which uses 256B blocks
484ef797b53SMichal Simek			 * where every block has different address.
485ef797b53SMichal Simek			 *    0 - 256B address 0x54
486ef797b53SMichal Simek			 * 256B - 512B address 0x55
487ef797b53SMichal Simek			 * 512B - 768B address 0x56
488ef797b53SMichal Simek			 * 768B - 1024B address 0x57
489ef797b53SMichal Simek			 */
490ef797b53SMichal Simek			eeprom: eeprom@54 { /* u23 */
491ef797b53SMichal Simek				compatible = "atmel,24c08";
492ef797b53SMichal Simek				reg = <0x54>;
493ef797b53SMichal Simek			};
494ef797b53SMichal Simek		};
495ef797b53SMichal Simek		i2c@1 {
496ef797b53SMichal Simek			#address-cells = <1>;
497ef797b53SMichal Simek			#size-cells = <0>;
498ef797b53SMichal Simek			reg = <1>;
499ef797b53SMichal Simek			si5341: clock-generator@36 { /* SI5341 - u69 */
500928a5747SMichal Simek				compatible = "silabs,si5341";
501ef797b53SMichal Simek				reg = <0x36>;
502928a5747SMichal Simek				#clock-cells = <2>;
503928a5747SMichal Simek				#address-cells = <1>;
504928a5747SMichal Simek				#size-cells = <0>;
505928a5747SMichal Simek				clocks = <&ref48>;
506928a5747SMichal Simek				clock-names = "xtal";
507928a5747SMichal Simek				clock-output-names = "si5341";
508ef797b53SMichal Simek
509928a5747SMichal Simek				si5341_0: out@0 {
510928a5747SMichal Simek					/* refclk0 for PS-GT, used for DP */
511928a5747SMichal Simek					reg = <0>;
512928a5747SMichal Simek					always-on;
513928a5747SMichal Simek				};
514928a5747SMichal Simek				si5341_2: out@2 {
515928a5747SMichal Simek					/* refclk2 for PS-GT, used for USB3 */
516928a5747SMichal Simek					reg = <2>;
517928a5747SMichal Simek					always-on;
518928a5747SMichal Simek				};
519928a5747SMichal Simek				si5341_3: out@3 {
520928a5747SMichal Simek					/* refclk3 for PS-GT, used for SATA */
521928a5747SMichal Simek					reg = <3>;
522928a5747SMichal Simek					always-on;
523928a5747SMichal Simek				};
524928a5747SMichal Simek				si5341_4: out@4 {
525928a5747SMichal Simek					/* refclk4 for PS-GT, used for PCIE slot */
526928a5747SMichal Simek					reg = <4>;
527928a5747SMichal Simek					always-on;
528928a5747SMichal Simek				};
529928a5747SMichal Simek				si5341_5: out@5 {
530928a5747SMichal Simek					/* refclk5 for PS-GT, used for PCIE */
531928a5747SMichal Simek					reg = <5>;
532928a5747SMichal Simek					always-on;
533928a5747SMichal Simek				};
534928a5747SMichal Simek				si5341_6: out@6 {
535928a5747SMichal Simek					/* refclk6 PL CLK125 */
536928a5747SMichal Simek					reg = <6>;
537928a5747SMichal Simek					always-on;
538928a5747SMichal Simek				};
539928a5747SMichal Simek				si5341_7: out@7 {
540928a5747SMichal Simek					/* refclk7 PL CLK74 */
541928a5747SMichal Simek					reg = <7>;
542928a5747SMichal Simek					always-on;
543928a5747SMichal Simek				};
544928a5747SMichal Simek				si5341_9: out@9 {
545928a5747SMichal Simek					/* refclk9 used for PS_REF_CLK 33.3 MHz */
546928a5747SMichal Simek					reg = <9>;
547928a5747SMichal Simek					always-on;
548928a5747SMichal Simek				};
549928a5747SMichal Simek			};
550ef797b53SMichal Simek		};
551ef797b53SMichal Simek		i2c@2 {
552ef797b53SMichal Simek			#address-cells = <1>;
553ef797b53SMichal Simek			#size-cells = <0>;
554ef797b53SMichal Simek			reg = <2>;
555ef797b53SMichal Simek			si570_1: clock-generator@5d { /* USER SI570 - u42 */
556ef797b53SMichal Simek				#clock-cells = <0>;
557ef797b53SMichal Simek				compatible = "silabs,si570";
558ef797b53SMichal Simek				reg = <0x5d>;
559ef797b53SMichal Simek				temperature-stability = <50>;
560ef797b53SMichal Simek				factory-fout = <300000000>;
561ef797b53SMichal Simek				clock-frequency = <300000000>;
56248b44b90SMichal Simek				clock-output-names = "si570_user";
563ef797b53SMichal Simek			};
564ef797b53SMichal Simek		};
565ef797b53SMichal Simek		i2c@3 {
566ef797b53SMichal Simek			#address-cells = <1>;
567ef797b53SMichal Simek			#size-cells = <0>;
568ef797b53SMichal Simek			reg = <3>;
569ef797b53SMichal Simek			si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */
570ef797b53SMichal Simek				#clock-cells = <0>;
571ef797b53SMichal Simek				compatible = "silabs,si570";
572ef797b53SMichal Simek				reg = <0x5d>;
573ef797b53SMichal Simek				temperature-stability = <50>; /* copy from zc702 */
574ef797b53SMichal Simek				factory-fout = <156250000>;
575ef797b53SMichal Simek				clock-frequency = <148500000>;
57648b44b90SMichal Simek				clock-output-names = "si570_mgt";
577ef797b53SMichal Simek			};
578ef797b53SMichal Simek		};
579ef797b53SMichal Simek		i2c@4 {
580ef797b53SMichal Simek			#address-cells = <1>;
581ef797b53SMichal Simek			#size-cells = <0>;
582ef797b53SMichal Simek			reg = <4>;
583ef797b53SMichal Simek			si5328: clock-generator@69 {/* SI5328 - u20 */
584ef797b53SMichal Simek				reg = <0x69>;
585ef797b53SMichal Simek				/*
586ef797b53SMichal Simek				 * Chip has interrupt present connected to PL
587ef797b53SMichal Simek				 * interrupt-parent = <&>;
588ef797b53SMichal Simek				 * interrupts = <>;
589ef797b53SMichal Simek				 */
59082a7ebf0SMichal Simek				#address-cells = <1>;
59182a7ebf0SMichal Simek				#size-cells = <0>;
59282a7ebf0SMichal Simek				#clock-cells = <1>;
59382a7ebf0SMichal Simek				clocks = <&refhdmi>;
59482a7ebf0SMichal Simek				clock-names = "xtal";
59582a7ebf0SMichal Simek				clock-output-names = "si5328";
59682a7ebf0SMichal Simek
59782a7ebf0SMichal Simek				si5328_clk: clk0@0 {
59882a7ebf0SMichal Simek					reg = <0>;
59982a7ebf0SMichal Simek					clock-frequency = <27000000>;
60082a7ebf0SMichal Simek				};
601ef797b53SMichal Simek			};
602ef797b53SMichal Simek		};
603ef797b53SMichal Simek		/* 5 - 7 unconnected */
604ef797b53SMichal Simek	};
605ef797b53SMichal Simek
606ef797b53SMichal Simek	i2c-mux@75 {
607ef797b53SMichal Simek		compatible = "nxp,pca9548"; /* u135 */
608ef797b53SMichal Simek		#address-cells = <1>;
609ef797b53SMichal Simek		#size-cells = <0>;
610ef797b53SMichal Simek		reg = <0x75>;
611ef797b53SMichal Simek
612ef797b53SMichal Simek		i2c@0 {
613ef797b53SMichal Simek			#address-cells = <1>;
614ef797b53SMichal Simek			#size-cells = <0>;
615ef797b53SMichal Simek			reg = <0>;
616ef797b53SMichal Simek			/* HPC0_IIC */
617ef797b53SMichal Simek		};
618ef797b53SMichal Simek		i2c@1 {
619ef797b53SMichal Simek			#address-cells = <1>;
620ef797b53SMichal Simek			#size-cells = <0>;
621ef797b53SMichal Simek			reg = <1>;
622ef797b53SMichal Simek			/* HPC1_IIC */
623ef797b53SMichal Simek		};
624ef797b53SMichal Simek		i2c@2 {
625ef797b53SMichal Simek			#address-cells = <1>;
626ef797b53SMichal Simek			#size-cells = <0>;
627ef797b53SMichal Simek			reg = <2>;
628ef797b53SMichal Simek			/* SYSMON */
629ef797b53SMichal Simek		};
630ef797b53SMichal Simek		i2c@3 {
631ef797b53SMichal Simek			#address-cells = <1>;
632ef797b53SMichal Simek			#size-cells = <0>;
633ef797b53SMichal Simek			reg = <3>;
634ef797b53SMichal Simek			/* DDR4 SODIMM */
635ef797b53SMichal Simek		};
636ef797b53SMichal Simek		i2c@4 {
637ef797b53SMichal Simek			#address-cells = <1>;
638ef797b53SMichal Simek			#size-cells = <0>;
639ef797b53SMichal Simek			reg = <4>;
640ef797b53SMichal Simek			/* SEP 3 */
641ef797b53SMichal Simek		};
642ef797b53SMichal Simek		i2c@5 {
643ef797b53SMichal Simek			#address-cells = <1>;
644ef797b53SMichal Simek			#size-cells = <0>;
645ef797b53SMichal Simek			reg = <5>;
646ef797b53SMichal Simek			/* SEP 2 */
647ef797b53SMichal Simek		};
648ef797b53SMichal Simek		i2c@6 {
649ef797b53SMichal Simek			#address-cells = <1>;
650ef797b53SMichal Simek			#size-cells = <0>;
651ef797b53SMichal Simek			reg = <6>;
652ef797b53SMichal Simek			/* SEP 1 */
653ef797b53SMichal Simek		};
654ef797b53SMichal Simek		i2c@7 {
655ef797b53SMichal Simek			#address-cells = <1>;
656ef797b53SMichal Simek			#size-cells = <0>;
657ef797b53SMichal Simek			reg = <7>;
658ef797b53SMichal Simek			/* SEP 0 */
659ef797b53SMichal Simek		};
660ef797b53SMichal Simek	};
661ef797b53SMichal Simek};
662ef797b53SMichal Simek
663ef797b53SMichal Simek&pcie {
664ef797b53SMichal Simek	status = "okay";
665ef797b53SMichal Simek};
666ef797b53SMichal Simek
667*51733f16SMichal Simek&psgtr {
668*51733f16SMichal Simek	status = "okay";
669*51733f16SMichal Simek	/* pcie, sata, usb3, dp */
670*51733f16SMichal Simek	clocks = <&si5341 0 5>, <&si5341 0 3>, <&si5341 0 2>, <&si5341 0 0>;
671*51733f16SMichal Simek	clock-names = "ref0", "ref1", "ref2", "ref3";
672*51733f16SMichal Simek};
673*51733f16SMichal Simek
674ef797b53SMichal Simek&rtc {
675ef797b53SMichal Simek	status = "okay";
676ef797b53SMichal Simek};
677ef797b53SMichal Simek
678ef797b53SMichal Simek&sata {
679ef797b53SMichal Simek	status = "okay";
680ef797b53SMichal Simek	/* SATA OOB timing settings */
681ef797b53SMichal Simek	ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
682ef797b53SMichal Simek	ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
683ef797b53SMichal Simek	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
684ef797b53SMichal Simek	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
685ef797b53SMichal Simek	ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
686ef797b53SMichal Simek	ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
687ef797b53SMichal Simek	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
688ef797b53SMichal Simek	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
689*51733f16SMichal Simek	phy-names = "sata-phy";
690*51733f16SMichal Simek	phys = <&psgtr 3 PHY_TYPE_SATA 1 1>;
691ef797b53SMichal Simek};
692ef797b53SMichal Simek
693ef797b53SMichal Simek/* SD1 with level shifter */
694ef797b53SMichal Simek&sdhci1 {
695ef797b53SMichal Simek	status = "okay";
696ef797b53SMichal Simek	no-1-8-v;
697ef797b53SMichal Simek};
698ef797b53SMichal Simek
699ef797b53SMichal Simek&uart0 {
700ef797b53SMichal Simek	status = "okay";
701ef797b53SMichal Simek};
702ef797b53SMichal Simek
703ef797b53SMichal Simek&uart1 {
704ef797b53SMichal Simek	status = "okay";
705ef797b53SMichal Simek};
706ef797b53SMichal Simek
707ef797b53SMichal Simek/* ULPI SMSC USB3320 */
708ef797b53SMichal Simek&usb0 {
709ef797b53SMichal Simek	status = "okay";
710df906cf5SAnurag Kumar Vulisha	dr_mode = "host";
711ef797b53SMichal Simek};
712ef797b53SMichal Simek
713ef797b53SMichal Simek&watchdog0 {
714ef797b53SMichal Simek	status = "okay";
715ef797b53SMichal Simek};
716