]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commit
musb_hdrc: davinci
authorDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 9 Nov 2006 20:19:53 +0000 (22:19 +0200)
committerTony Lindgren <tony@atomide.com>
Thu, 9 Nov 2006 20:19:53 +0000 (22:19 +0200)
commit636fa27e047a8b5853076ad54660ed06de79fcf7
treed105bbdda4a48fb5751ccdb6b0d7023b5aa57e06
parent41416eec5b8957a7e4b43790ef76fcef565902a4
musb_hdrc: davinci

Update how DaVinci handles powering up VBUS, and make cable based role
switching work more or less as well as on TUSB6010.

  - Work around VBUS_ERROR IRQs triggering during enumeration, which
    seems to be a design botch from Mentor (TUSB 6010 has it too).

This is particularly nasty on the EVM (30 second delay) because
of differences between its RTL and the newer stuff in tusb6010.

  - Work around lack of ID change IRQ, a design botch in how the Mentor
    core was integrated into DaVinci.

This builds on the polling mechanism used to cope with VBUS
errors.  OTG devices will probe every few seconds until either
the ID pin grounds, or the device leaves B_IDLE.

  - Rename vbus_power() to source_power(), better matching its role.
    (DaVinci doesn't sink VBUS e.g. to charge batteries -- yet.)

  - Provide more complete tracing of IRQ events.

  - Provide a symbol for the DRVVBUS irq.

Basically, with this driver's core behaving better (thanks to OTG/host
updates for TUSB), the DaVinci stuff doesn't need to fight them so much;
and it's more clear when problems are in the core vs its integration.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
drivers/usb/musb/davinci.c
drivers/usb/musb/davinci.h
drivers/usb/musb/musb_gadget.c
drivers/usb/musb/plat_uds.c