On Wed, Mar 20, 2013 at 02:54:25PM +0200, Felipe Balbi wrote: > On Sun, Mar 17, 2013 at 08:23:20PM +0200, Grazvydas Ignotas wrote: > > I have a pandora board which has similar musb setup to beagleboard > > (OMAP3530 + TWL4030) and musb never worked well on it for me in mainline. > > Well it usually works if you plug the cable once, but as soon as you start > > replugging cables and mixing host adapter into the game it totally breaks > > and reboot is then needed. Host mode is especially broken, any replugs > > after musb has been in host mode result in dead port that needs reboot > > to recover. > > > > With this series I can switch host/peripheral cables any way I like and > > even suspend works with cable plugged with musb in peripheral mode! > > ("ARM: OMAP3: hwmod data: keep MIDLEMODE in force-standby for musb" is > > needed that was sent separately). This also fixes power drain when cable > > is plugged an no gadget driver is loaded. > > > > Changed since v1: > > - rebased on Felipe's testing branch > > - added locking for patch 4 to take care of possible races > > between work item and IRQ > > - changed patch 6 to only disable VBUS if not runtime suspended, > > otherwise we get data abort on OMAP3 > > > > Grazvydas Ignotas (7): > > usb: phy: twl4030-usb: don't enable PHY during init > > usb: phy: twl4030-usb: ignore duplicate events > > usb: phy: twl4030-usb: don't switch the phy on/off needlessly > > usb: phy: twl4030-usb: poll for ID disconnect > > usb: phy: twl4030-usb: check if vbus is driven by twl itself > > usb: musb: omap2430: turn off vbus on cable disconnect > > usb: musb: gadget: use platform callback to enable vbus > > since this falls into "has never worked before" I will apply them for > v3.10. If you have any objections, let me know. I have applied up to 'poll for ID disconnect'. Please rebase the others against my 'testing' branch once you update based on my comments. -- balbi