Commit a406bfda authored by Peter Robinson's avatar Peter Robinson Committed by Heiko Stuebner
Browse files

arm64: dts: rockchip: Add USB-C port details for rk3399 Firefly



Add the initial details for the USB-C port.

Signed-off-by: default avatarPeter Robinson <pbrobinson@gmail.com>
Link: https://lore.kernel.org/r/20210613215237.830160-4-pbrobinson@gmail.com


Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
parent 5768c5ff
Loading
Loading
Loading
Loading
+85 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
/dts-v1/;
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/usb/pd.h>
#include "rk3399.dtsi"
#include "rk3399-opp.dtsi"

@@ -220,6 +221,17 @@ vcc5v0_host: vcc5v0-host-regulator {
		vin-supply = <&vcc_sys>;
	};

	vcc5v0_typec: vcc5v0-typec-regulator {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc5v0_typec_en>;
		regulator-name = "vcc5v0_typec";
		regulator-always-on;
		vin-supply = <&vcc_sys>;
	};

	vcc_sys: vcc-sys {
		compatible = "regulator-fixed";
		regulator-name = "vcc_sys";
@@ -545,6 +557,53 @@ &i2c4 {
	i2c-scl-falling-time-ns = <20>;
	status = "okay";

	fusb0: typec-portc@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;
		interrupt-parent = <&gpio1>;
		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&fusb0_int>;
		vbus-supply = <&vcc5v0_typec>;
		status = "okay";

		connector {
			compatible = "usb-c-connector";
			data-role = "host";
			label = "USB-C";
			op-sink-microwatt = <1000000>;
			power-role = "dual";
			sink-pdos =
				<PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
			source-pdos =
				<PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
			try-power-role = "sink";

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

				port@0 {
					reg = <0>;

					usbc_hs: endpoint {
						remote-endpoint =
							<&u2phy0_typec_hs>;
					};
				};

				port@1 {
					reg = <1>;

					usbc_ss: endpoint {
						remote-endpoint =
							<&tcphy0_typec_ss>;
					};
				};
			};
		};
	};

	accelerometer@68 {
		compatible = "invensense,mpu6500";
		reg = <0x68>;
@@ -602,6 +661,12 @@ pwrbtn: pwrbtn {
		};
	};

	fusb302x {
		fusb0_int: fusb0-int {
			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	ir {
		ir_int: ir-int {
			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
@@ -660,6 +725,12 @@ wifi_enable_h: wifi-enable-h {
		};
	};

	usb-typec {
		vcc5v0_typec_en: vcc5v0_typec_en {
			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	usb2 {
		vcc5v0_host_en: vcc5v0-host-en {
			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
@@ -753,6 +824,14 @@ &tcphy0 {
	status = "okay";
};

&tcphy0_usb3 {
	port {
		tcphy0_typec_ss: endpoint {
			remote-endpoint = <&usbc_ss>;
		};
	};
};

&tcphy1 {
	status = "okay";
};
@@ -776,6 +855,12 @@ u2phy0_host: host-port {
		phy-supply = <&vcc5v0_host>;
		status = "okay";
	};

	port {
		u2phy0_typec_hs: endpoint {
			remote-endpoint = <&usbc_hs>;
		};
	};
};

&u2phy1 {