// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
 * Copyright (c) 2023 Thomas McKahan
 * Copyright (c) 2024 Sebastian Kropatsch
 *
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/usb/pd.h>
#include "rk3588-friendlyelec-cm3588.dtsi"

/ {
	model = "FriendlyElec CM3588 NAS";
	compatible = "friendlyarm,cm3588-nas", "friendlyarm,cm3588", "rockchip,rk3588";

	adc_key_recovery: adc-key-recovery {
		compatible = "adc-keys";
		io-channels = <&saradc 1>;
		io-channel-names = "buttons";
		keyup-threshold-microvolt = <1800000>;
		poll-interval = <100>;

		button-recovery {
			label = "Recovery";
			linux,code = <KEY_VENDOR>;
			press-threshold-microvolt = <17000>;
		};
	};

	analog-sound {
		compatible = "simple-audio-card";
		pinctrl-names = "default";
		pinctrl-0 = <&headphone_detect>;

		simple-audio-card,format = "i2s";
		simple-audio-card,hp-det-gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
		simple-audio-card,mclk-fs = <256>;
		simple-audio-card,name = "realtek,rt5616-codec";

		simple-audio-card,routing =
			"Headphones", "HPOL",
			"Headphones", "HPOR",
			"MIC1", "Microphone Jack",
			"Microphone Jack", "micbias1";
		simple-audio-card,widgets =
			"Headphone", "Headphones",
			"Microphone", "Microphone Jack";

		simple-audio-card,cpu {
			sound-dai = <&i2s0_8ch>;
		};

		simple-audio-card,codec {
			sound-dai = <&rt5616>;
		};
	};

	buzzer: pwm-beeper {
		compatible = "pwm-beeper";
		amp-supply = <&vcc_5v0_sys>;
		beeper-hz = <500>;
		pwms = <&pwm8 0 500000 0>;
	};

	fan: pwm-fan {
		compatible = "pwm-fan";
		#cooling-cells = <2>;
		cooling-levels = <0 50 80 120 160 220>;
		fan-supply = <&vcc_5v0_sys>;
		pwms = <&pwm1 0 50000 0>;
	};

	gpio_keys: gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&key1_pin>;

		button-user {
			debounce-interval = <50>;
			gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_LOW>;
			label = "User Button";
			linux,code = <BTN_1>;
			wakeup-source;
		};
	};

	ir-receiver {
		compatible = "gpio-ir-receiver";
		gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_LOW>;
	};

	vcc_12v_dcin: regulator-vcc-12v-dcin {
		compatible = "regulator-fixed";
		regulator-name = "vcc_12v_dcin";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
	};

	vcc_3v3_m2_a: regulator-vcc-3v3-m2-a {
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3_m2_a";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_12v_dcin>;
	};

	vcc_3v3_m2_b: regulator-vcc-3v3-m2-b {
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3_m2_b";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_12v_dcin>;
	};

	vcc_3v3_m2_c: regulator-vcc-3v3-m2-c {
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3_m2_c";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_12v_dcin>;
	};

	vcc_3v3_m2_d: regulator-vcc-3v3-m2-d {
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3_m2_d";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_12v_dcin>;
	};

	/* vcc_5v0_sys powers the peripherals */
	vcc_5v0_sys: regulator-vcc-5v0-sys {
		compatible = "regulator-fixed";
		regulator-name = "vcc_5v0_sys";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_12v_dcin>;
	};

	/* SY6280AAC power switch (U14 in schematics) */
	vcc_5v0_host_20: regulator-vcc-5v0-host-20 {
		compatible = "regulator-fixed";
		enable-active-high;
		gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc_5v0_host20_en>;
		regulator-name = "vcc_5v0_host_20";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_5v0_sys>;
	};

	/* SY6280AAC power switch (U8 in schematics) */
	vcc_5v0_host_30_p1: regulator-vcc-5v0-host-30-p1 {
		compatible = "regulator-fixed";
		enable-active-high;
		gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc_5v0_host30p1_en>;
		regulator-name = "vcc_5v0_host_30_p1";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_5v0_sys>;
	};

	/* SY6280AAC power switch (U9 in schematics) */
	vcc_5v0_host_30_p2: regulator-vcc-5v0-host-30-p2 {
		compatible = "regulator-fixed";
		enable-active-high;
		gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc_5v0_host30p2_en>;
		regulator-name = "vcc_5v0_host_30_p2";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_5v0_sys>;
	};

	/* SY6280AAC power switch (U10 in schematics) */
	vbus_5v0_typec: regulator-vbus-5v0-typec {
		compatible = "regulator-fixed";
		enable-active-high;
		gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&typec_5v_pwr_en>;
		regulator-name = "vbus_5v0_typec";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc_5v0_sys>;
	};
};

