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