diff options
author | Yunzhi Li <lyz@rock-chips.com> | 2015-12-17 11:14:26 -0800 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-12-22 11:51:45 -0600 |
commit | cebfdbf329ae929ccb71632888a7c2100c3d1eeb (patch) | |
tree | d1b535eb8b5c28a1c83bd822221d24066a0ed49d /drivers/usb/dwc2/platform.c | |
parent | 991824677fe0a555394d8093b64647dbd08b89b0 (diff) | |
download | op-kernel-dev-cebfdbf329ae929ccb71632888a7c2100c3d1eeb.zip op-kernel-dev-cebfdbf329ae929ccb71632888a7c2100c3d1eeb.tar.gz |
usb: dwc2: reset dwc2 core before dwc2_get_hwparams()
We initiate dwc2 usb controller in BIOS, dwc2_core_reset() should
be called before dwc2_get_hwparams() to reset core registers to
default value. Without this the FIFO setting might be incorrect
because calculating FIFO size need power-on value of
GRXFSIZ/GNPTXFSIZ/HPTXFSIZ registers.
This patch could avoid warnning massage like in rk3288 platform:
[ 2.074764] dwc2 ff580000.usb: 256 invalid for
host_perio_tx_fifo_size. Check HW configuration.
Signed-off-by: Yunzhi Li <lyz@rock-chips.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc2/platform.c')
-rw-r--r-- | drivers/usb/dwc2/platform.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c index 5df2adf..a72302d 100644 --- a/drivers/usb/dwc2/platform.c +++ b/drivers/usb/dwc2/platform.c @@ -456,6 +456,12 @@ static int dwc2_driver_probe(struct platform_device *dev) if (retval) return retval; + /* + * Reset before dwc2_get_hwparams() then it could get power-on real + * reset value form registers. + */ + dwc2_core_reset(hsotg); + /* Detect config values from hardware */ retval = dwc2_get_hwparams(hsotg); if (retval) |