aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/dwc3/core.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 443e4fb9b8f3..6aa091339989 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -241,6 +241,15 @@ static int __devinit dwc3_core_init(struct dwc3 *dwc)
241 u32 reg; 241 u32 reg;
242 int ret; 242 int ret;
243 243
244 reg = dwc3_readl(dwc->regs, DWC3_GSNPSID);
245 /* This should read as U3 followed by revision number */
246 if ((reg & DWC3_GSNPSID_MASK) != 0x55330000) {
247 dev_err(dwc->dev, "this is not a DesignWare USB3 DRD Core\n");
248 ret = -ENODEV;
249 goto err0;
250 }
251 dwc->revision = reg & DWC3_GSNPSREV_MASK;
252
244 dwc3_core_soft_reset(dwc); 253 dwc3_core_soft_reset(dwc);
245 254
246 /* issue device SoftReset too */ 255 /* issue device SoftReset too */
@@ -260,16 +269,6 @@ static int __devinit dwc3_core_init(struct dwc3 *dwc)
260 cpu_relax(); 269 cpu_relax();
261 } while (true); 270 } while (true);
262 271
263 reg = dwc3_readl(dwc->regs, DWC3_GSNPSID);
264 /* This should read as U3 followed by revision number */
265 if ((reg & DWC3_GSNPSID_MASK) != 0x55330000) {
266 dev_err(dwc->dev, "this is not a DesignWare USB3 DRD Core\n");
267 ret = -ENODEV;
268 goto err0;
269 }
270
271 dwc->revision = reg & DWC3_GSNPSREV_MASK;
272
273 ret = dwc3_alloc_event_buffers(dwc, DWC3_EVENT_BUFFERS_NUM, 272 ret = dwc3_alloc_event_buffers(dwc, DWC3_EVENT_BUFFERS_NUM,
274 DWC3_EVENT_BUFFERS_SIZE); 273 DWC3_EVENT_BUFFERS_SIZE);
275 if (ret) { 274 if (ret) {