diff options
Diffstat (limited to 'drivers/usb/musb/Kconfig')
-rw-r--r-- | drivers/usb/musb/Kconfig | 61 |
1 files changed, 34 insertions, 27 deletions
diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig index 07a03460a598..f70cab3beeec 100644 --- a/drivers/usb/musb/Kconfig +++ b/drivers/usb/musb/Kconfig | |||
@@ -5,14 +5,13 @@ | |||
5 | 5 | ||
6 | # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller | 6 | # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller |
7 | config USB_MUSB_HDRC | 7 | config USB_MUSB_HDRC |
8 | tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)' | ||
8 | depends on USB && USB_GADGET | 9 | depends on USB && USB_GADGET |
9 | depends on (ARM || (BF54x && !BF544) || (BF52x && !BF522 && !BF523)) | ||
10 | select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN) | 10 | select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN) |
11 | select TWL4030_USB if MACH_OMAP_3430SDP | 11 | select TWL4030_USB if MACH_OMAP_3430SDP |
12 | select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA | 12 | select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA |
13 | select USB_OTG_UTILS | 13 | select USB_OTG_UTILS |
14 | select USB_GADGET_DUALSPEED | 14 | select USB_GADGET_DUALSPEED |
15 | tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)' | ||
16 | help | 15 | help |
17 | Say Y here if your system has a dual role high speed USB | 16 | Say Y here if your system has a dual role high speed USB |
18 | controller based on the Mentor Graphics silicon IP. Then | 17 | controller based on the Mentor Graphics silicon IP. Then |
@@ -31,9 +30,10 @@ config USB_MUSB_HDRC | |||
31 | To compile this driver as a module, choose M here; the | 30 | To compile this driver as a module, choose M here; the |
32 | module will be called "musb-hdrc". | 31 | module will be called "musb-hdrc". |
33 | 32 | ||
33 | if USB_MUSB_HDRC | ||
34 | |||
34 | choice | 35 | choice |
35 | prompt "Platform Glue Layer" | 36 | prompt "Platform Glue Layer" |
36 | depends on USB_MUSB_HDRC | ||
37 | 37 | ||
38 | config USB_MUSB_DAVINCI | 38 | config USB_MUSB_DAVINCI |
39 | tristate "DaVinci" | 39 | tristate "DaVinci" |
@@ -45,7 +45,6 @@ config USB_MUSB_DA8XX | |||
45 | 45 | ||
46 | config USB_MUSB_TUSB6010 | 46 | config USB_MUSB_TUSB6010 |
47 | tristate "TUSB6010" | 47 | tristate "TUSB6010" |
48 | depends on ARCH_OMAP | ||
49 | 48 | ||
50 | config USB_MUSB_OMAP2PLUS | 49 | config USB_MUSB_OMAP2PLUS |
51 | tristate "OMAP2430 and onwards" | 50 | tristate "OMAP2430 and onwards" |
@@ -65,46 +64,54 @@ config USB_MUSB_UX500 | |||
65 | 64 | ||
66 | endchoice | 65 | endchoice |
67 | 66 | ||
68 | config MUSB_PIO_ONLY | 67 | choice |
69 | bool 'Disable DMA (always use PIO)' | 68 | prompt 'MUSB DMA mode' |
70 | depends on USB_MUSB_HDRC | 69 | default USB_UX500_DMA if USB_MUSB_UX500 |
71 | default USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X | 70 | default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN |
71 | default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI | ||
72 | default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010 | ||
73 | default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X | ||
72 | help | 74 | help |
73 | All data is copied between memory and FIFO by the CPU. | 75 | Unfortunately, only one option can be enabled here. Ideally one |
74 | DMA controllers are ignored. | 76 | should be able to build all these drivers into one kernel to |
75 | 77 | allow using DMA on multiplatform kernels. | |
76 | Do not select 'n' here unless DMA support for your SOC or board | ||
77 | is unavailable (or unstable). When DMA is enabled at compile time, | ||
78 | you can still disable it at run time using the "use_dma=n" module | ||
79 | parameter. | ||
80 | 78 | ||
81 | config USB_UX500_DMA | 79 | config USB_UX500_DMA |
82 | bool | 80 | bool 'ST Ericsson U8500 and U5500' |
83 | depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY | 81 | depends on USB_MUSB_UX500 |
84 | default USB_MUSB_UX500 | ||
85 | help | 82 | help |
86 | Enable DMA transfers on UX500 platforms. | 83 | Enable DMA transfers on UX500 platforms. |
87 | 84 | ||
88 | config USB_INVENTRA_DMA | 85 | config USB_INVENTRA_DMA |
89 | bool | 86 | bool 'Inventra' |
90 | depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY | 87 | depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN |
91 | default USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN | ||
92 | help | 88 | help |
93 | Enable DMA transfers using Mentor's engine. | 89 | Enable DMA transfers using Mentor's engine. |
94 | 90 | ||
95 | config USB_TI_CPPI_DMA | 91 | config USB_TI_CPPI_DMA |
96 | bool | 92 | bool 'TI CPPI (Davinci)' |
97 | depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY | 93 | depends on USB_MUSB_DAVINCI |
98 | default USB_MUSB_DAVINCI | ||
99 | help | 94 | help |
100 | Enable DMA transfers when TI CPPI DMA is available. | 95 | Enable DMA transfers when TI CPPI DMA is available. |
101 | 96 | ||
102 | config USB_TUSB_OMAP_DMA | 97 | config USB_TUSB_OMAP_DMA |
103 | bool | 98 | bool 'TUSB 6010' |
104 | depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY | ||
105 | depends on USB_MUSB_TUSB6010 | 99 | depends on USB_MUSB_TUSB6010 |
106 | depends on ARCH_OMAP | 100 | depends on ARCH_OMAP |
107 | default y | ||
108 | help | 101 | help |
109 | Enable DMA transfers on TUSB 6010 when OMAP DMA is available. | 102 | Enable DMA transfers on TUSB 6010 when OMAP DMA is available. |
110 | 103 | ||
104 | config MUSB_PIO_ONLY | ||
105 | bool 'Disable DMA (always use PIO)' | ||
106 | help | ||
107 | All data is copied between memory and FIFO by the CPU. | ||
108 | DMA controllers are ignored. | ||
109 | |||
110 | Do not choose this unless DMA support for your SOC or board | ||
111 | is unavailable (or unstable). When DMA is enabled at compile time, | ||
112 | you can still disable it at run time using the "use_dma=n" module | ||
113 | parameter. | ||
114 | |||
115 | endchoice | ||
116 | |||
117 | endif # USB_MUSB_HDRC | ||