summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorRobert Baldyga <r.baldyga@samsung.com>2015-02-23 15:58:30 +0100
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:42:15 +0900
commit148de8edec895faa358dbab18c5c74208cd7512a (patch)
tree3c085478fb906cd14840c0cb957e7b6ef154d820 /drivers/usb
parent2d2f29b2686fd819584b6bc9ac6d6530dd6b7c2d (diff)
LOCAL / dwc3: core: fix SUSPHY problem
This is needed for OTG mode. Without this change endpoint enabling in gadget mode fails after role switching. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/dwc3/core.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 5995dcabcefc..c6ee9cba6ab3 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -113,6 +113,14 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc)
reg &= ~DWC3_GCTL_CORESOFTRESET;
dwc3_writel(dwc->regs, DWC3_GCTL, reg);
+ reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
+ reg &= ~DWC3_GUSB2PHYCFG_SUSPHY;
+ dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
+
+ reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));
+ reg &= ~DWC3_GUSB3PIPECTL_SUSPHY;
+ dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg);
+
return 0;
}