瀏覽代碼

usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started

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>
Nicolas Adell 7 年之前
父節點
當前提交
1dedbdf2bb
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/usb/chipidea/usbmisc_imx.c

+ 2 - 0
drivers/usb/chipidea/usbmisc_imx.c

@@ -343,6 +343,8 @@ static int usbmisc_imx6q_init(struct imx_usbmisc_data *data)
 	} else if (data->oc_polarity == 1) {
 	} else if (data->oc_polarity == 1) {
 		/* High active */
 		/* High active */
 		reg &= ~(MX6_BM_OVER_CUR_DIS | MX6_BM_OVER_CUR_POLARITY);
 		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);
 	writel(reg, usbmisc->base + data->index * 4);