162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * dts file for Xilinx ZynqMP ZCU104
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * (C) Copyright 2017 - 2022, Xilinx, Inc.
662306a36Sopenharmony_ci * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
762306a36Sopenharmony_ci *
862306a36Sopenharmony_ci * Michal Simek <michal.simek@amd.com>
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/dts-v1/;
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#include "zynqmp.dtsi"
1462306a36Sopenharmony_ci#include "zynqmp-clk-ccf.dtsi"
1562306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1662306a36Sopenharmony_ci#include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
1762306a36Sopenharmony_ci#include <dt-bindings/phy/phy.h>
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci/ {
2062306a36Sopenharmony_ci	model = "ZynqMP ZCU104 RevA";
2162306a36Sopenharmony_ci	compatible = "xlnx,zynqmp-zcu104-revA", "xlnx,zynqmp-zcu104", "xlnx,zynqmp";
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	aliases {
2462306a36Sopenharmony_ci		ethernet0 = &gem3;
2562306a36Sopenharmony_ci		i2c0 = &i2c1;
2662306a36Sopenharmony_ci		mmc0 = &sdhci1;
2762306a36Sopenharmony_ci		nvmem0 = &eeprom;
2862306a36Sopenharmony_ci		rtc0 = &rtc;
2962306a36Sopenharmony_ci		serial0 = &uart0;
3062306a36Sopenharmony_ci		serial1 = &uart1;
3162306a36Sopenharmony_ci		serial2 = &dcc;
3262306a36Sopenharmony_ci		spi0 = &qspi;
3362306a36Sopenharmony_ci		usb0 = &usb0;
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	chosen {
3762306a36Sopenharmony_ci		bootargs = "earlycon";
3862306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
3962306a36Sopenharmony_ci	};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	memory@0 {
4262306a36Sopenharmony_ci		device_type = "memory";
4362306a36Sopenharmony_ci		reg = <0x0 0x0 0x0 0x80000000>;
4462306a36Sopenharmony_ci	};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	clock_8t49n287_5: clk125 {
4762306a36Sopenharmony_ci		compatible = "fixed-clock";
4862306a36Sopenharmony_ci		#clock-cells = <0>;
4962306a36Sopenharmony_ci		clock-frequency = <125000000>;
5062306a36Sopenharmony_ci	};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	clock_8t49n287_2: clk26 {
5362306a36Sopenharmony_ci		compatible = "fixed-clock";
5462306a36Sopenharmony_ci		#clock-cells = <0>;
5562306a36Sopenharmony_ci		clock-frequency = <26000000>;
5662306a36Sopenharmony_ci	};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	clock_8t49n287_3: clk27 {
5962306a36Sopenharmony_ci		compatible = "fixed-clock";
6062306a36Sopenharmony_ci		#clock-cells = <0>;
6162306a36Sopenharmony_ci		clock-frequency = <27000000>;
6262306a36Sopenharmony_ci	};
6362306a36Sopenharmony_ci};
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci&can1 {
6662306a36Sopenharmony_ci	status = "okay";
6762306a36Sopenharmony_ci	pinctrl-names = "default";
6862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_can1_default>;
6962306a36Sopenharmony_ci};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci&dcc {
7262306a36Sopenharmony_ci	status = "okay";
7362306a36Sopenharmony_ci};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci&fpd_dma_chan1 {
7662306a36Sopenharmony_ci	status = "okay";
7762306a36Sopenharmony_ci};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci&fpd_dma_chan2 {
8062306a36Sopenharmony_ci	status = "okay";
8162306a36Sopenharmony_ci};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci&fpd_dma_chan3 {
8462306a36Sopenharmony_ci	status = "okay";
8562306a36Sopenharmony_ci};
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci&fpd_dma_chan4 {
8862306a36Sopenharmony_ci	status = "okay";
8962306a36Sopenharmony_ci};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci&fpd_dma_chan5 {
9262306a36Sopenharmony_ci	status = "okay";
9362306a36Sopenharmony_ci};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci&fpd_dma_chan6 {
9662306a36Sopenharmony_ci	status = "okay";
9762306a36Sopenharmony_ci};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci&fpd_dma_chan7 {
10062306a36Sopenharmony_ci	status = "okay";
10162306a36Sopenharmony_ci};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci&fpd_dma_chan8 {
10462306a36Sopenharmony_ci	status = "okay";
10562306a36Sopenharmony_ci};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci&gem3 {
10862306a36Sopenharmony_ci	status = "okay";
10962306a36Sopenharmony_ci	phy-handle = <&phy0>;
11062306a36Sopenharmony_ci	phy-mode = "rgmii-id";
11162306a36Sopenharmony_ci	pinctrl-names = "default";
11262306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_gem3_default>;
11362306a36Sopenharmony_ci	mdio: mdio {
11462306a36Sopenharmony_ci		#address-cells = <1>;
11562306a36Sopenharmony_ci		#size-cells = <0>;
11662306a36Sopenharmony_ci		phy0: ethernet-phy@c {
11762306a36Sopenharmony_ci			#phy-cells = <1>;
11862306a36Sopenharmony_ci			compatible = "ethernet-phy-id2000.a231";
11962306a36Sopenharmony_ci			reg = <0xc>;
12062306a36Sopenharmony_ci			ti,rx-internal-delay = <0x8>;
12162306a36Sopenharmony_ci			ti,tx-internal-delay = <0xa>;
12262306a36Sopenharmony_ci			ti,fifo-depth = <0x1>;
12362306a36Sopenharmony_ci			ti,dp83867-rxctrl-strap-quirk;
12462306a36Sopenharmony_ci			reset-gpios = <&tca6416_u97 6 GPIO_ACTIVE_LOW>;
12562306a36Sopenharmony_ci		};
12662306a36Sopenharmony_ci	};
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci&gpio {
13062306a36Sopenharmony_ci	status = "okay";
13162306a36Sopenharmony_ci};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci&gpu {
13462306a36Sopenharmony_ci	status = "okay";
13562306a36Sopenharmony_ci};
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci&i2c1 {
13862306a36Sopenharmony_ci	status = "okay";
13962306a36Sopenharmony_ci	clock-frequency = <400000>;
14062306a36Sopenharmony_ci	pinctrl-names = "default", "gpio";
14162306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c1_default>;
14262306a36Sopenharmony_ci	pinctrl-1 = <&pinctrl_i2c1_gpio>;
14362306a36Sopenharmony_ci	scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
14462306a36Sopenharmony_ci	sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci	/* Another connection to this bus via PL i2c via PCA9306 - u45 */
14762306a36Sopenharmony_ci	i2c-mux@74 { /* u34 */
14862306a36Sopenharmony_ci		compatible = "nxp,pca9548";
14962306a36Sopenharmony_ci		#address-cells = <1>;
15062306a36Sopenharmony_ci		#size-cells = <0>;
15162306a36Sopenharmony_ci		reg = <0x74>;
15262306a36Sopenharmony_ci		i2c@0 {
15362306a36Sopenharmony_ci			#address-cells = <1>;
15462306a36Sopenharmony_ci			#size-cells = <0>;
15562306a36Sopenharmony_ci			reg = <0>;
15662306a36Sopenharmony_ci			/*
15762306a36Sopenharmony_ci			 * IIC_EEPROM 1kB memory which uses 256B blocks
15862306a36Sopenharmony_ci			 * where every block has different address.
15962306a36Sopenharmony_ci			 *    0 - 256B address 0x54
16062306a36Sopenharmony_ci			 * 256B - 512B address 0x55
16162306a36Sopenharmony_ci			 * 512B - 768B address 0x56
16262306a36Sopenharmony_ci			 * 768B - 1024B address 0x57
16362306a36Sopenharmony_ci			 */
16462306a36Sopenharmony_ci			eeprom: eeprom@54 { /* u23 */
16562306a36Sopenharmony_ci				compatible = "atmel,24c08";
16662306a36Sopenharmony_ci				reg = <0x54>;
16762306a36Sopenharmony_ci				#address-cells = <1>;
16862306a36Sopenharmony_ci				#size-cells = <1>;
16962306a36Sopenharmony_ci			};
17062306a36Sopenharmony_ci		};
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci		i2c@1 {
17362306a36Sopenharmony_ci			#address-cells = <1>;
17462306a36Sopenharmony_ci			#size-cells = <0>;
17562306a36Sopenharmony_ci			reg = <1>;
17662306a36Sopenharmony_ci			/* 8T49N287 - u182 */
17762306a36Sopenharmony_ci		};
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci		i2c@2 {
18062306a36Sopenharmony_ci			#address-cells = <1>;
18162306a36Sopenharmony_ci			#size-cells = <0>;
18262306a36Sopenharmony_ci			reg = <2>;
18362306a36Sopenharmony_ci			irps5401_43: irps5401@43 { /* IRPS5401 - u175 */
18462306a36Sopenharmony_ci				compatible = "infineon,irps5401";
18562306a36Sopenharmony_ci				reg = <0x43>; /* pmbus / i2c 0x13 */
18662306a36Sopenharmony_ci			};
18762306a36Sopenharmony_ci			irps5401_44: irps5401@44 { /* IRPS5401 - u180 */
18862306a36Sopenharmony_ci				compatible = "infineon,irps5401";
18962306a36Sopenharmony_ci				reg = <0x44>; /* pmbus / i2c 0x14 */
19062306a36Sopenharmony_ci			};
19162306a36Sopenharmony_ci		};
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci		i2c@4 {
19462306a36Sopenharmony_ci			#address-cells = <1>;
19562306a36Sopenharmony_ci			#size-cells = <0>;
19662306a36Sopenharmony_ci			reg = <4>;
19762306a36Sopenharmony_ci			tca6416_u97: gpio@20 {
19862306a36Sopenharmony_ci				compatible = "ti,tca6416";
19962306a36Sopenharmony_ci				reg = <0x20>;
20062306a36Sopenharmony_ci				gpio-controller;
20162306a36Sopenharmony_ci				#gpio-cells = <2>;
20262306a36Sopenharmony_ci				/*
20362306a36Sopenharmony_ci				 * IRQ not connected
20462306a36Sopenharmony_ci				 * Lines:
20562306a36Sopenharmony_ci				 * 0 - IRPS5401_ALERT_B
20662306a36Sopenharmony_ci				 * 1 - HDMI_8T49N241_INT_ALM
20762306a36Sopenharmony_ci				 * 2 - MAX6643_OT_B
20862306a36Sopenharmony_ci				 * 3 - MAX6643_FANFAIL_B
20962306a36Sopenharmony_ci				 * 5 - IIC_MUX_RESET_B
21062306a36Sopenharmony_ci				 * 6 - GEM3_EXP_RESET_B
21162306a36Sopenharmony_ci				 * 7 - FMC_LPC_PRSNT_M2C_B
21262306a36Sopenharmony_ci				 * 4, 10 - 17 - not connected
21362306a36Sopenharmony_ci				 */
21462306a36Sopenharmony_ci			};
21562306a36Sopenharmony_ci		};
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci		i2c@5 {
21862306a36Sopenharmony_ci			#address-cells = <1>;
21962306a36Sopenharmony_ci			#size-cells = <0>;
22062306a36Sopenharmony_ci			reg = <5>;
22162306a36Sopenharmony_ci		};
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci		i2c@7 {
22462306a36Sopenharmony_ci			#address-cells = <1>;
22562306a36Sopenharmony_ci			#size-cells = <0>;
22662306a36Sopenharmony_ci			reg = <7>;
22762306a36Sopenharmony_ci		};
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci		/* 3, 6 not connected */
23062306a36Sopenharmony_ci	};
23162306a36Sopenharmony_ci};
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci&pinctrl0 {
23462306a36Sopenharmony_ci	status = "okay";
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci	pinctrl_can1_default: can1-default {
23762306a36Sopenharmony_ci		mux {
23862306a36Sopenharmony_ci			function = "can1";
23962306a36Sopenharmony_ci			groups = "can1_6_grp";
24062306a36Sopenharmony_ci		};
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ci		conf {
24362306a36Sopenharmony_ci			groups = "can1_6_grp";
24462306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
24562306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
24662306a36Sopenharmony_ci			drive-strength = <12>;
24762306a36Sopenharmony_ci		};
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci		conf-rx {
25062306a36Sopenharmony_ci			pins = "MIO25";
25162306a36Sopenharmony_ci			bias-high-impedance;
25262306a36Sopenharmony_ci		};
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci		conf-tx {
25562306a36Sopenharmony_ci			pins = "MIO24";
25662306a36Sopenharmony_ci			bias-disable;
25762306a36Sopenharmony_ci		};
25862306a36Sopenharmony_ci	};
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci	pinctrl_i2c1_default: i2c1-default {
26162306a36Sopenharmony_ci		mux {
26262306a36Sopenharmony_ci			groups = "i2c1_4_grp";
26362306a36Sopenharmony_ci			function = "i2c1";
26462306a36Sopenharmony_ci		};
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ci		conf {
26762306a36Sopenharmony_ci			groups = "i2c1_4_grp";
26862306a36Sopenharmony_ci			bias-pull-up;
26962306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
27062306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
27162306a36Sopenharmony_ci			drive-strength = <12>;
27262306a36Sopenharmony_ci		};
27362306a36Sopenharmony_ci	};
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ci	pinctrl_i2c1_gpio: i2c1-gpio {
27662306a36Sopenharmony_ci		mux {
27762306a36Sopenharmony_ci			groups = "gpio0_16_grp", "gpio0_17_grp";
27862306a36Sopenharmony_ci			function = "gpio0";
27962306a36Sopenharmony_ci		};
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_ci		conf {
28262306a36Sopenharmony_ci			groups = "gpio0_16_grp", "gpio0_17_grp";
28362306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
28462306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
28562306a36Sopenharmony_ci			drive-strength = <12>;
28662306a36Sopenharmony_ci		};
28762306a36Sopenharmony_ci	};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci	pinctrl_gem3_default: gem3-default {
29062306a36Sopenharmony_ci		mux {
29162306a36Sopenharmony_ci			function = "ethernet3";
29262306a36Sopenharmony_ci			groups = "ethernet3_0_grp";
29362306a36Sopenharmony_ci		};
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci		conf {
29662306a36Sopenharmony_ci			groups = "ethernet3_0_grp";
29762306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
29862306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
29962306a36Sopenharmony_ci			drive-strength = <12>;
30062306a36Sopenharmony_ci		};
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci		conf-rx {
30362306a36Sopenharmony_ci			pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
30462306a36Sopenharmony_ci									"MIO75";
30562306a36Sopenharmony_ci			bias-high-impedance;
30662306a36Sopenharmony_ci			low-power-disable;
30762306a36Sopenharmony_ci		};
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci		conf-tx {
31062306a36Sopenharmony_ci			pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
31162306a36Sopenharmony_ci									"MIO69";
31262306a36Sopenharmony_ci			bias-disable;
31362306a36Sopenharmony_ci			low-power-enable;
31462306a36Sopenharmony_ci		};
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci		mux-mdio {
31762306a36Sopenharmony_ci			function = "mdio3";
31862306a36Sopenharmony_ci			groups = "mdio3_0_grp";
31962306a36Sopenharmony_ci		};
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_ci		conf-mdio {
32262306a36Sopenharmony_ci			groups = "mdio3_0_grp";
32362306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
32462306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
32562306a36Sopenharmony_ci			bias-disable;
32662306a36Sopenharmony_ci		};
32762306a36Sopenharmony_ci	};
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci	pinctrl_sdhci1_default: sdhci1-default {
33062306a36Sopenharmony_ci		mux {
33162306a36Sopenharmony_ci			groups = "sdio1_0_grp";
33262306a36Sopenharmony_ci			function = "sdio1";
33362306a36Sopenharmony_ci		};
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci		conf {
33662306a36Sopenharmony_ci			groups = "sdio1_0_grp";
33762306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
33862306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
33962306a36Sopenharmony_ci			bias-disable;
34062306a36Sopenharmony_ci			drive-strength = <12>;
34162306a36Sopenharmony_ci		};
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ci		mux-cd {
34462306a36Sopenharmony_ci			groups = "sdio1_cd_0_grp";
34562306a36Sopenharmony_ci			function = "sdio1_cd";
34662306a36Sopenharmony_ci		};
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ci		conf-cd {
34962306a36Sopenharmony_ci			groups = "sdio1_cd_0_grp";
35062306a36Sopenharmony_ci			bias-high-impedance;
35162306a36Sopenharmony_ci			bias-pull-up;
35262306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
35362306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
35462306a36Sopenharmony_ci		};
35562306a36Sopenharmony_ci	};
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci	pinctrl_uart0_default: uart0-default {
35862306a36Sopenharmony_ci		mux {
35962306a36Sopenharmony_ci			groups = "uart0_4_grp";
36062306a36Sopenharmony_ci			function = "uart0";
36162306a36Sopenharmony_ci		};
36262306a36Sopenharmony_ci
36362306a36Sopenharmony_ci		conf {
36462306a36Sopenharmony_ci			groups = "uart0_4_grp";
36562306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
36662306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
36762306a36Sopenharmony_ci			drive-strength = <12>;
36862306a36Sopenharmony_ci		};
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ci		conf-rx {
37162306a36Sopenharmony_ci			pins = "MIO18";
37262306a36Sopenharmony_ci			bias-high-impedance;
37362306a36Sopenharmony_ci		};
37462306a36Sopenharmony_ci
37562306a36Sopenharmony_ci		conf-tx {
37662306a36Sopenharmony_ci			pins = "MIO19";
37762306a36Sopenharmony_ci			bias-disable;
37862306a36Sopenharmony_ci		};
37962306a36Sopenharmony_ci	};
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ci	pinctrl_uart1_default: uart1-default {
38262306a36Sopenharmony_ci		mux {
38362306a36Sopenharmony_ci			groups = "uart1_5_grp";
38462306a36Sopenharmony_ci			function = "uart1";
38562306a36Sopenharmony_ci		};
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci		conf {
38862306a36Sopenharmony_ci			groups = "uart1_5_grp";
38962306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
39062306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
39162306a36Sopenharmony_ci			drive-strength = <12>;
39262306a36Sopenharmony_ci		};
39362306a36Sopenharmony_ci
39462306a36Sopenharmony_ci		conf-rx {
39562306a36Sopenharmony_ci			pins = "MIO21";
39662306a36Sopenharmony_ci			bias-high-impedance;
39762306a36Sopenharmony_ci		};
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci		conf-tx {
40062306a36Sopenharmony_ci			pins = "MIO20";
40162306a36Sopenharmony_ci			bias-disable;
40262306a36Sopenharmony_ci		};
40362306a36Sopenharmony_ci	};
40462306a36Sopenharmony_ci
40562306a36Sopenharmony_ci	pinctrl_usb0_default: usb0-default {
40662306a36Sopenharmony_ci		mux {
40762306a36Sopenharmony_ci			groups = "usb0_0_grp";
40862306a36Sopenharmony_ci			function = "usb0";
40962306a36Sopenharmony_ci		};
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_ci		conf {
41262306a36Sopenharmony_ci			groups = "usb0_0_grp";
41362306a36Sopenharmony_ci			power-source = <IO_STANDARD_LVCMOS18>;
41462306a36Sopenharmony_ci		};
41562306a36Sopenharmony_ci
41662306a36Sopenharmony_ci		conf-rx {
41762306a36Sopenharmony_ci			pins = "MIO52", "MIO53", "MIO55";
41862306a36Sopenharmony_ci			bias-high-impedance;
41962306a36Sopenharmony_ci			drive-strength = <12>;
42062306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_FAST>;
42162306a36Sopenharmony_ci		};
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci		conf-tx {
42462306a36Sopenharmony_ci			pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
42562306a36Sopenharmony_ci			       "MIO60", "MIO61", "MIO62", "MIO63";
42662306a36Sopenharmony_ci			bias-disable;
42762306a36Sopenharmony_ci			drive-strength = <4>;
42862306a36Sopenharmony_ci			slew-rate = <SLEW_RATE_SLOW>;
42962306a36Sopenharmony_ci		};
43062306a36Sopenharmony_ci	};
43162306a36Sopenharmony_ci};
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ci&psgtr {
43462306a36Sopenharmony_ci	status = "okay";
43562306a36Sopenharmony_ci	/* nc, sata, usb3, dp */
43662306a36Sopenharmony_ci	clocks = <&clock_8t49n287_5>, <&clock_8t49n287_2>, <&clock_8t49n287_3>;
43762306a36Sopenharmony_ci	clock-names = "ref1", "ref2", "ref3";
43862306a36Sopenharmony_ci};
43962306a36Sopenharmony_ci
44062306a36Sopenharmony_ci&qspi {
44162306a36Sopenharmony_ci	status = "okay";
44262306a36Sopenharmony_ci	flash@0 {
44362306a36Sopenharmony_ci		compatible = "m25p80", "jedec,spi-nor"; /* n25q512a 128MiB */
44462306a36Sopenharmony_ci		#address-cells = <1>;
44562306a36Sopenharmony_ci		#size-cells = <1>;
44662306a36Sopenharmony_ci		reg = <0x0>;
44762306a36Sopenharmony_ci		spi-tx-bus-width = <4>;
44862306a36Sopenharmony_ci		spi-rx-bus-width = <4>;
44962306a36Sopenharmony_ci		spi-max-frequency = <108000000>; /* Based on DC1 spec */
45062306a36Sopenharmony_ci	};
45162306a36Sopenharmony_ci};
45262306a36Sopenharmony_ci
45362306a36Sopenharmony_ci&rtc {
45462306a36Sopenharmony_ci	status = "okay";
45562306a36Sopenharmony_ci};
45662306a36Sopenharmony_ci
45762306a36Sopenharmony_ci&sata {
45862306a36Sopenharmony_ci	status = "okay";
45962306a36Sopenharmony_ci	/* SATA OOB timing settings */
46062306a36Sopenharmony_ci	ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
46162306a36Sopenharmony_ci	ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
46262306a36Sopenharmony_ci	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
46362306a36Sopenharmony_ci	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
46462306a36Sopenharmony_ci	ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
46562306a36Sopenharmony_ci	ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
46662306a36Sopenharmony_ci	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
46762306a36Sopenharmony_ci	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
46862306a36Sopenharmony_ci	phy-names = "sata-phy";
46962306a36Sopenharmony_ci	phys = <&psgtr 3 PHY_TYPE_SATA 1 1>;
47062306a36Sopenharmony_ci};
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci/* SD1 with level shifter */
47362306a36Sopenharmony_ci&sdhci1 {
47462306a36Sopenharmony_ci	status = "okay";
47562306a36Sopenharmony_ci	no-1-8-v;
47662306a36Sopenharmony_ci	pinctrl-names = "default";
47762306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_sdhci1_default>;
47862306a36Sopenharmony_ci	xlnx,mio-bank = <1>;
47962306a36Sopenharmony_ci	disable-wp;
48062306a36Sopenharmony_ci};
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ci&uart0 {
48362306a36Sopenharmony_ci	status = "okay";
48462306a36Sopenharmony_ci	pinctrl-names = "default";
48562306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart0_default>;
48662306a36Sopenharmony_ci};
48762306a36Sopenharmony_ci
48862306a36Sopenharmony_ci&uart1 {
48962306a36Sopenharmony_ci	status = "okay";
49062306a36Sopenharmony_ci	pinctrl-names = "default";
49162306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart1_default>;
49262306a36Sopenharmony_ci};
49362306a36Sopenharmony_ci
49462306a36Sopenharmony_ci/* ULPI SMSC USB3320 */
49562306a36Sopenharmony_ci&usb0 {
49662306a36Sopenharmony_ci	status = "okay";
49762306a36Sopenharmony_ci	pinctrl-names = "default";
49862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usb0_default>;
49962306a36Sopenharmony_ci	phy-names = "usb3-phy";
50062306a36Sopenharmony_ci	phys = <&psgtr 2 PHY_TYPE_USB3 0 2>;
50162306a36Sopenharmony_ci};
50262306a36Sopenharmony_ci
50362306a36Sopenharmony_ci&dwc3_0 {
50462306a36Sopenharmony_ci	status = "okay";
50562306a36Sopenharmony_ci	dr_mode = "host";
50662306a36Sopenharmony_ci	snps,usb3_lpm_capable;
50762306a36Sopenharmony_ci	maximum-speed = "super-speed";
50862306a36Sopenharmony_ci};
50962306a36Sopenharmony_ci
51062306a36Sopenharmony_ci&watchdog0 {
51162306a36Sopenharmony_ci	status = "okay";
51262306a36Sopenharmony_ci};
51362306a36Sopenharmony_ci
51462306a36Sopenharmony_ci&xilinx_ams {
51562306a36Sopenharmony_ci	status = "okay";
51662306a36Sopenharmony_ci};
51762306a36Sopenharmony_ci
51862306a36Sopenharmony_ci&ams_ps {
51962306a36Sopenharmony_ci	status = "okay";
52062306a36Sopenharmony_ci};
52162306a36Sopenharmony_ci
52262306a36Sopenharmony_ci&ams_pl {
52362306a36Sopenharmony_ci	status = "okay";
52462306a36Sopenharmony_ci};
52562306a36Sopenharmony_ci
52662306a36Sopenharmony_ci&zynqmp_dpdma {
52762306a36Sopenharmony_ci	status = "okay";
52862306a36Sopenharmony_ci};
52962306a36Sopenharmony_ci
53062306a36Sopenharmony_ci&zynqmp_dpsub {
53162306a36Sopenharmony_ci	status = "okay";
53262306a36Sopenharmony_ci	phy-names = "dp-phy0", "dp-phy1";
53362306a36Sopenharmony_ci	phys = <&psgtr 1 PHY_TYPE_DP 0 3>,
53462306a36Sopenharmony_ci	       <&psgtr 0 PHY_TYPE_DP 1 3>;
53562306a36Sopenharmony_ci};
536