1# 2# USB Dual Role (OTG-ready) Controller Drivers 3# for silicon based on Mentor Graphics INVENTRA designs 4# 5 6# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller 7config USB_MUSB_HDRC 8 tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)' 9 depends on (USB || USB_GADGET) 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 17 Texas Instruments families using this IP include DaVinci 18 (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010. 19 20 Analog Devices parts using this IP include Blackfin BF54x, 21 BF525 and BF527. 22 23 If you do not know what this is, please say N. 24 25 To compile this driver as a module, choose M here; the 26 module will be called "musb-hdrc". 27 28if USB_MUSB_HDRC 29 30choice 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 36config USB_MUSB_HOST 37 bool "Host only mode" 38 depends on USB=y || USB=USB_MUSB_HDRC 39 help 40 Select this when you want to use MUSB in host mode only, 41 thereby the gadget feature will be regressed. 42 43config USB_MUSB_GADGET 44 bool "Gadget only mode" 45 depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC 46 depends on HAS_DMA 47 help 48 Select this when you want to use MUSB in gadget mode only, 49 thereby the host feature will be regressed. 50 51config USB_MUSB_DUAL_ROLE 52 bool "Dual Role mode" 53 depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC)) 54 depends on HAS_DMA 55 help 56 This is the default mode of working of MUSB controller where 57 both host and gadget features are enabled. 58 59endchoice 60 61comment "Platform Glue Layer" 62 63config USB_MUSB_DAVINCI 64 tristate "DaVinci" 65 depends on ARCH_DAVINCI_DMx 66 depends on BROKEN 67 68config USB_MUSB_DA8XX 69 tristate "DA8xx/OMAP-L1x" 70 depends on ARCH_DAVINCI_DA8XX 71 depends on BROKEN 72 73config USB_MUSB_TUSB6010 74 tristate "TUSB6010" 75 depends on ARCH_OMAP2PLUS || COMPILE_TEST 76 depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules 77 78config USB_MUSB_OMAP2PLUS 79 tristate "OMAP2430 and onwards" 80 depends on ARCH_OMAP2PLUS && USB 81 select GENERIC_PHY 82 83config USB_MUSB_AM35X 84 tristate "AM35x" 85 depends on ARCH_OMAP 86 87config USB_MUSB_DSPS 88 tristate "TI DSPS platforms" 89 select USB_MUSB_AM335X_CHILD 90 depends on ARCH_OMAP2PLUS || COMPILE_TEST 91 depends on OF_IRQ 92 93config USB_MUSB_BLACKFIN 94 tristate "Blackfin" 95 depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523) 96 97config USB_MUSB_UX500 98 tristate "Ux500 platforms" 99 depends on ARCH_U8500 || COMPILE_TEST 100 101config USB_MUSB_JZ4740 102 tristate "JZ4740" 103 depends on MACH_JZ4740 || COMPILE_TEST 104 depends on USB_MUSB_GADGET 105 depends on USB_OTG_BLACKLIST_HUB 106 107config USB_MUSB_AM335X_CHILD 108 tristate 109 110choice 111 prompt 'MUSB DMA mode' 112 default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM || USB_MUSB_JZ4740 113 default USB_UX500_DMA if USB_MUSB_UX500 114 default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN 115 default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI 116 default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010 117 default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \ 118 || USB_MUSB_DSPS 119 help 120 Unfortunately, only one option can be enabled here. Ideally one 121 should be able to build all these drivers into one kernel to 122 allow using DMA on multiplatform kernels. 123 124config USB_UX500_DMA 125 bool 'ST Ericsson Ux500' 126 depends on USB_MUSB_UX500 127 help 128 Enable DMA transfers on UX500 platforms. 129 130config USB_INVENTRA_DMA 131 bool 'Inventra' 132 depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN 133 help 134 Enable DMA transfers using Mentor's engine. 135 136config USB_TI_CPPI_DMA 137 bool 'TI CPPI (Davinci)' 138 depends on USB_MUSB_DAVINCI 139 help 140 Enable DMA transfers when TI CPPI DMA is available. 141 142config USB_TI_CPPI41_DMA 143 bool 'TI CPPI 4.1 (AM335x)' 144 depends on ARCH_OMAP 145 select TI_CPPI41 146 147config USB_TUSB_OMAP_DMA 148 bool 'TUSB 6010' 149 depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules 150 depends on ARCH_OMAP 151 help 152 Enable DMA transfers on TUSB 6010 when OMAP DMA is available. 153 154config MUSB_PIO_ONLY 155 bool 'Disable DMA (always use PIO)' 156 help 157 All data is copied between memory and FIFO by the CPU. 158 DMA controllers are ignored. 159 160 Do not choose this unless DMA support for your SOC or board 161 is unavailable (or unstable). When DMA is enabled at compile time, 162 you can still disable it at run time using the "use_dma=n" module 163 parameter. 164 165endchoice 166 167endif # USB_MUSB_HDRC 168