]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00212232-02 USB:fix otg can not work without phy power if VBUS removed
authormake shi <b15407@freescale.com>
Mon, 4 Jun 2012 08:28:33 +0000 (16:28 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:34:47 +0000 (08:34 +0200)
commit5779f222ec110265a9ab90771325b6ef04b7ae69
tree7206fe360284c3d1629804f8aa7d05f0bcb2c507
parenteb2522d03a770489e08939476333eda02d2cc407
ENGR00212232-02 USB:fix otg can not work without phy power if VBUS removed

- There is no VBUS supply or not supply for USBPHY power 3p0,the USB mouse
  enumeration fail during the board booting with a USB mouse connected to
  otg port.During system booting ,some error message appear like below :
  "usb 1-1: device not accepting address 5, error -71
  hub 1-0:1.0: unable to enumerate USB device on port 1"
  The otg phy power is needed during normal USB transmitting ,the otg phy
  power should be on  before calling the usb_add_hcd. So should make sure
  usb_add_hcd is called after otg_set_host is called in usb_hcd_fsl_probe().
- Before switch the otg mode form Host mode to Device mode,we must call
  dr_discharge_line() to make sure no abnormal usb wakeup interrupt happen.
- Some user case ,the BM_USBPHY_CTRL_ENHOSTDISCONDETECT bit is cleared by
  mistake. For example,the otg port connect a extern USB hub and a USB device
  connected to the USB hub.Unplug the USB device,the Hub will enter auto suspend
  mode,then plug in the device, hub will auto resume by the device plug in ,the
  BM_USBPHY_CTRL_ENHOSTDISCONDETECT bit is cleared by mistake.So the function
  platform_set_disconnect_det() should be called after usb_disconnect.

Signed-off-by: make shi <b15407@freescale.com>
drivers/usb/core/hub.c
drivers/usb/host/ehci-arc.c
drivers/usb/otg/fsl_otg.c