Skip to content

Commit

Permalink
usb: dwc2: Add msleep for host-only
Browse files Browse the repository at this point in the history
Although a host-only controller should not have any associated delay,
some rockchip SOC platforms will not show the correct host-values of
registers until after a delay.

So add a 50 ms sleep when in host-only mode.

Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
  • Loading branch information
Heiko Stuebner authored and Felipe Balbi committed Oct 17, 2016
1 parent d889c23 commit a07ce8d
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion drivers/usb/dwc2/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -463,9 +463,18 @@ static void dwc2_clear_force_mode(struct dwc2_hsotg *hsotg)
*/
void dwc2_force_dr_mode(struct dwc2_hsotg *hsotg)
{
bool ret;

switch (hsotg->dr_mode) {
case USB_DR_MODE_HOST:
dwc2_force_mode(hsotg, true);
ret = dwc2_force_mode(hsotg, true);
/*
* NOTE: This is required for some rockchip soc based
* platforms on their host-only dwc2.
*/
if (!ret)
msleep(50);

break;
case USB_DR_MODE_PERIPHERAL:
dwc2_force_mode(hsotg, false);
Expand Down

0 comments on commit a07ce8d

Please sign in to comment.