summaryrefslogtreecommitdiff
path: root/drivers/usb/chipidea/core.c
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@nxp.com>2018-10-22 16:20:02 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:34:48 +0800
commit7356c99576ddff45070ab57850e60c3bd7b16e77 (patch)
tree4cfb37801e5993e59ac76a7ff1634ad08074c767 /drivers/usb/chipidea/core.c
parente0a8e75896ed7991c5240c75b514f92e59833c1d (diff)
MLK-20011-2 usb: chipidea: delete DP pullup for secondary charger detection
Since the DP pullup can be finished at glue layer, we can delete it at common code, but we still need to keep DP pulldown operation since the DP may have already pulled up before. Reviewed-by: Jun Li <jun.li@nxp.com> Signed-off-by: Peter Chen <peter.chen@nxp.com>
Diffstat (limited to 'drivers/usb/chipidea/core.c')
-rw-r--r--drivers/usb/chipidea/core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index 7d8002d92249..67f6e3b44669 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -1095,8 +1095,11 @@ static int ci_hdrc_probe(struct platform_device *pdev)
ci->role = ci_get_role(ci);
/* only update vbus status for peripheral */
- if (ci->role == CI_ROLE_GADGET)
+ if (ci->role == CI_ROLE_GADGET) {
+ /* Let DP pull down if it isn't currently */
+ hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
ci_handle_vbus_connected(ci);
+ }
if (!ci_otg_is_fsm_mode(ci)) {
ret = ci_role_start(ci, ci->role);