]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started
authorNicolas Adell <nicolas.adell@actia.fr>
Mon, 27 Aug 2018 13:59:56 +0000 (15:59 +0200)
committerPeter Chen <peter.chen@nxp.com>
Thu, 20 Sep 2018 09:04:21 +0000 (17:04 +0800)
When initializing the USB subsystem before starting the kernel,
OTG overcurrent detection is disabled. In case the OTG polarity of
overcurrent is low active, the overcurrent detection is never enabled
again and events cannot be reported as expected. Because imx usb
overcurrent polarity is low active by default, only detection needs
to be enable in usbmisc init function.

Signed-off-by: Nicolas Adell <nicolas.adell@actia.fr>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
drivers/usb/chipidea/usbmisc_imx.c

index 34ad5bf8acd8d0ee58cba9c1a5efadace009b9a0..424ecb1f003feb1f8e6cdc01b12d6277f85326f7 100644 (file)
@@ -343,6 +343,8 @@ static int usbmisc_imx6q_init(struct imx_usbmisc_data *data)
        } else if (data->oc_polarity == 1) {
                /* High active */
                reg &= ~(MX6_BM_OVER_CUR_DIS | MX6_BM_OVER_CUR_POLARITY);
+       } else {
+               reg &= ~(MX6_BM_OVER_CUR_DIS);
        }
        writel(reg, usbmisc->base + data->index * 4);