diff mbox series

[3/4] usb: chipidea: pull down dp for possible charger detection operation

Message ID 20200427095039.3833-3-peter.chen@kernel.org (mailing list archive)
State Mainlined
Commit 5523f06a19502d08449c1e6ca7e33bfc860f6059
Headers show
Series [1/4] usb: chipidea: introduce CI_HDRC_CONTROLLER_VBUS_EVENT glue layer use | expand

Commit Message

Peter Chen April 27, 2020, 9:50 a.m. UTC
From: Peter Chen <peter.chen@nxp.com>

The bootloader may use device mode, and keep dp up. We need dp
to be pulled down before possbile charger detection operation.

Signed-off-by: Peter Chen <peter.chen@nxp.com>
---
 drivers/usb/chipidea/core.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index ea8ac4a54a8d..804c0a5a213b 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -1123,8 +1123,11 @@  static int ci_hdrc_probe(struct platform_device *pdev)
 
 	if (!ci_otg_is_fsm_mode(ci)) {
 		/* only update vbus status for peripheral */
-		if (ci->role == CI_ROLE_GADGET)
+		if (ci->role == CI_ROLE_GADGET) {
+			/* Pull down DP for possible charger detection */
+			hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
 			ci_handle_vbus_change(ci);
+		}
 
 		ret = ci_role_start(ci, ci->role);
 		if (ret) {