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