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 NOP_USB_XCEIV 67 depends on BROKEN 68 69config USB_MUSB_DA8XX 70 tristate "DA8xx/OMAP-L1x" 71 depends on ARCH_DAVINCI_DA8XX 72 depends on NOP_USB_XCEIV 73 depends on BROKEN 74 75config USB_MUSB_TUSB6010 76 tristate "TUSB6010" 77 depends on ARCH_OMAP2PLUS || COMPILE_TEST 78 depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules 79 80config USB_MUSB_OMAP2PLUS 81 tristate "OMAP2430 and onwards" 82 depends on ARCH_OMAP2PLUS && USB 83 depends on OMAP_CONTROL_PHY || !OMAP_CONTROL_PHY 84 select GENERIC_PHY 85 86config USB_MUSB_AM35X 87 tristate "AM35x" 88 depends on ARCH_OMAP 89 depends on NOP_USB_XCEIV 90 91config USB_MUSB_DSPS 92 tristate "TI DSPS platforms" 93 select USB_MUSB_AM335X_CHILD 94 depends on ARCH_OMAP2PLUS || COMPILE_TEST 95 depends on OF_IRQ 96 97config USB_MUSB_BLACKFIN 98 tristate "Blackfin" 99 depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523) 100 depends on NOP_USB_XCEIV 101 102config USB_MUSB_UX500 103 tristate "Ux500 platforms" 104 depends on ARCH_U8500 || COMPILE_TEST 105 106config USB_MUSB_JZ4740 107 tristate "JZ4740" 108 depends on NOP_USB_XCEIV 109 depends on MACH_JZ4740 || COMPILE_TEST 110 depends on USB_MUSB_GADGET 111 depends on USB_OTG_BLACKLIST_HUB 112 113config USB_MUSB_AM335X_CHILD 114 tristate 115 116choice 117 prompt 'MUSB DMA mode' 118 default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM || USB_MUSB_JZ4740 119 default USB_UX500_DMA if USB_MUSB_UX500 120 default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN 121 default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI 122 default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010 123 default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \ 124 || USB_MUSB_DSPS 125 help 126 Unfortunately, only one option can be enabled here. Ideally one 127 should be able to build all these drivers into one kernel to 128 allow using DMA on multiplatform kernels. 129 130config USB_UX500_DMA 131 bool 'ST Ericsson Ux500' 132 depends on USB_MUSB_UX500 133 help 134 Enable DMA transfers on UX500 platforms. 135 136config USB_INVENTRA_DMA 137 bool 'Inventra' 138 depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN 139 help 140 Enable DMA transfers using Mentor's engine. 141 142config USB_TI_CPPI_DMA 143 bool 'TI CPPI (Davinci)' 144 depends on USB_MUSB_DAVINCI 145 help 146 Enable DMA transfers when TI CPPI DMA is available. 147 148config USB_TI_CPPI41_DMA 149 bool 'TI CPPI 4.1 (AM335x)' 150 depends on ARCH_OMAP && DMADEVICES 151 select TI_CPPI41 152 153config USB_TUSB_OMAP_DMA 154 bool 'TUSB 6010' 155 depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules 156 depends on ARCH_OMAP 157 help 158 Enable DMA transfers on TUSB 6010 when OMAP DMA is available. 159 160config MUSB_PIO_ONLY 161 bool 'Disable DMA (always use PIO)' 162 help 163 All data is copied between memory and FIFO by the CPU. 164 DMA controllers are ignored. 165 166 Do not choose this unless DMA support for your SOC or board 167 is unavailable (or unstable). When DMA is enabled at compile time, 168 you can still disable it at run time using the "use_dma=n" module 169 parameter. 170 171endchoice 172 173endif # USB_MUSB_HDRC 174