Commit | Line | Data |
---|---|---|
550a7375 FB |
1 | # |
2 | # USB Dual Role (OTG-ready) Controller Drivers | |
3 | # for silicon based on Mentor Graphics INVENTRA designs | |
4 | # | |
5 | ||
550a7375 FB |
6 | # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller |
7 | config USB_MUSB_HDRC | |
54a605f4 | 8 | tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)' |
25e11ec4 | 9 | depends on USB_GADGET |
550a7375 FB |
10 | help |
11 | Say Y here if your system has a dual role high speed USB | |
12 | controller based on the Mentor Graphics silicon IP. Then | |
13 | configure options to match your silicon and the board | |
14 | it's being used with, including the USB peripheral role, | |
15 | or the USB host role, or both. | |
16 | ||
57bfc0a7 | 17 | Texas Instruments families using this IP include DaVinci |
a227fd7d | 18 | (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010. |
550a7375 | 19 | |
085ad406 BW |
20 | Analog Devices parts using this IP include Blackfin BF54x, |
21 | BF525 and BF527. | |
22 | ||
550a7375 FB |
23 | If you do not know what this is, please say N. |
24 | ||
1376d92f FB |
25 | To compile this driver as a module, choose M here; the |
26 | module will be called "musb-hdrc". | |
550a7375 | 27 | |
c6bde9b5 FC |
28 | if USB_MUSB_HDRC |
29 | ||
b7b741ea DM |
30 | choice |
31 | bool "MUSB Mode Selection" | |
32 | default USB_MUSB_DUAL_ROLE if (USB && USB_GADGET) | |
33 | default USB_MUSB_HOST if (USB && !USB_GADGET) | |
34 | default USB_MUSB_GADGET if (!USB && USB_GADGET) | |
35 | ||
36 | config USB_MUSB_HOST | |
37 | bool "Host only mode" | |
38 | depends on USB | |
39 | help | |
40 | Select this when you want to use MUSB in host mode only, | |
41 | thereby the gadget feature will be regressed. | |
42 | ||
43 | config USB_MUSB_GADGET | |
44 | bool "Gadget only mode" | |
45 | depends on USB_GADGET | |
46 | help | |
47 | Select this when you want to use MUSB in gadget mode only, | |
48 | thereby the host feature will be regressed. | |
49 | ||
50 | config USB_MUSB_DUAL_ROLE | |
51 | bool "Dual Role mode" | |
52 | depends on (USB && USB_GADGET) | |
53 | help | |
54 | This is the default mode of working of MUSB controller where | |
55 | both host and gadget features are enabled. | |
56 | ||
57 | endchoice | |
58 | ||
7c925546 FB |
59 | choice |
60 | prompt "Platform Glue Layer" | |
550a7375 | 61 | |
7c925546 | 62 | config USB_MUSB_DAVINCI |
1376d92f | 63 | tristate "DaVinci" |
7c925546 | 64 | depends on ARCH_DAVINCI_DMx |
787f5627 | 65 | depends on BROKEN |
550a7375 | 66 | |
7c925546 | 67 | config USB_MUSB_DA8XX |
1376d92f | 68 | tristate "DA8xx/OMAP-L1x" |
7c925546 | 69 | depends on ARCH_DAVINCI_DA8XX |
787f5627 | 70 | depends on BROKEN |
3ee076de | 71 | |
7c925546 | 72 | config USB_MUSB_TUSB6010 |
1376d92f | 73 | tristate "TUSB6010" |
550a7375 | 74 | |
7c925546 | 75 | config USB_MUSB_OMAP2PLUS |
1376d92f | 76 | tristate "OMAP2430 and onwards" |
7c925546 | 77 | depends on ARCH_OMAP2PLUS |
3e3101d5 | 78 | select GENERIC_PHY |
550a7375 | 79 | |
7c925546 | 80 | config USB_MUSB_AM35X |
1376d92f | 81 | tristate "AM35x" |
7c925546 | 82 | depends on ARCH_OMAP |
c71b1b9c | 83 | |
9ecb8875 AKG |
84 | config USB_MUSB_DSPS |
85 | tristate "TI DSPS platforms" | |
97238b35 | 86 | select USB_MUSB_AM335X_CHILD |
eff196ad | 87 | depends on OF_IRQ |
9ecb8875 | 88 | |
7c925546 | 89 | config USB_MUSB_BLACKFIN |
1376d92f | 90 | tristate "Blackfin" |
7c925546 | 91 | depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523) |
085ad406 | 92 | |
4bc36fd3 | 93 | config USB_MUSB_UX500 |
1860c925 | 94 | tristate "Ux500 platforms" |
4bc36fd3 | 95 | |
7c925546 | 96 | endchoice |
550a7375 | 97 | |
97238b35 SAS |
98 | config USB_MUSB_AM335X_CHILD |
99 | tristate | |
100 | ||
2e7fc3ba AB |
101 | choice |
102 | prompt 'MUSB DMA mode' | |
99b7856f | 103 | default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM |
2e7fc3ba AB |
104 | default USB_UX500_DMA if USB_MUSB_UX500 |
105 | default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN | |
106 | default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI | |
107 | default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010 | |
9ecb8875 AKG |
108 | default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \ |
109 | || USB_MUSB_DSPS | |
550a7375 | 110 | help |
2e7fc3ba AB |
111 | Unfortunately, only one option can be enabled here. Ideally one |
112 | should be able to build all these drivers into one kernel to | |
113 | allow using DMA on multiplatform kernels. | |
550a7375 | 114 | |
d2389440 | 115 | config USB_UX500_DMA |
1860c925 | 116 | bool 'ST Ericsson Ux500' |
2e7fc3ba | 117 | depends on USB_MUSB_UX500 |
d2389440 MYK |
118 | help |
119 | Enable DMA transfers on UX500 platforms. | |
120 | ||
550a7375 | 121 | config USB_INVENTRA_DMA |
2e7fc3ba | 122 | bool 'Inventra' |
2e7fc3ba | 123 | depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN |
550a7375 FB |
124 | help |
125 | Enable DMA transfers using Mentor's engine. | |
126 | ||
127 | config USB_TI_CPPI_DMA | |
2e7fc3ba | 128 | bool 'TI CPPI (Davinci)' |
2e7fc3ba | 129 | depends on USB_MUSB_DAVINCI |
550a7375 FB |
130 | help |
131 | Enable DMA transfers when TI CPPI DMA is available. | |
132 | ||
9b3452d1 SAS |
133 | config USB_TI_CPPI41_DMA |
134 | bool 'TI CPPI 4.1 (AM335x)' | |
135 | depends on ARCH_OMAP | |
136 | ||
550a7375 | 137 | config USB_TUSB_OMAP_DMA |
2e7fc3ba | 138 | bool 'TUSB 6010' |
7c925546 | 139 | depends on USB_MUSB_TUSB6010 |
550a7375 | 140 | depends on ARCH_OMAP |
550a7375 FB |
141 | help |
142 | Enable DMA transfers on TUSB 6010 when OMAP DMA is available. | |
143 | ||
2e7fc3ba AB |
144 | config MUSB_PIO_ONLY |
145 | bool 'Disable DMA (always use PIO)' | |
2e7fc3ba AB |
146 | help |
147 | All data is copied between memory and FIFO by the CPU. | |
148 | DMA controllers are ignored. | |
149 | ||
150 | Do not choose this unless DMA support for your SOC or board | |
151 | is unavailable (or unstable). When DMA is enabled at compile time, | |
152 | you can still disable it at run time using the "use_dma=n" module | |
153 | parameter. | |
154 | ||
155 | endchoice | |
c6bde9b5 FC |
156 | |
157 | endif # USB_MUSB_HDRC |