/* vcc_4v0_sys powers the RK806 and RK860's */
&vcc_4v0_sys {
	vin-supply = <&vcc_12v_dcin>;
};

/* Combo PHY 1 is configured to act as as PCIe 2.0 PHY */
/* Used by PCIe controller 2 (pcie2x1l0) */
&combphy1_ps {
	status = "okay";
};

/* Combo PHY 2 is configured to act as USB3 PHY */
/* Used by USB 3.0 OTG 2 controller (USB 3.0 Type-A port 2) */
/* CM3588 USB Controller Config Table: USB30 HOST2 */
&combphy2_psu {
	status = "okay";
};

/* GPIO names are in the format "Human-readable-name [SIGNAL_LABEL]" */
/* Signal labels match the official CM3588 NAS SDK schematic revision 2309 */
&gpio0 {
	gpio-line-names =
		/* GPIO0 A0-A7 */
		"", "", "", "",
		"MicroSD detect [SDMMC_DET_L]", "", "", "",
		/* GPIO0 B0-B7 */
		"", "", "", "",
		"", "", "", "",
		/* GPIO0 C0-C7 */
		"", "", "", "",
		"Pin 10 [UART0_RX_M0]", "Pin 08 [UART0_TX_M0/PWM4_M0]", "Pin 32 [PWM5_M1]", "",
		/* GPIO0 D0-D7 */
		"", "", "", "USB3 Type-C [CC_INT_L]",
		"IR receiver [PWM3_IR_M0]", "User Button", "", "";
};

&gpio1 {
	gpio-line-names =
		/* GPIO1 A0-A7 */
		"Pin 27 [UART6_RX_M1]", "Pin 28 [UART6_TX_M1]", "", "",
		"USB2 Type-A [USB2_PWREN]", "", "", "Pin 15",
		/* GPIO1 B0-B7 */
		"Pin 26", "Pin 21 [SPI0_MISO_M2]", "Pin 19 [SPI0_MOSI_M2/UART4_RX_M2]", "Pin 23 [SPI0_CLK_M2/UART4_TX_M2]",
		"Pin 24 [SPI0_CS0_M2/UART7_RX_M2]", "Pin 22 [SPI0_CS1_M0/UART7_TX_M2]", "", "CSI-Pin 14 [MIPI_CAM2_CLKOUT]",
		/* GPIO1 C0-C7 */
		"", "", "", "",
		"Headphone detect [HP_DET_L]", "", "", "",
		/* GPIO1 D0-D7 */
		"", "", "USB3 Type-C [TYPEC5V_PWREN_H]", "5V Fan [PWM1_M1]",
		"", "HDMI-in detect [HDMIIRX_DET_L]", "Pin 05 [I2C8_SCL_M2]", "Pin 03 [I2C8_SDA_M2]";
};

&gpio2 {
	gpio-line-names =
		/* GPIO2 A0-A7 */
		"", "", "", "",
		"", "", "SPI NOR Flash [FSPI_D0_M1]", "SPI NOR Flash [FSPI_D1_M1]",
		/* GPIO2 B0-B7 */
		"SPI NOR Flash [FSPI_D2_M1]", "SPI NOR Flash [FSPI_D3_M1]", "", "SPI NOR Flash [FSPI_CLK_M1]",
		"SPI NOR Flash [FSPI_CSN0_M1]", "", "", "",
		/* GPIO2 C0-C7 */
		"", "CSI-Pin 11 [MIPI_CAM2_RESET_L]", "CSI-Pin 12 [MIPI_CAM2_PDN_L]", "",
		"", "", "", "",
		/* GPIO2 D0-D7 */
		"", "", "", "",
		"", "", "", "";
};

