Re: [PATCH RFC 0/2] usb: typec: qcom: Add shared USBIN VBUS detection via GPIO

From: Alexander Koskovich

Date: Wed Mar 11 2026 - 13:37:57 EST


On Wednesday, March 11th, 2026 at 10:53 AM, Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> wrote:

> On 08/03/2026 23:20, Alexander Koskovich wrote:
> > The ASUS ROG Phone 3 has two USB-C ports whose VBUS lines are both
> > wired to the single USBIN input on the PM8150B PMIC. This means the
> > Type-C port controller cannot distinguish which port is providing
> > VBUS, causing one port to be unusable when the other has VBUS present
> > from a charger or PC.
>
> Hrmm..
>
> If you have a GPIO for VBUS detect then who is sourcing VBUS in host mode ?
>
> There should be a GPIO to switch it on aswell ? And in this case both
> ports will become "hot" at the same time.

For the side port this is the PM8150B's internal OTG regulator which is gated
onto the connector with an external load switch controlled by GPIO 11
(downstream calls this POGO_OTG_EN).

For the bottom port there's an independent boost converter which is gated by
GPIO 71 (downstream calls this BTM_OTG_EN), and doesn't have anything to do
with the PM8150B OTG output.

For the ROG 3 I've modeled these in DTS as vreg_pm8150b_vbus & vreg_rt1715_vbus,
so they're the vbus-supply for each TCPM.

>
> How does VBUS work in host mode here ?

When a USB device is plugged into one port CC detection sees the phone as
source, and the OTG GPIO for the port is asserted to enable 5V.

The VBUS detect GPIO won't read as active for this since OTG power takes a
different path than the OVP ICs (2x BQ25968).

>

Also here's a link to the downstream driver for reference: https://github.com/LineageOS/android_kernel_asus_sm8250/blob/lineage-19.1/drivers/power/supply/qcom/smb5-lib.c

> ---
> bod
>
>