Re: [PATCH 2/7] dt-bindings: usb: dwc3: Add a gpio-usb-connector example

From: Stephen Boyd
Date: Thu Mar 19 2020 - 12:40:50 EST


Quoting Bryan O'Donoghue (2020-03-19 08:22:14)
> On 19/03/2020 01:08, Stephen Boyd wrote:
> >
> > Maybe it should be a virtual node at the root of the DT if it's GPIO
> > controlled? And then the phy can be connected to the usb connector
> > through the graph binding.
>
> Graph binding can probably work.
>
> Re: the PHY.
>
> For myself the hardware model is
>
> Connector -> PHY -> Host controller -> Host controller wrapper
>
> Only
>
> Connector -> Host controller -> Host controller wrapper
>
> care about the USB role though.
>
> If your PHY did care about the role, you'd really need to write a
> connector/phy type-c type driver, to detect the state and toggle your
> PHY bits before doing usb_role_switch_set_role() back to DWC3.
>

Yes some PHYs do care about the role. Sometimes they have to toggle some
bit to switch between host and gadget mode for example. I haven't fully
read this patch series but maybe the PHY can be the one that controls
the gpio for the connector?

We (ChromeOS) need to integrate the type-c connector class, etc. on
sc7180 with the dwc3 driver and the current thinking has the type-c
connectors underneath the cros_ec node because the EC is the type-c
manager. The EC will have a type-c driver associated with it.