&gpio3 {
	gpio-line-names =
		/* GPIO3 A0-A7 */
		"Pin 35 [SPI4_MISO_M1/PWM10_M0]", "Pin 38 [SPI4_MOSI_M1]", "Pin 40 [SPI4_CLK_M1/UART8_TX_M1]", "Pin 36 [SPI4_CS0_M1/UART8_RX_M1]",
		"Pin 37 [SPI4_CS1_M1]", "USB3-A #2 [USB3_2_PWREN]", "DSI-Pin 12 [LCD_RST]", "Buzzer [PWM8_M0]",
		/* GPIO3 B0-B7 */
		"Pin 33 [PWM9_M0]", "DSI-Pin 10 [PWM2_M1/LCD_BL]", "Pin 07", "Pin 16",
		"Pin 18", "Pin 29 [UART3_TX_M1/PWM12_M0]", "Pin 31 [UART3_RX_M1/PWM13_M0]", "Pin 12",
		/* GPIO3 C0-C7 */
		"DSI-Pin 08 [TP_INT_L]", "DSI-Pin 14 [TP_RST_L]", "Pin 11 [PWM14_M0]", "Pin 13 [PWM15_IR_M0]",
		"", "", "", "DSI-Pin 06 [I2C5_SCL_M0_TP]",
		/* GPIO3 D0-D7 */
		"DSI-Pin 05 [I2C5_SDA_M0_TP]", "", "", "",
		"", "", "", "";
};

&gpio4 {
	gpio-line-names =
		/* GPIO4 A0-A7 */
		"", "", "M.2 M-Key Slot4 [M2_D_PERST_L]", "",
		"", "", "", "",
		/* GPIO4 B0-B7 */
		"USB3-A #1 [USB3_TYPEC1_PWREN]", "", "", "M.2 M-Key Slot3 [M2_C_PERST_L]",
		"M.2 M-Key Slot2 [M2_B_PERST_L]", "M.2 M-Key Slot1 [M2_A_CLKREQ_L]", "M.2 M-Key Slot1 [M2_A_PERST_L]", "",
		/* GPIO4 C0-C7 */
		"", "", "", "",
		"", "", "", "",
		/* GPIO4 D0-D7 */
		"", "", "", "",
		"", "", "", "";
};

/* Connected to MIPI-DSI0 */
&i2c5 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c5m0_xfer>;
	status = "disabled";
};

&i2c6 {
	fusb302: typec-portc@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;
		interrupt-parent = <&gpio0>;
		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&usbc0_int>;
		vbus-supply = <&vbus_5v0_typec>;

		usb_con: connector {
			compatible = "usb-c-connector";
			data-role = "dual";
			label = "USB-C";
			power-role = "source";
			source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
			try-power-role = "source";
			vbus-supply = <&vbus_5v0_typec>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0>;

					usbc0_orien_sw: endpoint {
						remote-endpoint = <&usbdp_phy0_orientation_switch>;
					};
				};

				port@1 {
					reg = <1>;

					usbc0_role_sw: endpoint {
						remote-endpoint = <&dwc3_0_role_switch>;
					};
				};

				port@2 {
					reg = <2>;

					dp_altmode_mux: endpoint {
						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
					};
				};
			};
		};
	};
};

/* Connected to MIPI-CSI1 */
/* &i2c7 */

/* GPIO Connector, connected to 40-pin GPIO header */
&i2c8 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c8m2_xfer>;
	status = "okay";
};

