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

From: Roger Quadros
Date: Tue Mar 28 2023 - 08:43:54 EST


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

Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx>
---
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@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@0 {
+ reg = <0>;
+ usb_con_hs: endpoint {
+ remote-endpoint = <&usb0_hs_ep>;
+ };
+ };
+ };
+ };
+ };
+};
+
&main_i2c1 {
exp1: gpio@22 {
compatible = "ti,tca6424";
@@ -150,7 +179,7 @@ exp1: gpio@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@3fc0000 {
};
};
};
+
+&usb0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ usb-role-switch;
+
+ port@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