Re: [PATCH 1/2] arm64: dts: imx8qm-mek: switch Type-C connector power-role to dual
From: Frank Li <Frank.li@nxp.com>
Date: 2026-03-23 18:16:24
Also in:
imx, linux-devicetree, lkml
On Mon, Mar 23, 2026 at 07:09:22PM +0800, Xu Yang wrote:
When attach to PC Type-A port, the USB device controller does not function at all. Because it is configured as source-only and a Type-A port doesn't support PD capability, a data role swap is impossible. Actually, PTN5110THQ is configured for DFP/Source role only at POR, but after POR it can operate as a DRP. By switching the power-role to dual, the port can operate as a sink and enter device mode when attached to Type-A port.
when first use term DFP/DRP, DFP (Downstream Facing Port) ... Except well known term, like POR.
Since the board design uses EN_SRC to control the 5V VBUS path and EN_SNK to control the 12V VBUS output,
I remember a hardware rework to fix this problem.
quoted hunk ↗ jump to hunk
to avoid outputting a higher VBUS when in sink role, we set the operation current limit to 0mA so that SW will not control EN_SNK at all. Signed-off-by: Xu Yang <xu.yang_2@nxp.com> --- arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts index dadc136aec6e..8a832a0e105d 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts@@ -611,9 +611,13 @@ ptn5110: tcpc@51 { usb_con1: connector { compatible = "usb-c-connector"; label = "USB-C"; - power-role = "source"; + power-role = "dual"; data-role = "dual"; + try-power-role = "sink"; source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; + sink-pdos = <PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)>; + op-sink-microwatt = <0>;
Need comment here. Frank
+ self-powered;
ports {
#address-cells = <1>;
--
2.34.1