|
@@ -85,6 +85,13 @@ config USB_GADGET_SELECTED
|
|
|
#
|
|
|
# USB Peripheral Controller Support
|
|
|
#
|
|
|
+# The order here is alphabetical, except that integrated controllers go
|
|
|
+# before discrete ones so they will be the initial/default value:
|
|
|
+# - integrated/SOC controllers first
|
|
|
+# - licensed IP used in both SOC and discrete versions
|
|
|
+# - discrete ones (including all PCI-only controllers)
|
|
|
+# - debug/dummy gadget+hcd is last.
|
|
|
+#
|
|
|
choice
|
|
|
prompt "USB Peripheral Controller"
|
|
|
depends on USB_GADGET
|
|
@@ -94,26 +101,27 @@ choice
|
|
|
Many controller drivers are platform-specific; these
|
|
|
often need board-specific hooks.
|
|
|
|
|
|
-config USB_GADGET_AMD5536UDC
|
|
|
- boolean "AMD5536 UDC"
|
|
|
- depends on PCI
|
|
|
- select USB_GADGET_DUALSPEED
|
|
|
+#
|
|
|
+# Integrated controllers
|
|
|
+#
|
|
|
+
|
|
|
+config USB_GADGET_AT91
|
|
|
+ boolean "Atmel AT91 USB Device Port"
|
|
|
+ depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9
|
|
|
+ select USB_GADGET_SELECTED
|
|
|
help
|
|
|
- The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge.
|
|
|
- It is a USB Highspeed DMA capable USB device controller. Beside ep0
|
|
|
- it provides 4 IN and 4 OUT endpoints (bulk or interrupt type).
|
|
|
- The UDC port supports OTG operation, and may be used as a host port
|
|
|
- if it's not being used to implement peripheral or OTG roles.
|
|
|
+ Many Atmel AT91 processors (such as the AT91RM2000) have a
|
|
|
+ full speed USB Device Port with support for five configurable
|
|
|
+ endpoints (plus endpoint zero).
|
|
|
|
|
|
Say "y" to link the driver statically, or "m" to build a
|
|
|
- dynamically linked module called "amd5536udc" and force all
|
|
|
+ dynamically linked module called "at91_udc" and force all
|
|
|
gadget drivers to also be dynamically linked.
|
|
|
|
|
|
-config USB_AMD5536UDC
|
|
|
+config USB_AT91
|
|
|
tristate
|
|
|
- depends on USB_GADGET_AMD5536UDC
|
|
|
+ depends on USB_GADGET_AT91
|
|
|
default USB_GADGET
|
|
|
- select USB_GADGET_SELECTED
|
|
|
|
|
|
config USB_GADGET_ATMEL_USBA
|
|
|
boolean "Atmel USBA"
|
|
@@ -150,28 +158,50 @@ config USB_FSL_USB2
|
|
|
default USB_GADGET
|
|
|
select USB_GADGET_SELECTED
|
|
|
|
|
|
-config USB_GADGET_NET2280
|
|
|
- boolean "NetChip 228x"
|
|
|
- depends on PCI
|
|
|
- select USB_GADGET_DUALSPEED
|
|
|
+config USB_GADGET_LH7A40X
|
|
|
+ boolean "LH7A40X"
|
|
|
+ depends on ARCH_LH7A40X
|
|
|
help
|
|
|
- NetChip 2280 / 2282 is a PCI based USB peripheral controller which
|
|
|
- supports both full and high speed USB 2.0 data transfers.
|
|
|
-
|
|
|
- It has six configurable endpoints, as well as endpoint zero
|
|
|
- (for control transfers) and several endpoints with dedicated
|
|
|
- functions.
|
|
|
+ This driver provides USB Device Controller driver for LH7A40x
|
|
|
+
|
|
|
+config USB_LH7A40X
|
|
|
+ tristate
|
|
|
+ depends on USB_GADGET_LH7A40X
|
|
|
+ default USB_GADGET
|
|
|
+ select USB_GADGET_SELECTED
|
|
|
+
|
|
|
+config USB_GADGET_OMAP
|
|
|
+ boolean "OMAP USB Device Controller"
|
|
|
+ depends on ARCH_OMAP
|
|
|
+ select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
|
|
|
+ help
|
|
|
+ Many Texas Instruments OMAP processors have flexible full
|
|
|
+ speed USB device controllers, with support for up to 30
|
|
|
+ endpoints (plus endpoint zero). This driver supports the
|
|
|
+ controller in the OMAP 1611, and should work with controllers
|
|
|
+ in other OMAP processors too, given minor tweaks.
|
|
|
|
|
|
Say "y" to link the driver statically, or "m" to build a
|
|
|
- dynamically linked module called "net2280" and force all
|
|
|
+ dynamically linked module called "omap_udc" and force all
|
|
|
gadget drivers to also be dynamically linked.
|
|
|
|
|
|
-config USB_NET2280
|
|
|
+config USB_OMAP
|
|
|
tristate
|
|
|
- depends on USB_GADGET_NET2280
|
|
|
+ depends on USB_GADGET_OMAP
|
|
|
default USB_GADGET
|
|
|
select USB_GADGET_SELECTED
|
|
|
|
|
|
+config USB_OTG
|
|
|
+ boolean "OTG Support"
|
|
|
+ depends on USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD
|
|
|
+ help
|
|
|
+ The most notable feature of USB OTG is support for a
|
|
|
+ "Dual-Role" device, which can act as either a device
|
|
|
+ or a host. The initial role choice can be changed
|
|
|
+ later, when two dual-role devices talk to each other.
|
|
|
+
|
|
|
+ Select this only if your OMAP board has a Mini-AB connector.
|
|
|
+
|
|
|
config USB_GADGET_PXA25X
|
|
|
boolean "PXA 25x or IXP 4xx"
|
|
|
depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX
|
|
@@ -203,34 +233,6 @@ config USB_PXA25X_SMALL
|
|
|
default y if USB_ETH
|
|
|
default y if USB_G_SERIAL
|
|
|
|
|
|
-config USB_GADGET_M66592
|
|
|
- boolean "Renesas M66592 USB Peripheral Controller"
|
|
|
- select USB_GADGET_DUALSPEED
|
|
|
- help
|
|
|
- M66592 is a discrete USB peripheral controller chip that
|
|
|
- supports both full and high speed USB 2.0 data transfers.
|
|
|
- It has seven configurable endpoints, and endpoint zero.
|
|
|
-
|
|
|
- Say "y" to link the driver statically, or "m" to build a
|
|
|
- dynamically linked module called "m66592_udc" and force all
|
|
|
- gadget drivers to also be dynamically linked.
|
|
|
-
|
|
|
-config USB_M66592
|
|
|
- tristate
|
|
|
- depends on USB_GADGET_M66592
|
|
|
- default USB_GADGET
|
|
|
- select USB_GADGET_SELECTED
|
|
|
-
|
|
|
-config SUPERH_BUILT_IN_M66592
|
|
|
- boolean "Enable SuperH built-in USB like the M66592"
|
|
|
- depends on USB_GADGET_M66592 && CPU_SUBTYPE_SH7722
|
|
|
- help
|
|
|
- SH7722 has USB like the M66592.
|
|
|
-
|
|
|
- The transfer rate is very slow when use "Ethernet Gadget".
|
|
|
- However, this problem is improved if change a value of
|
|
|
- NET_IP_ALIGN to 4.
|
|
|
-
|
|
|
config USB_GADGET_PXA27X
|
|
|
boolean "PXA 27x"
|
|
|
depends on ARCH_PXA && PXA27x
|
|
@@ -251,40 +253,32 @@ config USB_PXA27X
|
|
|
default USB_GADGET
|
|
|
select USB_GADGET_SELECTED
|
|
|
|
|
|
-config USB_GADGET_GOKU
|
|
|
- boolean "Toshiba TC86C001 'Goku-S'"
|
|
|
- depends on PCI
|
|
|
+config USB_GADGET_S3C2410
|
|
|
+ boolean "S3C2410 USB Device Controller"
|
|
|
+ depends on ARCH_S3C2410
|
|
|
help
|
|
|
- The Toshiba TC86C001 is a PCI device which includes controllers
|
|
|
- for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI).
|
|
|
-
|
|
|
- The device controller has three configurable (bulk or interrupt)
|
|
|
- endpoints, plus endpoint zero (for control transfers).
|
|
|
+ Samsung's S3C2410 is an ARM-4 processor with an integrated
|
|
|
+ full speed USB 1.1 device controller. It has 4 configurable
|
|
|
+ endpoints, as well as endpoint zero (for control transfers).
|
|
|
|
|
|
- Say "y" to link the driver statically, or "m" to build a
|
|
|
- dynamically linked module called "goku_udc" and to force all
|
|
|
- gadget drivers to also be dynamically linked.
|
|
|
+ This driver has been tested on the S3C2410, S3C2412, and
|
|
|
+ S3C2440 processors.
|
|
|
|
|
|
-config USB_GOKU
|
|
|
+config USB_S3C2410
|
|
|
tristate
|
|
|
- depends on USB_GADGET_GOKU
|
|
|
+ depends on USB_GADGET_S3C2410
|
|
|
default USB_GADGET
|
|
|
select USB_GADGET_SELECTED
|
|
|
|
|
|
+config USB_S3C2410_DEBUG
|
|
|
+ boolean "S3C2410 udc debug messages"
|
|
|
+ depends on USB_GADGET_S3C2410
|
|
|
|
|
|
-config USB_GADGET_LH7A40X
|
|
|
- boolean "LH7A40X"
|
|
|
- depends on ARCH_LH7A40X
|
|
|
- help
|
|
|
- This driver provides USB Device Controller driver for LH7A40x
|
|
|
-
|
|
|
-config USB_LH7A40X
|
|
|
- tristate
|
|
|
- depends on USB_GADGET_LH7A40X
|
|
|
- default USB_GADGET
|
|
|
- select USB_GADGET_SELECTED
|
|
|
+#
|
|
|
+# Controllers available in both integrated and discrete versions
|
|
|
+#
|
|
|
|
|
|
-# built in ../musb along with host support
|
|
|
+# musb builds in ../musb along with host support
|
|
|
config USB_GADGET_MUSB_HDRC
|
|
|
boolean "Inventra HDRC USB Peripheral (TI, ...)"
|
|
|
depends on USB_MUSB_HDRC && (USB_MUSB_PERIPHERAL || USB_MUSB_OTG)
|
|
@@ -294,76 +288,105 @@ config USB_GADGET_MUSB_HDRC
|
|
|
This OTG-capable silicon IP is used in dual designs including
|
|
|
the TI DaVinci, OMAP 243x, OMAP 343x, and TUSB 6010.
|
|
|
|
|
|
-config USB_GADGET_OMAP
|
|
|
- boolean "OMAP USB Device Controller"
|
|
|
- depends on ARCH_OMAP
|
|
|
- select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
|
|
|
+config USB_GADGET_M66592
|
|
|
+ boolean "Renesas M66592 USB Peripheral Controller"
|
|
|
+ select USB_GADGET_DUALSPEED
|
|
|
help
|
|
|
- Many Texas Instruments OMAP processors have flexible full
|
|
|
- speed USB device controllers, with support for up to 30
|
|
|
- endpoints (plus endpoint zero). This driver supports the
|
|
|
- controller in the OMAP 1611, and should work with controllers
|
|
|
- in other OMAP processors too, given minor tweaks.
|
|
|
+ M66592 is a discrete USB peripheral controller chip that
|
|
|
+ supports both full and high speed USB 2.0 data transfers.
|
|
|
+ It has seven configurable endpoints, and endpoint zero.
|
|
|
|
|
|
Say "y" to link the driver statically, or "m" to build a
|
|
|
- dynamically linked module called "omap_udc" and force all
|
|
|
+ dynamically linked module called "m66592_udc" and force all
|
|
|
gadget drivers to also be dynamically linked.
|
|
|
|
|
|
-config USB_OMAP
|
|
|
+config USB_M66592
|
|
|
tristate
|
|
|
- depends on USB_GADGET_OMAP
|
|
|
+ depends on USB_GADGET_M66592
|
|
|
default USB_GADGET
|
|
|
select USB_GADGET_SELECTED
|
|
|
|
|
|
-config USB_OTG
|
|
|
- boolean "OTG Support"
|
|
|
- depends on USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD
|
|
|
+config SUPERH_BUILT_IN_M66592
|
|
|
+ boolean "Enable SuperH built-in USB like the M66592"
|
|
|
+ depends on USB_GADGET_M66592 && CPU_SUBTYPE_SH7722
|
|
|
help
|
|
|
- The most notable feature of USB OTG is support for a
|
|
|
- "Dual-Role" device, which can act as either a device
|
|
|
- or a host. The initial role choice can be changed
|
|
|
- later, when two dual-role devices talk to each other.
|
|
|
+ SH7722 has USB like the M66592.
|
|
|
|
|
|
- Select this only if your OMAP board has a Mini-AB connector.
|
|
|
+ The transfer rate is very slow when use "Ethernet Gadget".
|
|
|
+ However, this problem is improved if change a value of
|
|
|
+ NET_IP_ALIGN to 4.
|
|
|
|
|
|
-config USB_GADGET_S3C2410
|
|
|
- boolean "S3C2410 USB Device Controller"
|
|
|
- depends on ARCH_S3C2410
|
|
|
+#
|
|
|
+# Controllers available only in discrete form (and all PCI controllers)
|
|
|
+#
|
|
|
+
|
|
|
+config USB_GADGET_AMD5536UDC
|
|
|
+ boolean "AMD5536 UDC"
|
|
|
+ depends on PCI
|
|
|
+ select USB_GADGET_DUALSPEED
|
|
|
help
|
|
|
- Samsung's S3C2410 is an ARM-4 processor with an integrated
|
|
|
- full speed USB 1.1 device controller. It has 4 configurable
|
|
|
- endpoints, as well as endpoint zero (for control transfers).
|
|
|
+ The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge.
|
|
|
+ It is a USB Highspeed DMA capable USB device controller. Beside ep0
|
|
|
+ it provides 4 IN and 4 OUT endpoints (bulk or interrupt type).
|
|
|
+ The UDC port supports OTG operation, and may be used as a host port
|
|
|
+ if it's not being used to implement peripheral or OTG roles.
|
|
|
|
|
|
- This driver has been tested on the S3C2410, S3C2412, and
|
|
|
- S3C2440 processors.
|
|
|
+ Say "y" to link the driver statically, or "m" to build a
|
|
|
+ dynamically linked module called "amd5536udc" and force all
|
|
|
+ gadget drivers to also be dynamically linked.
|
|
|
|
|
|
-config USB_S3C2410
|
|
|
+config USB_AMD5536UDC
|
|
|
tristate
|
|
|
- depends on USB_GADGET_S3C2410
|
|
|
+ depends on USB_GADGET_AMD5536UDC
|
|
|
default USB_GADGET
|
|
|
select USB_GADGET_SELECTED
|
|
|
|
|
|
-config USB_S3C2410_DEBUG
|
|
|
- boolean "S3C2410 udc debug messages"
|
|
|
- depends on USB_GADGET_S3C2410
|
|
|
+config USB_GADGET_NET2280
|
|
|
+ boolean "NetChip 228x"
|
|
|
+ depends on PCI
|
|
|
+ select USB_GADGET_DUALSPEED
|
|
|
+ help
|
|
|
+ NetChip 2280 / 2282 is a PCI based USB peripheral controller which
|
|
|
+ supports both full and high speed USB 2.0 data transfers.
|
|
|
|
|
|
-config USB_GADGET_AT91
|
|
|
- boolean "AT91 USB Device Port"
|
|
|
- depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9
|
|
|
+ It has six configurable endpoints, as well as endpoint zero
|
|
|
+ (for control transfers) and several endpoints with dedicated
|
|
|
+ functions.
|
|
|
+
|
|
|
+ Say "y" to link the driver statically, or "m" to build a
|
|
|
+ dynamically linked module called "net2280" and force all
|
|
|
+ gadget drivers to also be dynamically linked.
|
|
|
+
|
|
|
+config USB_NET2280
|
|
|
+ tristate
|
|
|
+ depends on USB_GADGET_NET2280
|
|
|
+ default USB_GADGET
|
|
|
select USB_GADGET_SELECTED
|
|
|
+
|
|
|
+config USB_GADGET_GOKU
|
|
|
+ boolean "Toshiba TC86C001 'Goku-S'"
|
|
|
+ depends on PCI
|
|
|
help
|
|
|
- Many Atmel AT91 processors (such as the AT91RM2000) have a
|
|
|
- full speed USB Device Port with support for five configurable
|
|
|
- endpoints (plus endpoint zero).
|
|
|
+ The Toshiba TC86C001 is a PCI device which includes controllers
|
|
|
+ for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI).
|
|
|
+
|
|
|
+ The device controller has three configurable (bulk or interrupt)
|
|
|
+ endpoints, plus endpoint zero (for control transfers).
|
|
|
|
|
|
Say "y" to link the driver statically, or "m" to build a
|
|
|
- dynamically linked module called "at91_udc" and force all
|
|
|
+ dynamically linked module called "goku_udc" and to force all
|
|
|
gadget drivers to also be dynamically linked.
|
|
|
|
|
|
-config USB_AT91
|
|
|
+config USB_GOKU
|
|
|
tristate
|
|
|
- depends on USB_GADGET_AT91
|
|
|
+ depends on USB_GADGET_GOKU
|
|
|
default USB_GADGET
|
|
|
+ select USB_GADGET_SELECTED
|
|
|
+
|
|
|
+
|
|
|
+#
|
|
|
+# LAST -- dummy/emulated controller
|
|
|
+#
|
|
|
|
|
|
config USB_GADGET_DUMMY_HCD
|
|
|
boolean "Dummy HCD (DEVELOPMENT)"
|