-
David Brownell authored
This adds the isp1301_omap driver, supporting USB OTG on OMAP systems. The driver tightly couples two different chunks of hardware, which are used to implement the OTG protocols: - The Philips ISP1301 OTG transceiver (an I2C device) senses voltage levels and sources VBUS current in the A-Device roles. - OMAP's OTG controller handles lots of OTG transitions, and tells the transceiver what to do. The driver implements the abstract "otg_transceiver" API, since it's got to talk to both the host controller (OHCI on current OMAPs) and the peripheral controller (omap_udc) while hiding a variety of implementation details. It should be easy to tweak to work on other OMAP boards using the isp1301 chip; OMAP boards with other transceivers, or non-OMAP boards using isp1301, will probably find things to learn from. Note that this also supports two non-OTG modes, with the OTG controller disabled; very handy for debugging just the host side USB stack, or just the peripheral side USB stack. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
b61ffbfe