diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/gadget/fsl_qe_udc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c index 064582fb6a87..1319f8f7acba 100644 --- a/drivers/usb/gadget/fsl_qe_udc.c +++ b/drivers/usb/gadget/fsl_qe_udc.c | |||
@@ -2452,8 +2452,12 @@ static int __devinit qe_udc_reg_init(struct qe_udc *udc) | |||
2452 | struct usb_ctlr __iomem *qe_usbregs; | 2452 | struct usb_ctlr __iomem *qe_usbregs; |
2453 | qe_usbregs = udc->usb_regs; | 2453 | qe_usbregs = udc->usb_regs; |
2454 | 2454 | ||
2455 | /* Init the usb register */ | 2455 | /* Spec says that we must enable the USB controller to change mode. */ |
2456 | out_8(&qe_usbregs->usb_usmod, 0x01); | 2456 | out_8(&qe_usbregs->usb_usmod, 0x01); |
2457 | /* Mode changed, now disable it, since muram isn't initialized yet. */ | ||
2458 | out_8(&qe_usbregs->usb_usmod, 0x00); | ||
2459 | |||
2460 | /* Initialize the rest. */ | ||
2457 | out_be16(&qe_usbregs->usb_usbmr, 0); | 2461 | out_be16(&qe_usbregs->usb_usbmr, 0); |
2458 | out_8(&qe_usbregs->usb_uscom, 0); | 2462 | out_8(&qe_usbregs->usb_uscom, 0); |
2459 | out_be16(&qe_usbregs->usb_usber, USBER_ALL_CLEAR); | 2463 | out_be16(&qe_usbregs->usb_usber, USBER_ALL_CLEAR); |