aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/gadget/Kconfig')
-rw-r--r--drivers/usb/gadget/Kconfig103
1 files changed, 100 insertions, 3 deletions
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index a18e3c5dd82..3d83b8d0b31 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -109,8 +109,8 @@ config USB_GADGET_SELECTED
# - discrete ones (including all PCI-only controllers)
# - debug/dummy gadget+hcd is last.
#
-choice
- prompt "USB Peripheral Controller"
+menuconfig USB_PERIPHERAL_CONTROLLER
+ bool "USB Peripheral Controller"
depends on USB_GADGET
help
A USB device uses a controller to talk to its host.
@@ -122,6 +122,8 @@ choice
# Integrated controllers
#
+if USB_PERIPHERAL_CONTROLLER
+
config USB_GADGET_AT91
boolean "Atmel AT91 USB Device Port"
depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 && !ARCH_AT91SAM9G45
@@ -504,6 +506,101 @@ config USB_LANGWELL
default USB_GADGET
select USB_GADGET_SELECTED
+menuconfig USB_GADGET_DWC_OTG
+ boolean "Synopsys DWC OTG Controller"
+ depends on 405EZ || 405EX || 460EX || APM82181
+ select USB_GADGET_DUALSPEED
+ help
+ This driver provides USB Device Controller support for the
+ Synopsys DesignWare USB OTG Core used on the AMCC 405EZ/405EX/
+ 460EX/APM82181.
+
+ Note that on the 405EZ, this Core provides USB Device Controller
+ function only. It does not act as a true OTG device, and the
+ 'OTG' is slightly misleading.
+
+if USB_GADGET_DWC_OTG
+
+config USB_DWC_OTG
+ tristate
+ depends on USB_GADGET_DWC_OTG
+ default USB_GADGET
+ select USB_GADGET_SELECTED
+
+config DWC_LEGACY_405EX
+ bool "Enable 405EX Legacy Support (lower performance)"
+ default n
+ depends on 405EX
+ select DWC_SLAVE
+ help
+ Enable Legacy 405EX Chip support (Rev 1.0) where DWC DMA is broken.
+ Selecting this option will cause lower performance.
+ Don't select this unless you want to support Rev 1.0 405EX chips (obsolete).
+
+menuconfig DWC_OTG_MODE
+ bool "DWC OTG Mode"
+ depends on 405EX || 460EX || APM82181
+ help
+ Enable selection whether USB OTG should operate in Host or
+ Device mode only
+
+if DWC_OTG_MODE
+config DWC_HOST_ONLY
+ bool "DWC Host Only Mode"
+ depends on 405EX || 460EX || APM82181
+ help
+ DWC Core in only host mode.
+
+config DWC_DEVICE_ONLY
+ bool "DWC Device Only Mode"
+ default y if 405EZ
+ help
+ DWC Core in only device mode.
+
+endif
+
+config DWC_SLAVE
+ bool "DWC Slave Mode"
+ depends on 405EX || 460EX || APM82181
+ default n
+ help
+ Slave mode uses the processor to tranfer data.
+ In Slave mode, processor DMA channels can be used if available.
+
+config DWC_USE_PLB_DMA
+ bool "Use PPC4xx PLB DMA (Only for Slave Mode)"
+ depends on DWC_SLAVE
+ depends on 405EX
+ default n
+ select OTG_PLB_DMA
+ select OTG_PLB_DMA_TASKLET
+ select PPC4xx_EDMA
+ help
+ Enable use of PPC4xx DMA engines in Slave Mode.
+ Please ensure PLB DMA channels not in use by any other block.
+
+if DWC_USE_PLB_DMA
+config OTG_PLB_DMA
+ bool
+ default n
+
+config OTG_PLB_DMA_TASKLET
+ bool
+ default n
+
+config PPC4xx_EDMA
+ bool
+ default n
+endif
+
+config DWC_DEBUG
+ bool "Enable DWC Debugging"
+ default n
+ help
+ Enable DWC driver debugging
+
+endif #USB_GADGET_DWC_OTG
+
#
# LAST -- dummy/emulated controller
@@ -541,7 +638,7 @@ config USB_DUMMY_HCD
# NOTE: Please keep dummy_hcd LAST so that "real hardware" appears
# first and will be selected by default.
-endchoice
+endif # USB_PERIPHERAL_CONTROLLER
config USB_GADGET_DUALSPEED
bool