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>
Showing
Please register or sign in to comment