]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit75221fbc4c6cc6f079d50ac1ad08e1c11f4e47dd
treeae9a1f2807b6ca9b6fa7934f3e86bb8d52a75038
parent79202b256c019cbd3a042d33a0036d0d0a9b91f4
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]