Add support for using a MAX3421E chip as a host driver.

Signed-off-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
David Mosberger 2014-04-28 22:14:07 -06:00 committed by Greg Kroah-Hartman
parent c6a64de08e
commit 2d53139f31
5 changed files with 1973 additions and 0 deletions

View File

@ -28,6 +28,7 @@ obj-$(CONFIG_USB_IMX21_HCD) += host/
obj-$(CONFIG_USB_FSL_MPH_DR_OF) += host/
obj-$(CONFIG_USB_FUSBH200_HCD) += host/
obj-$(CONFIG_USB_FOTG210_HCD) += host/
obj-$(CONFIG_USB_MAX3421_HCD) += host/
obj-$(CONFIG_USB_C67X00_HCD) += c67x00/

View File

@ -342,6 +342,17 @@ config USB_FOTG210_HCD
To compile this driver as a module, choose M here: the
module will be called fotg210-hcd.
config USB_MAX3421_HCD
tristate "MAX3421 HCD (USB-over-SPI) support"
depends on USB && SPI
---help---
The Maxim MAX3421E chip supports standard USB 2.0-compliant
full-speed devices either in host or peripheral mode. This
driver supports the host-mode of the MAX3421E only.
To compile this driver as a module, choose M here: the module will
be called max3421-hcd.
config USB_OHCI_HCD
tristate "OHCI HCD (USB 1.1) support"
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3

View File

@ -70,3 +70,4 @@ obj-$(CONFIG_USB_HCD_BCMA) += bcma-hcd.o
obj-$(CONFIG_USB_HCD_SSB) += ssb-hcd.o
obj-$(CONFIG_USB_FUSBH200_HCD) += fusbh200-hcd.o
obj-$(CONFIG_USB_FOTG210_HCD) += fotg210-hcd.o
obj-$(CONFIG_USB_MAX3421_HCD) += max3421-hcd.o

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
/*
* Copyright (c) 2014 eGauge Systems LLC
* Contributed by David Mosberger-Tang <davidm@egauge.net>
*
* Platform-data structure for MAX3421 USB HCD driver.
*
*/
#ifndef MAX3421_HCD_PLAT_H_INCLUDED
#define MAX3421_HCD_PLAT_H_INCLUDED
/*
* This structure defines the mapping of certain auxiliary functions to the
* MAX3421E GPIO pins. The chip has eight GP inputs and eight GP outputs.
* A value of 0 indicates that the pin is not used/wired to anything.
*
* At this point, the only control the max3421-hcd driver cares about is
* to control Vbus (5V to the peripheral).
*/
struct max3421_hcd_platform_data {
u8 vbus_gpout; /* pin controlling Vbus */
};
#endif /* MAX3421_HCD_PLAT_H_INCLUDED */