Re: About the DRD mode implementation of DWC3 driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 09, 2014 at 02:08:32PM +0800, Wang, Yu wrote:
> Hi Balbi,
> 
> Glad to see the OTG mode is prepare to support in your dwc3-role-switch
> branch. But it is not fit for intel Merrfield/Moorfield platforms. :(
> 
> The reason is we implemented DRD mode instead of OTG mode. So the
> GCTL.PortCapDir will be set as 01 for host mode, and 10 for device mode.
> 
> And the most important thing is we implemented two low power states for
> dwc3 controller. D0i3hot and D0i3cold.
> 
> If no cable connected, we will trigger D0i3cold which will power gate
> every clock/power used by dwc3 controller.
> 
> And entering D0i3hot with hibernation mode when acting as host mode
> (micro A cable connected), also during device mode(micro B cable connected
> to PC host).
> 
> For ID/VBus detection, we are using PMIC to do detect. So we will also
> power gate the USB PHY for D0i3cold.
> 
> When we plug in micro A/B cable, the PMIC will report the ID/VBus change
> event, then driver will force controller resume to D0 from D0i3cold. Due
> to we haven't do any backup before entering D0i3cold, so we have to
> re-initialize all host/device portion registers with setting
> GCTL.PortCapDir to 01 or 10.
> 
> So with this PM design and DRD mode, we can't use your OTG mode. :(
> I want to get your suggestions for DRD mode of dwc3 driver.

Why do you insist in tell role switching and PM are part of same thing?
It's my understanding we need to implement proper pm runtime callbacks
for D0i3* and leave role switching alone.
We can make proper calls of pm runtime from phy driver to control PM
state of dwc3 (for D0i3cold).

Br, David

> 
> We add DRD support based on your otg.c or create new file drd.c?
> 
> Thanks
> Yu
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux