All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: dts: imx8mp: fix USB Type-C CBTU02043 orientation switch handling
@ 2026-08-19 14:51 Peng Fan (OSS)
  2026-08-19 14:51 ` [PATCH 1/2] arm64: dts: imx8mp-evk: enable CBTU02043 for USB Type-C orientation switch Peng Fan (OSS)
  2026-08-19 14:51 ` [PATCH 2/2] arm64: dts: imx8mp-ultra-mach-sbc: fix CBTU02043 " Peng Fan (OSS)
  0 siblings, 2 replies; 6+ messages in thread
From: Peng Fan (OSS) @ 2026-08-19 14:51 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Frank Li,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Xu Yang,
	Goran Rađenović, Börge Strümpfel
  Cc: devicetree, imx, linux-arm-kernel, linux-kernel, Peng Fan

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@nxp.com>
---
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@nxp.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-08-19 15:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-19 14:51 [PATCH 0/2] arm64: dts: imx8mp: fix USB Type-C CBTU02043 orientation switch handling Peng Fan (OSS)
2026-08-19 14:51 ` [PATCH 1/2] arm64: dts: imx8mp-evk: enable CBTU02043 for USB Type-C orientation switch Peng Fan (OSS)
2026-08-19 15:04   ` sashiko-bot
2026-08-19 15:33     ` Frank Li
2026-08-19 14:51 ` [PATCH 2/2] arm64: dts: imx8mp-ultra-mach-sbc: fix CBTU02043 " Peng Fan (OSS)
2026-08-19 15:06   ` sashiko-bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.