USB: Add driver for NXP ISP1301 USB transceiver
authorRoland Stigge <stigge@antcom.de>
Sun, 29 Apr 2012 14:47:04 +0000 (16:47 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 May 2012 17:33:02 +0000 (13:33 -0400)
commit8b7c3b68104d687a16dbcc803a18c72148fdfdac
treeae9a1f2807b6ca9b6fa7934f3e86bb8d52a75038
parent2265efea38c45ba42a4e483eee11740730f053d2
USB: Add driver for NXP ISP1301 USB transceiver

This new driver registers the NXP ISP1301 chip via the I2C subsystem.  The chip
is the USB transceiver shared by ohci-nxp, lpc32xx_udc (gadget) and
isp1301_omap.

ISP1301 is a very low-level driver that primarily separates out the I2C client
registration of the ISP1301 chip (including instantiation via DT), used by
other drivers, and declares the chip's registers. It's only a helper driver for
some OHCI and USB device drivers.  The driver can be considered as a register
set extension of ohci-nxp, lpc32xx-udc and isp1301_omap, which in turn know
best what to do with the low level functionality (individual ISP1301 registers
and timing, see the different initialization strategies in those drivers).
Those drivers previously internally duplicated ISP1301 register definitions
which is solved by this new isp1301 driver. The ISP1301 registers exposed via
isp1301.h can be accessed by other drivers using it with standard i2c_smbus_*()
accesses.

Following patches let the respective USB host and gadget drivers use this
driver, instead of duplicating ISP1301 handling.

Signed-off-by: Roland Stigge <stigge@antcom.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/usb/isp1301.txt [new file with mode: 0644]
drivers/usb/Kconfig
drivers/usb/Makefile
drivers/usb/phy/Kconfig [new file with mode: 0644]
drivers/usb/phy/Makefile [new file with mode: 0644]
drivers/usb/phy/isp1301.c [new file with mode: 0644]
include/linux/usb/isp1301.h [new file with mode: 0644]