Many OTG related issues are resolved in the incoming release of scu fw version c047. This patchset works with c047 fw and address the following bugs:
[Bug 8188] USB OTG Driver runtime suspend/resume fail ... Micro USB plug and play not happening and system is hanging when we type lsusb 6678 [ACER FF] plugging USB keyboard in when not in the "terminal" app freezes tablet 7196 USB devices are intermittently working on Acer B1 system 7245 The system gets hanged if Micro-A cable is connected to OTG port 7265 The Tablet is switched off, if USB mobile hard disk is hot plugged 8567 Specifically, the following issues has been fixed: 1. otg controller no long showing incorrect b_session_valid status at boot if DC charger is plugged in. otg driver now has a consistent state machine that follows the otg specification. 2. avoid system hangs when hotplugging micro A or B cable. scu fw does un-clockgating when otg is suspended in d0i2. 3. switching from b_idle to a_host mode used to have vbus rise timeout, which results in a_wait_vrise timeout and vbus error. this problem is not present on c047 fw. Verified the following scenarios: 1. w/ DC charger or on battery 2. boot w/ or w/o b-cable 3. boot w/ or w/o a-cable with device 4. plug/unplug usb keyboard 5. plug/unplug to host pc as CDC composite gadget, tested traffic via ethernet (ssh, scp 140MB file, ping etc.) 6. as host controller, do usb keyboard autosuspend and remote wake up. Kernel config options needed to turn on gadget feature 1. updater needs ethernet gadget supported by CONFIG_USB_CDC_COMPOSITE 2. mtp needs functionfs supported by CONFIG_USB_FUNCTIONFS They can be loaded at the same time. Warning: apply these patches without c047 scu fw causes system hang in otg hotplug. < CONFIG_USB_GADGET=y < CONFIG_USB_GADGET_VBUS_DRAW=2 < CONFIG_USB_GADGET_SELECTED=y < CONFIG_USB_GADGET_LANGWELL=y < CONFIG_USB_LANGWELL=y < CONFIG_USB_GADGET_DUALSPEED=y < CONFIG_USB_ETH_RNDIS=y < CONFIG_USB_FUNCTIONFS=m < CONFIG_USB_FUNCTIONFS_ETH=y < CONFIG_USB_FUNCTIONFS_RNDIS=y < CONFIG_USB_CDC_COMPOSITE=m Jacob Pan (5): usb/otg/langwell: ignore data pulse interrupt x86/pci/mrst: mark otg runwake x86/mrst/pci: assign d3_delay to 0 for langwell devices Revert "linux-2.6.37-otg-threaded-irq" usb/otg/lanwell: balance runtime pm and misc clean ups arch/x86/pci/mrst.c | 15 +++++++++++++++ drivers/usb/gadget/langwell_udc.c | 14 ++++++-------- drivers/usb/otg/langwell_otg.c | 19 ++++++------------- include/linux/usb/langwell_otg.h | 2 +- 4 files changed, 28 insertions(+), 22 deletions(-) _______________________________________________ MeeGo-kernel mailing list MeeGo-kernel@lists.meego.com http://lists.meego.com/listinfo/meego-kernel