• David Brownell's avatar
    [PATCH] USB: isp1301_omap driver (OTG core) · b61ffbfe
    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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
    b61ffbfe
isp1301_omap.c 40.7 KB