Re: [PATCH 0/3] usb: dwc3: support two connectors sharing one HS data bus

From: Konrad Dybcio

Date: Wed Oct 14 2026 - 07:16:16 EST


On 10/13/26 12:29 PM, Qianhui Xu wrote:
> From: Xu Qianhui <xiaqinghuan@xxxxxxxxxxxxxxxx>
>
> Some boards wire the High Speed data lines of a single DWC3 controller to
> two receptacles and select between them with a GPIO, while the SuperSpeed
> lanes stay per connector. This series makes such a design usable:
>
> - patch 1 documents "usb-psy-name", a property the dwc3 glue drivers
> already parse but which the bindings never described;
>
> - patch 2 describes the two-connector HS data path: "port-select-gpios"
> plus a "ports" node whose connector endpoints carry "mux-state" (the
> logical port-select level of that connector) and "usb-role-switch";
>
> - patch 3 adds the driver side: one role switch per connector, mutual
> arbitration between them, and a data-path switch performed after the
> previous host/gadget instance has been torn down.
>
> Single-connector designs are unaffected: the mux path is only taken when
> "port-select-gpios" is present.
>
> This work was developed on the Qualcomm SM8750 (Lenovo TB322FC) tablet;
> the board device tree is not upstream yet, so no in-tree user is switched
> over by this series.

This is an incredibly strange setup. Are you sure it's actually how it's
wired up?

Are there any hubs or other devices connected inline?

Konrad