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

usb: gadget Kconfig cleanup

This reorders the list of USB peripheral controller drivers so it's
more common for the initial (default) value to be relevant:  put the
SOC integrated silicon up front, discrete stuff last.  Alphabetize.
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 27140219
...@@ -85,6 +85,13 @@ config USB_GADGET_SELECTED ...@@ -85,6 +85,13 @@ config USB_GADGET_SELECTED
# #
# USB Peripheral Controller Support # 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 choice
prompt "USB Peripheral Controller" prompt "USB Peripheral Controller"
depends on USB_GADGET depends on USB_GADGET
...@@ -94,26 +101,27 @@ choice ...@@ -94,26 +101,27 @@ choice
Many controller drivers are platform-specific; these Many controller drivers are platform-specific; these
often need board-specific hooks. often need board-specific hooks.
config USB_GADGET_AMD5536UDC #
boolean "AMD5536 UDC" # Integrated controllers
depends on PCI #
select USB_GADGET_DUALSPEED
config USB_GADGET_AT91
boolean "Atmel AT91 USB Device Port"
depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9
select USB_GADGET_SELECTED
help help
The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. Many Atmel AT91 processors (such as the AT91RM2000) have a
It is a USB Highspeed DMA capable USB device controller. Beside ep0 full speed USB Device Port with support for five configurable
it provides 4 IN and 4 OUT endpoints (bulk or interrupt type). endpoints (plus endpoint zero).
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.
Say "y" to link the driver statically, or "m" to build a 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. gadget drivers to also be dynamically linked.
config USB_AMD5536UDC config USB_AT91
tristate tristate
depends on USB_GADGET_AMD5536UDC depends on USB_GADGET_AT91
default USB_GADGET default USB_GADGET
select USB_GADGET_SELECTED
config USB_GADGET_ATMEL_USBA config USB_GADGET_ATMEL_USBA
boolean "Atmel USBA" boolean "Atmel USBA"
...@@ -150,28 +158,50 @@ config USB_FSL_USB2 ...@@ -150,28 +158,50 @@ config USB_FSL_USB2
default USB_GADGET default USB_GADGET
select USB_GADGET_SELECTED select USB_GADGET_SELECTED
config USB_GADGET_NET2280 config USB_GADGET_LH7A40X
boolean "NetChip 228x" boolean "LH7A40X"
depends on PCI depends on ARCH_LH7A40X
select USB_GADGET_DUALSPEED
help help
NetChip 2280 / 2282 is a PCI based USB peripheral controller which This driver provides USB Device Controller driver for LH7A40x
supports both full and high speed USB 2.0 data transfers.
config USB_LH7A40X
It has six configurable endpoints, as well as endpoint zero tristate
(for control transfers) and several endpoints with dedicated depends on USB_GADGET_LH7A40X
functions. 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 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. gadget drivers to also be dynamically linked.
config USB_NET2280 config USB_OMAP
tristate tristate
depends on USB_GADGET_NET2280 depends on USB_GADGET_OMAP
default USB_GADGET default USB_GADGET
select USB_GADGET_SELECTED 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 config USB_GADGET_PXA25X
boolean "PXA 25x or IXP 4xx" boolean "PXA 25x or IXP 4xx"
depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX
...@@ -203,34 +233,6 @@ config USB_PXA25X_SMALL ...@@ -203,34 +233,6 @@ config USB_PXA25X_SMALL
default y if USB_ETH default y if USB_ETH
default y if USB_G_SERIAL 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 config USB_GADGET_PXA27X
boolean "PXA 27x" boolean "PXA 27x"
depends on ARCH_PXA && PXA27x depends on ARCH_PXA && PXA27x
...@@ -251,40 +253,32 @@ config USB_PXA27X ...@@ -251,40 +253,32 @@ config USB_PXA27X
default USB_GADGET default USB_GADGET
select USB_GADGET_SELECTED select USB_GADGET_SELECTED
config USB_GADGET_GOKU config USB_GADGET_S3C2410
boolean "Toshiba TC86C001 'Goku-S'" boolean "S3C2410 USB Device Controller"
depends on PCI depends on ARCH_S3C2410
help help
The Toshiba TC86C001 is a PCI device which includes controllers Samsung's S3C2410 is an ARM-4 processor with an integrated
for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI). full speed USB 1.1 device controller. It has 4 configurable
endpoints, as well as endpoint zero (for control transfers).
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 This driver has been tested on the S3C2410, S3C2412, and
dynamically linked module called "goku_udc" and to force all S3C2440 processors.
gadget drivers to also be dynamically linked.
config USB_GOKU config USB_S3C2410
tristate tristate
depends on USB_GADGET_GOKU depends on USB_GADGET_S3C2410
default USB_GADGET default USB_GADGET
select USB_GADGET_SELECTED select USB_GADGET_SELECTED
config USB_S3C2410_DEBUG
boolean "S3C2410 udc debug messages"
depends on USB_GADGET_S3C2410
config USB_GADGET_LH7A40X #
boolean "LH7A40X" # Controllers available in both integrated and discrete versions
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
# built in ../musb along with host support # musb builds in ../musb along with host support
config USB_GADGET_MUSB_HDRC config USB_GADGET_MUSB_HDRC
boolean "Inventra HDRC USB Peripheral (TI, ...)" boolean "Inventra HDRC USB Peripheral (TI, ...)"
depends on USB_MUSB_HDRC && (USB_MUSB_PERIPHERAL || USB_MUSB_OTG) depends on USB_MUSB_HDRC && (USB_MUSB_PERIPHERAL || USB_MUSB_OTG)
...@@ -294,76 +288,105 @@ config USB_GADGET_MUSB_HDRC ...@@ -294,76 +288,105 @@ config USB_GADGET_MUSB_HDRC
This OTG-capable silicon IP is used in dual designs including This OTG-capable silicon IP is used in dual designs including
the TI DaVinci, OMAP 243x, OMAP 343x, and TUSB 6010. the TI DaVinci, OMAP 243x, OMAP 343x, and TUSB 6010.
config USB_GADGET_OMAP config USB_GADGET_M66592
boolean "OMAP USB Device Controller" boolean "Renesas M66592 USB Peripheral Controller"
depends on ARCH_OMAP select USB_GADGET_DUALSPEED
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
help help
Many Texas Instruments OMAP processors have flexible full M66592 is a discrete USB peripheral controller chip that
speed USB device controllers, with support for up to 30 supports both full and high speed USB 2.0 data transfers.
endpoints (plus endpoint zero). This driver supports the It has seven configurable endpoints, and endpoint zero.
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 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. gadget drivers to also be dynamically linked.
config USB_OMAP config USB_M66592
tristate tristate
depends on USB_GADGET_OMAP depends on USB_GADGET_M66592
default USB_GADGET default USB_GADGET
select USB_GADGET_SELECTED select USB_GADGET_SELECTED
config USB_OTG config SUPERH_BUILT_IN_M66592
boolean "OTG Support" boolean "Enable SuperH built-in USB like the M66592"
depends on USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD depends on USB_GADGET_M66592 && CPU_SUBTYPE_SH7722
help help
The most notable feature of USB OTG is support for a SH7722 has USB like the M66592.
"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. 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" # Controllers available only in discrete form (and all PCI controllers)
depends on ARCH_S3C2410 #
config USB_GADGET_AMD5536UDC
boolean "AMD5536 UDC"
depends on PCI
select USB_GADGET_DUALSPEED
help help
Samsung's S3C2410 is an ARM-4 processor with an integrated The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge.
full speed USB 1.1 device controller. It has 4 configurable It is a USB Highspeed DMA capable USB device controller. Beside ep0
endpoints, as well as endpoint zero (for control transfers). 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 Say "y" to link the driver statically, or "m" to build a
S3C2440 processors. dynamically linked module called "amd5536udc" and force all
gadget drivers to also be dynamically linked.
config USB_S3C2410 config USB_AMD5536UDC
tristate tristate
depends on USB_GADGET_S3C2410 depends on USB_GADGET_AMD5536UDC
default USB_GADGET default USB_GADGET
select USB_GADGET_SELECTED select USB_GADGET_SELECTED
config USB_S3C2410_DEBUG config USB_GADGET_NET2280
boolean "S3C2410 udc debug messages" boolean "NetChip 228x"
depends on USB_GADGET_S3C2410 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 It has six configurable endpoints, as well as endpoint zero
boolean "AT91 USB Device Port" (for control transfers) and several endpoints with dedicated
depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 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 select USB_GADGET_SELECTED
config USB_GADGET_GOKU
boolean "Toshiba TC86C001 'Goku-S'"
depends on PCI
help help
Many Atmel AT91 processors (such as the AT91RM2000) have a The Toshiba TC86C001 is a PCI device which includes controllers
full speed USB Device Port with support for five configurable for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI).
endpoints (plus endpoint zero).
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 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. gadget drivers to also be dynamically linked.
config USB_AT91 config USB_GOKU
tristate tristate
depends on USB_GADGET_AT91 depends on USB_GADGET_GOKU
default USB_GADGET default USB_GADGET
select USB_GADGET_SELECTED
#
# LAST -- dummy/emulated controller
#
config USB_GADGET_DUMMY_HCD config USB_GADGET_DUMMY_HCD
boolean "Dummy HCD (DEVELOPMENT)" boolean "Dummy HCD (DEVELOPMENT)"
......
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