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.