Browse Source

USB: chipidea: delay 2ms before read ID status at probe time

The ID pin needs 1ms debounce time, even at probe time. We delay 2ms
to be on the safe side.

Tested-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Tested-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Richard Zhao 13 years ago
parent
commit
86ad01a907
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/usb/chipidea/core.c

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

@@ -462,6 +462,8 @@ static int __devinit ci_hdrc_probe(struct platform_device *pdev)
 
 	if (ci->roles[CI_ROLE_HOST] && ci->roles[CI_ROLE_GADGET]) {
 		ci->is_otg = true;
+		/* ID pin needs 1ms debouce time, we delay 2ms for safe */
+		mdelay(2);
 		ci->role = ci_otg_role(ci);
 	} else {
 		ci->role = ci->roles[CI_ROLE_HOST]