Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+144 −121
Original line number Diff line number Diff line
@@ -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.  
	   This driver provides USB Device Controller driver for LH7A40x

	   It has six configurable endpoints, as well as endpoint zero
	   (for control transfers) and several endpoints with dedicated
	   functions.
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)"