&pcie2x1l0 {
	/* 2. M.2 socket, CON14: pcie30phy port0 lane1, @fe170000 */
	max-link-speed = <3>;
	num-lanes = <1>;
	phys = <&pcie30phy>;
	pinctrl-names = "default";
	pinctrl-0 = <&pcie2_0_rst>;
	reset-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
	vpcie3v3-supply = <&vcc_3v3_m2_b>;
	status = "okay";
};

&pcie2x1l1 {
	/* 4. M.2 socket, CON16: pcie30phy port1 lane1, @fe180000 */
	max-link-speed = <3>;
	num-lanes = <1>;
	phys = <&pcie30phy>;
	pinctrl-names = "default";
	pinctrl-0 = <&pcie2_1_rst>;
	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
	vpcie3v3-supply = <&vcc_3v3_m2_d>;
	status = "okay";
};

&pcie30phy {
	/*
	* Data lane mapping <1 3 2 4> = x1x1 x1x1 (bifurcation of both ports)
	* port 0 lane 0 - always mapped to controller 0 (4L)
	* port 0 lane 1 - map to controller 2 (1L0)
	* port 1 lane 0 - map to controller 1 (2L)
	* port 1 lane 1 - map to controller 3 (1L1)
	*/
	data-lanes = <1 3 2 4>;
	status = "okay";
};

&pcie3x4 {
	/* 1. M.2 socket, CON13: pcie30phy port0 lane0, @fe150000 */
	max-link-speed = <3>;
	num-lanes = <1>;
	pinctrl-names = "default";
	pinctrl-0 = <&pcie3x4_rst>;
	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
	vpcie3v3-supply = <&vcc_3v3_m2_a>;
	status = "okay";
};

&pcie3x2 {
	/* 3. M.2 socket, CON15: pcie30phy port1 lane0, @fe160000 */
	max-link-speed = <3>;
	num-lanes = <1>;
	pinctrl-names = "default";
	pinctrl-0 = <&pcie3x2_rst>;
	reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
	vpcie3v3-supply = <&vcc_3v3_m2_c>;
	status = "okay";
};

