[PATCH 1/2] arm64: dts: imx8mp-evk: enable CBTU02043 for USB Type-C orientation switch
From: Peng Fan (OSS)
Date: Wed Aug 19 2026 - 10:54:04 EST
From: Peng Fan <peng.fan@xxxxxxx>
The imx8mp-evk board has a NXP CBTU02043 crossbar switch between the
USB Type-C connector and the ptn5110 TCPC. The CBTU02043 SEL pin
(GPIO4_IO20) is used by the ptn5110 orientation-gpios to detect the
CC orientation, but the switch must first be enabled by driving its
XSD (shutdown) pin low.
Add a gpio-hog on GPIO2_IO20 (MX8MP_IOMUXC_SD2_WP__GPIO2_IO20) to
hold the XSD pin low, keeping the CBTU02043 always enabled. Per the
datasheet, XSD is active-low: LOW for normal operation, HIGH for
shutdown (high impedance). Without this, the orientation switch does
not function as all paths through the crossbar are in high-Z state.
Also add a separate pinctrl_cbtu02043_xsd group for the XSD pin.
Fixes: 6e62bc736674 ("arm64: dts: imx8mp-evk: add typec node")
Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index 7bdd641292fb..dc3baeac5e3d 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -935,6 +935,17 @@ usb3_data_hs: endpoint {
};
};
+&gpio2 {
+ cbtu02043-xsd-hog {
+ gpio-hog;
+ gpios = <20 GPIO_ACTIVE_LOW>;
+ output-low;
+ line-name = "CBTU02043_XSD";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_cbtu02043_xsd>;
+ };
+};
+
&usb3_phy1 {
fsl,phy-tx-preemp-amp-tune-microamp = <1800>;
fsl,phy-tx-vref-tune-percent = <116>;
@@ -1021,6 +1032,12 @@ MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0xd6
>;
};
+ pinctrl_cbtu02043_xsd: cbtu02043xsdgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD2_WP__GPIO2_IO20 0x16
+ >;
+ };
+
pinctrl_csi_mclk: csi_mclk_grp {
fsl,pins = <
MX8MP_IOMUXC_GPIO1_IO15__CCM_CLKO2 0x50
--
2.51.0