Commit b61ffbfe authored by David Brownell's avatar David Brownell Committed by Greg Kroah-Hartman

[PATCH] USB: isp1301_omap driver (OTG core)

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>
parent f0a233c0
......@@ -299,4 +299,16 @@ config SENSORS_RTC8564
This driver can also be built as a module. If so, the module
will be called i2c-rtc8564.
config ISP1301_OMAP
tristate "Philips ISP1301 with OMAP OTG"
depends on I2C && ARCH_OMAP_OTG
help
If you say yes here you get support for the Philips ISP1301
USB-On-The-Go transceiver working with the OMAP OTG controller.
The ISP1301 is used in products including H2 and H3 development
boards for Texas Instruments OMAP processors.
This driver can also be built as a module. If so, the module
will be called isp1301_omap.
endmenu
......@@ -29,7 +29,9 @@ obj-$(CONFIG_SENSORS_RTC8564) += rtc8564.o
obj-$(CONFIG_SENSORS_SMSC47M1) += smsc47m1.o
obj-$(CONFIG_SENSORS_VIA686A) += via686a.o
obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o
obj-$(CONFIG_ISP1301_OMAP) += isp1301_omap.o
ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
EXTRA_CFLAGS += -DDEBUG
endif
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment