// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2023 Collabora Ltd.
 */

#include "rk3588-u-boot.dtsi"
#include <dt-bindings/usb/pd.h>

/ {
	chosen {
		u-boot,spl-boot-order = "same-as-spl", &sdmmc, &sdhci;
	};

	vcc12v_dcin: vcc12v-dcin-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vcc12v_dcin";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
	};
};

&combphy2_psu {
	status = "okay";
};

&fspim2_pins {
	bootph-all;
};

&pinctrl {
	usb {
		usbc0_int: usbc0-int {
			rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&sdhci {
	cap-mmc-highspeed;
	mmc-ddr-1_8v;
	mmc-hs200-1_8v;
};

&sfc {
	bootph-pre-ram;
	u-boot,spl-sfc-no-dma;
	pinctrl-names = "default";
	pinctrl-0 = <&fspim2_pins>;
	status = "okay";

	flash@0 {
		bootph-pre-ram;
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <24000000>;
		spi-rx-bus-width = <4>;
		spi-tx-bus-width = <1>;
	};
};

&u2phy0 {
	status = "okay";
};

&u2phy0_otg {
	status = "okay";
};

&u2phy1 {
	status = "okay";
};

&u2phy1_otg {
	status = "okay";
};

&usbdp_phy1 {
	status = "okay";
};

&usbdp_phy1_u3 {
	status = "okay";
};

&usbdp_phy0 {
	orientation-switch;
	mode-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_typec_ss: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&usbc0_ss>;
		};

		usbdp_phy0_typec_sbu: endpoint@1 {
			reg = <1>;
			remote-endpoint = <&usbc0_sbu>;
		};
	};
};

&usbdp_phy0_u3 {
	status = "okay";
};

&usb_host0_xhci {
	usb-role-switch;
	status = "okay";

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

		usb_host0_xhci_drd_sw: endpoint {
			remote-endpoint = <&usbc0_hs>;
		};
	};
};

&usb_host1_xhci {
	status = "okay";
};

&usb_host2_xhci {
	status = "okay";
};

&i2c4 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c4m1_xfer>;
	status = "okay";

	usbc0: usb-typec@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;
		interrupt-parent = <&gpio3>;
		interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&usbc0_int>;
		vbus-supply = <&vcc12v_dcin>;
		status = "okay";

		usb_con: connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			data-role = "dual";
			power-role = "sink";
			try-power-role = "sink";
			op-sink-microwatt = <1000000>;
			sink-pdos =
				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>,
				<PDO_VAR(5000, 20000, 5000)>;

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

				port@0 {
					reg = <0>;
					usbc0_hs: endpoint {
						remote-endpoint = <&usb_host0_xhci_drd_sw>;
					};
				};

				port@1 {
					reg = <1>;
					usbc0_ss: endpoint {
						remote-endpoint = <&usbdp_phy0_typec_ss>;
					};
				};

				port@2 {
					reg = <2>;
					usbc0_sbu: endpoint {
						remote-endpoint = <&usbdp_phy0_typec_sbu>;
					};
				};
			};
		};
	};
};