&pinctrl {
	audio {
		headphone_detect: headphone-detect {
			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	gpio-key {
		key1_pin: key1-pin {
			rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	pcie {
		pcie2_0_rst: pcie2-0-rst {
			rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		pcie2_1_rst: pcie2-1-rst {
			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		pcie3x2_rst: pcie3x2-rst {
			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		pcie3x4_rst: pcie3x4-rst {
			rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	usb {
		vcc_5v0_host20_en: vcc-5v0-host20-en {
			rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		vcc_5v0_host30p1_en: vcc-5v0-host30p1-en {
			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		vcc_5v0_host30p2_en: vcc-5v0-host30p2-en {
			rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	usb-typec {
		usbc0_int: usbc0-int {
			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
		};

		typec_5v_pwr_en: typec-5v-pwr-en {
			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

/* Connected to 5V Fan */
&pwm1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm1m1_pins>;
	status = "okay";
};

/* Connected to MIPI-DSI0 */
&pwm2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm2m1_pins>;
};

/* Connected to IR Receiver */
&pwm3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm3m0_pins>;
	status = "okay";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with UART0 */
&pwm4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm4m1_pins>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
&pwm5 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm5m1_pins>;
	status = "okay";
};

/* Connected to Buzzer */
&pwm8 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm8m0_pins>;
	status = "okay";
};

/* GPIO Connector, connected to 40-pin GPIO header */
&pwm9 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm9m0_pins>;
	status = "okay";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with SPI4 */
&pwm10 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm10m0_pins>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with UART3 */
&pwm12 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm12m0_pins>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with UART3 */
&pwm13 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm13m0_pins>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
&pwm14 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm14m0_pins>;
	status = "okay";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Optimized for infrared applications */
&pwm15 {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm15m0_pins>;
	status = "disabled";
};

/* microSD card */
&sdmmc {
	status = "okay";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with UART4, UART7 and PWM10 */
&spi0 {
	num-cs = <1>;
	pinctrl-names = "default";
	pinctrl-0 = <&spi0m2_cs0 &spi0m2_pins>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with UART8 */
&spi4 {
	num-cs = <1>;
	pinctrl-names = "default";
	pinctrl-0 = <&spi4m1_cs0 &spi4m1_pins>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with PWM4 */
&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0m0_xfer>;
	status = "disabled";
};

/* Debug UART */
&uart2 {
	status = "okay";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with PWM12 and PWM13 */
&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart3m1_xfer>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with SPI0 */
&uart4 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart4m2_xfer>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
&uart6 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart6m1_xfer>;
	status = "okay";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with SPI0 */
&uart7 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart7m2_xfer>;
	status = "disabled";
};

/* GPIO Connector, connected to 40-pin GPIO header */
/* Shared with SPI4 */
&uart8 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart8m1_xfer>;
	status = "disabled";
};

/* USB2 PHY for USB Type-C port */
/* CM3588 USB Controller Config Table: USB20 OTG0 */
&u2phy0 {
	status = "okay";
};

&u2phy0_otg {
	phy-supply = <&vbus_5v0_typec>;
	status = "okay";
};

/* USB2 PHY for USB 3.0 Type-A port 1 */
/* CM3588 USB Controller Config Table: USB20 OTG1 */
&u2phy1 {
	status = "okay";
};

&u2phy1_otg {
	phy-supply = <&vcc_5v0_host_30_p1>;
	status = "okay";
};

/* USB2 PHY for USB 2.0 Type-A */
/* CM3588 USB Controller Config Table: USB20 HOST0 */
&u2phy2 {
	status = "okay";
};

&u2phy2_host {
	phy-supply = <&vcc_5v0_host_20>;
	status = "okay";
};

/* USB2 PHY for USB 3.0 Type-A port 2 */
/* CM3588 USB Controller Config Table: USB20 HOST1 */
&u2phy3 {
	status = "okay";
};

&u2phy3_host {
	phy-supply = <&vcc_5v0_host_30_p2>;
	status = "okay";
};

/* USB 2.0 Type-A */
/* PHY: <&u2phy2_host> */
&usb_host0_ehci {
	status = "okay";
};

/* USB 2.0 Type-A */
/* PHY: <&u2phy2_host> */
&usb_host0_ohci {
	status = "okay";
};

/* USB Type-C */
/* PHYs: <&u2phy0_otg>, <&usbdp_phy0 PHY_TYPE_USB3> */
&usb_host0_xhci {
	usb-role-switch;
	status = "okay";

	port {
		dwc3_0_role_switch: endpoint {
			remote-endpoint = <&usbc0_role_sw>;
		};
	};
};

/* Lower USB 3.0 Type-A (port 2) */
/* PHY: <&u2phy3_host> */
&usb_host1_ehci {
	status = "okay";
};

/* Lower USB 3.0 Type-A (port 2) */
/* PHY: <&u2phy3_host> */
&usb_host1_ohci {
	status = "okay";
};

/* Upper USB 3.0 Type-A (port 1) */
/* PHYs: <&u2phy1_otg>, <&usbdp_phy1 PHY_TYPE_USB3> */
&usb_host1_xhci {
	dr_mode = "host";
	status = "okay";
};

/* Lower USB 3.0 Type-A (port 2) */
/* PHYs: <&combphy2_psu PHY_TYPE_USB3> */
&usb_host2_xhci {
	status = "okay";
};

/* USB3 PHY for USB Type-C port */
/* CM3588 USB Controller Config Table: USB30 OTG0 */
&usbdp_phy0 {
	mode-switch;
	orientation-switch;
	sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
	sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
	status = "okay";

	port {
		#address-cells = <1>;
		#size-cells = <0>;

		usbdp_phy0_orientation_switch: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&usbc0_orien_sw>;
		};

		usbdp_phy0_dp_altmode_mux: endpoint@1 {
			reg = <1>;
			remote-endpoint = <&dp_altmode_mux>;
		};
	};
};

/* USB3 PHY for USB 3.0 Type-A port 1 */
/* CM3588 USB Controller Config Table: USB30 OTG1 */
&usbdp_phy1 {
	status = "okay";
};
