usb: chipidea: pull down dp for possible charger detection operation
authorPeter Chen <peter.chen@nxp.com>
Mon, 10 Feb 2020 10:46:27 +0000 (18:46 +0800)
committerPeter Chen <peter.chen@nxp.com>
Wed, 6 May 2020 01:42:21 +0000 (09:42 +0800)
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

index ea8ac4a..804c0a5 100644 (file)
@@ -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) {