[PATCH 0/2] arm64: dts: imx8mp: fix USB Type-C CBTU02043 orientation switch handling
From: Peng Fan (OSS)
Date: Wed Aug 19 2026 - 10:53:52 EST
The NXP CBTU02043 crossbar switch on i.MX8MP boards is used solely for
USB Type-C orientation switching, not for SBU signal muxing. This series
fixes its handling on both the imx8mp-evk and imx8mp-ultra-mach-sbc
boards.
The CBTU02043 has two control pins:
- SEL (select): controls the crossbar orientation, directly driven by
the ptn5110 TCPC via orientation-gpios.
- XSD (shutdown): active-low enable pin. Must be held LOW for normal
operation. Directly connected to a GPIO without external pull
resistors, so it must be explicitly driven low.
Patch 1 (imx8mp-evk): The existing DTS only had orientation-gpios on
the ptn5110 but did not drive the XSD pin, leaving the CBTU02043 in
high-Z shutdown state. Add a gpio-hog to hold XSD low, enabling the
crossbar switch.
Patch 2 (imx8mp-ultra-mach-sbc): The existing DTS incorrectly used
the gpio-sbu-mux driver for what is purely an orientation switch.
Additionally, the enable-gpios polarity was wrong (GPIO_ACTIVE_HIGH
instead of GPIO_ACTIVE_LOW for the active-low XSD pin). Replace the
gpio-sbu-mux node with orientation-gpios on ptn5110 plus a gpio-hog
for XSD.
I also give a look on i.MX8QXP/QM-MEK, but not easy to use
gpio-hog for the i2c gpio expander because there are potential
probe order issue.
Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---
Peng Fan (2):
arm64: dts: imx8mp-evk: enable CBTU02043 for USB Type-C orientation switch
arm64: dts: imx8mp-ultra-mach-sbc: fix CBTU02043 USB Type-C orientation switch
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 17 ++++++++
.../boot/dts/freescale/imx8mp-ultra-mach-sbc.dts | 47 ++++++++--------------
2 files changed, 34 insertions(+), 30 deletions(-)
---
base-commit: 4477a78374a57c3809b172ad30cceabda48c47c6
change-id: 20260817-imx8m-typec-d4a45408e81d
Best regards,
--
Peng Fan <peng.fan@xxxxxxx>