Kconfig 4.5 KB
Newer Older
F
Felipe Balbi 已提交
1 2 3 4 5 6 7
#
# USB Dual Role (OTG-ready) Controller Drivers
# for silicon based on Mentor Graphics INVENTRA designs
#

# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
config USB_MUSB_HDRC
8
	tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, AW, ...)'
9
	depends on (USB || USB_GADGET)
F
Felipe Balbi 已提交
10 11 12 13 14 15 16
	help
	  Say Y here if your system has a dual role high speed USB
	  controller based on the Mentor Graphics silicon IP.  Then
	  configure options to match your silicon and the board
	  it's being used with, including the USB peripheral role,
	  or the USB host role, or both.

17
	  Texas Instruments families using this IP include DaVinci
18
	  (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
F
Felipe Balbi 已提交
19

20 21 22
	  Analog Devices parts using this IP include Blackfin BF54x,
	  BF525 and BF527.

23 24
	  Allwinner SoCs using this IP include A10, A13, A20, ...

F
Felipe Balbi 已提交
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
	  module will be called "musb-hdrc".
F
Felipe Balbi 已提交
29

F
Felipe Contreras 已提交
30 31
if USB_MUSB_HDRC

32 33 34 35 36 37 38 39
choice
	bool "MUSB Mode Selection"
	default USB_MUSB_DUAL_ROLE if (USB && USB_GADGET)
	default USB_MUSB_HOST if (USB && !USB_GADGET)
	default USB_MUSB_GADGET if (!USB && USB_GADGET)

config USB_MUSB_HOST
	bool "Host only mode"
40
	depends on USB=y || USB=USB_MUSB_HDRC
41 42 43 44 45 46
	help
	  Select this when you want to use MUSB in host mode only,
	  thereby the gadget feature will be regressed.

config USB_MUSB_GADGET
	bool "Gadget only mode"
47
	depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC
48
	depends on HAS_DMA
49 50 51 52 53 54
	help
	  Select this when you want to use MUSB in gadget mode only,
	  thereby the host feature will be regressed.

config USB_MUSB_DUAL_ROLE
	bool "Dual Role mode"
55
	depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC))
56
	depends on HAS_DMA
57 58 59 60 61 62
	help
	  This is the default mode of working of MUSB controller where
	  both host and gadget features are enabled.

endchoice

63
comment "Platform Glue Layer"
F
Felipe Balbi 已提交
64

65 66 67 68 69 70 71 72 73
config USB_MUSB_SUNXI
	tristate "Allwinner (sunxi)"
	depends on ARCH_SUNXI
	depends on NOP_USB_XCEIV
	depends on PHY_SUN4I_USB
	depends on EXTCON
	depends on GENERIC_PHY
	select SUNXI_SRAM

74
config USB_MUSB_DAVINCI
75
	tristate "DaVinci"
76
	depends on ARCH_DAVINCI_DMx
77
	depends on NOP_USB_XCEIV
78
	depends on BROKEN
F
Felipe Balbi 已提交
79

80
config USB_MUSB_DA8XX
81
	tristate "DA8xx/OMAP-L1x"
82
	depends on ARCH_DAVINCI_DA8XX
83
	depends on NOP_USB_XCEIV
84
	depends on BROKEN
85

86
config USB_MUSB_TUSB6010
87
	tristate "TUSB6010"
88 89
	depends on ARCH_OMAP2PLUS || COMPILE_TEST
	depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules
F
Felipe Balbi 已提交
90

91
config USB_MUSB_OMAP2PLUS
92
	tristate "OMAP2430 and onwards"
93 94
	depends on ARCH_OMAP2PLUS && USB
	depends on OMAP_CONTROL_PHY || !OMAP_CONTROL_PHY
95
	select GENERIC_PHY
F
Felipe Balbi 已提交
96

97
config USB_MUSB_AM35X
98
	tristate "AM35x"
99
	depends on ARCH_OMAP
100
	depends on NOP_USB_XCEIV
101

102 103
config USB_MUSB_DSPS
	tristate "TI DSPS platforms"
104
	select USB_MUSB_AM335X_CHILD
105
	depends on ARCH_OMAP2PLUS || COMPILE_TEST
106
	depends on OF_IRQ
107

108
config USB_MUSB_BLACKFIN
109
	tristate "Blackfin"
110
	depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
111
	depends on NOP_USB_XCEIV
112

113
config USB_MUSB_UX500
114
	tristate "Ux500 platforms"
115
	depends on ARCH_U8500 || COMPILE_TEST
116

117 118
config USB_MUSB_JZ4740
	tristate "JZ4740"
119
	depends on NOP_USB_XCEIV
120 121 122 123
	depends on MACH_JZ4740 || COMPILE_TEST
	depends on USB_MUSB_GADGET
	depends on USB_OTG_BLACKLIST_HUB

124 125 126
config USB_MUSB_AM335X_CHILD
	tristate

127 128 129 130
comment "MUSB DMA mode"

config MUSB_PIO_ONLY
	bool 'Disable DMA (always use PIO)'
F
Felipe Balbi 已提交
131
	help
132 133 134 135 136 137 138 139 140
	  All data is copied between memory and FIFO by the CPU.
	  DMA controllers are ignored.

	  Do not choose this unless DMA support for your SOC or board
	  is unavailable (or unstable).  When DMA is enabled at compile time,
	  you can still disable it at run time using the "use_dma=n" module
	  parameter.

if !MUSB_PIO_ONLY
F
Felipe Balbi 已提交
141

142
config USB_UX500_DMA
143
	bool 'ST Ericsson Ux500'
144
	depends on USB_MUSB_UX500
145 146 147
	help
	  Enable DMA transfers on UX500 platforms.

F
Felipe Balbi 已提交
148
config USB_INVENTRA_DMA
149 150
	bool 'Inventra'
	depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
F
Felipe Balbi 已提交
151 152 153 154
	help
	  Enable DMA transfers using Mentor's engine.

config USB_TI_CPPI_DMA
155 156
	bool 'TI CPPI (Davinci)'
	depends on USB_MUSB_DAVINCI
F
Felipe Balbi 已提交
157 158 159
	help
	  Enable DMA transfers when TI CPPI DMA is available.

160 161
config USB_TI_CPPI41_DMA
	bool 'TI CPPI 4.1 (AM335x)'
162
	depends on ARCH_OMAP && DMADEVICES
163
	select TI_CPPI41
164

F
Felipe Balbi 已提交
165
config USB_TUSB_OMAP_DMA
166
	bool 'TUSB 6010'
167
	depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules
F
Felipe Balbi 已提交
168 169 170 171
	depends on ARCH_OMAP
	help
	  Enable DMA transfers on TUSB 6010 when OMAP DMA is available.

172
endif # !MUSB_PIO_ONLY
F
Felipe Contreras 已提交
173 174

endif # USB_MUSB_HDRC