2 # USB Dual Role (OTG-ready) Controller Drivers
3 # for silicon based on Mentor Graphics INVENTRA designs
6 # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
8 tristate 'Inventra Highspeed Dual Role Controller'
9 depends on (USB || USB_GADGET)
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.
18 Texas Instruments families using this IP include DaVinci
19 (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
21 Allwinner SoCs using this IP include A10, A13, A20, ...
23 If you do not know what this is, please say N.
25 To compile this driver as a module, choose M here; the
26 module will be called "musb-hdrc".
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)
38 depends on USB=y || USB=USB_MUSB_HDRC
40 Select this when you want to use MUSB in host mode only,
41 thereby the gadget feature will be regressed.
43 config USB_MUSB_GADGET
44 bool "Gadget only mode"
45 depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC
48 Select this when you want to use MUSB in gadget mode only,
49 thereby the host feature will be regressed.
51 config USB_MUSB_DUAL_ROLE
53 depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC))
56 This is the default mode of working of MUSB controller where
57 both host and gadget features are enabled.
61 comment "Platform Glue Layer"
64 tristate "Allwinner (sunxi)"
66 depends on NOP_USB_XCEIV
67 depends on PHY_SUN4I_USB
69 depends on GENERIC_PHY
72 config USB_MUSB_DAVINCI
74 depends on ARCH_DAVINCI_DMx
75 depends on NOP_USB_XCEIV
79 tristate "DA8xx/OMAP-L1x"
80 depends on ARCH_DAVINCI_DA8XX
81 depends on NOP_USB_XCEIV
84 config USB_MUSB_TUSB6010
87 depends on ARCH_OMAP2PLUS || COMPILE_TEST
88 depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules
90 config USB_MUSB_OMAP2PLUS
91 tristate "OMAP2430 and onwards"
92 depends on ARCH_OMAP2PLUS && USB
93 depends on OMAP_CONTROL_PHY || !OMAP_CONTROL_PHY
99 depends on NOP_USB_XCEIV
102 tristate "TI DSPS platforms"
103 select USB_MUSB_AM335X_CHILD
104 depends on ARCH_OMAP2PLUS || COMPILE_TEST
107 config USB_MUSB_UX500
108 tristate "Ux500 platforms"
109 depends on ARCH_U8500 || COMPILE_TEST
111 config USB_MUSB_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
118 config USB_MUSB_AM335X_CHILD
121 comment "MUSB DMA mode"
124 bool 'Disable DMA (always use PIO)'
126 All data is copied between memory and FIFO by the CPU.
127 DMA controllers are ignored.
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
137 bool 'ST Ericsson Ux500'
138 depends on USB_MUSB_UX500
140 Enable DMA transfers on UX500 platforms.
142 config USB_INVENTRA_DMA
144 depends on USB_MUSB_OMAP2PLUS
146 Enable DMA transfers using Mentor's engine.
148 config USB_TI_CPPI_DMA
149 bool 'TI CPPI (Davinci)'
150 depends on USB_MUSB_DAVINCI
152 Enable DMA transfers when TI CPPI DMA is available.
154 config USB_TI_CPPI41_DMA
156 depends on (ARCH_OMAP || ARCH_DAVINCI_DA8XX) && DMADEVICES
159 config USB_TUSB_OMAP_DMA
161 depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules
164 Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
166 endif # !MUSB_PIO_ONLY
168 endif # USB_MUSB_HDRC