[PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0

Roger Quadros rogerq at kernel.org
Tue Mar 28 05:43:15 PDT 2023


USB0 is a Type-C port with dual data role and power sink.

Signed-off-by: Roger Quadros <rogerq at kernel.org>
---
 arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts      |  4 ++
 arch/arm64/boot/dts/ti/k3-am625-sk.dts        | 44 ++++++++++++++++++-
 .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  4 --
 3 files changed, 47 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
index b2ca19e3042e..a3c3609833fd 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
@@ -225,3 +225,7 @@ ldo4_reg: ldo4 {
 		};
 	};
 };
+
+&usb0 {
+	dr_mode = "peripheral";
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
index cdc0858dd1b2..13fdaa9ce4e7 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
@@ -136,6 +136,35 @@ AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
 	};
 };
 
+&main_i2c0 {
+	typec_pd: tps6598x at 3f {
+		compatible = "ti,tps6598x";
+		reg = <0x3f>;
+		interrupt-parent = <&exp1>;
+		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
+		interrupt-names = "irq";
+
+		connector {
+			compatible = "usb-c-connector";
+			label = "USB-C";
+			self-powered;
+			data-role = "dual";
+			power-role = "sink";
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port at 0 {
+					reg = <0>;
+					usb_con_hs: endpoint {
+						remote-endpoint = <&usb0_hs_ep>;
+					};
+				};
+			};
+		};
+	};
+};
+
 &main_i2c1 {
 	exp1: gpio at 22 {
 		compatible = "ti,tca6424";
@@ -150,7 +179,7 @@ exp1: gpio at 22 {
 				   "UART1_FET_BUF_EN", "WL_LT_EN",
 				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
 				   "CSI_GPIO2", "PRU_3V3_EN",
-				   "HDMI_INTn", "TEST_GPIO2",
+				   "HDMI_INTn", "PD_I2C_IRQ",
 				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
 				   "MCASP1_FET_SEL", "UART1_FET_SEL",
 				   "TSINT#", "IO_EXP_TEST_LED";
@@ -256,3 +285,16 @@ partition at 3fc0000 {
 		};
 	};
 };
+
+&usb0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	usb-role-switch;
+
+	port at 0 {
+		reg = <0>;
+		usb0_hs_ep: endpoint {
+		    remote-endpoint = <&usb_con_hs>;
+	       };
+	};
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index 80e8b9b9a5f5..e3223088b90c 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -264,10 +264,6 @@ &usbss1 {
 	ti,vbus-divider;
 };
 
-&usb0 {
-	dr_mode = "peripheral";
-};
-
 &usb1 {
 	dr_mode = "host";
 	pinctrl-names = "default";
-- 
2.34.1




More information about the linux-arm-kernel mailing list