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