xref: /openbmc/linux/drivers/usb/musb/Kconfig (revision 9ecb887522a0483fdde8db7ec41d72b8235f2fe8)
1550a7375SFelipe Balbi#
2550a7375SFelipe Balbi# USB Dual Role (OTG-ready) Controller Drivers
3550a7375SFelipe Balbi# for silicon based on Mentor Graphics INVENTRA designs
4550a7375SFelipe Balbi#
5550a7375SFelipe Balbi
6550a7375SFelipe Balbi# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
7550a7375SFelipe Balbiconfig USB_MUSB_HDRC
854a605f4SFelipe Contreras	tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
962285963SFelipe Balbi	depends on USB && USB_GADGET
108ba63a22SCliff Cai	select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN)
11*9ecb8875SAjay Kumar Gupta	select NOP_USB_XCEIV if SOC_OMAPTI81XX
12550a7375SFelipe Balbi	select TWL4030_USB if MACH_OMAP_3430SDP
134c42fbc9SHema HK	select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA
1437daa925SDavid Brownell	select USB_OTG_UTILS
150de174b5SLuciano Coelho	select USB_GADGET_DUALSPEED
16550a7375SFelipe Balbi	help
17550a7375SFelipe Balbi	  Say Y here if your system has a dual role high speed USB
18550a7375SFelipe Balbi	  controller based on the Mentor Graphics silicon IP.  Then
19550a7375SFelipe Balbi	  configure options to match your silicon and the board
20550a7375SFelipe Balbi	  it's being used with, including the USB peripheral role,
21550a7375SFelipe Balbi	  or the USB host role, or both.
22550a7375SFelipe Balbi
23a227fd7dSDavid Brownell	  Texas Instruments familiies using this IP include DaVinci
24a227fd7dSDavid Brownell	  (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
25550a7375SFelipe Balbi
26085ad406SBryan Wu	  Analog Devices parts using this IP include Blackfin BF54x,
27085ad406SBryan Wu	  BF525 and BF527.
28085ad406SBryan Wu
29550a7375SFelipe Balbi	  If you do not know what this is, please say N.
30550a7375SFelipe Balbi
311376d92fSFelipe Balbi	  To compile this driver as a module, choose M here; the
321376d92fSFelipe Balbi	  module will be called "musb-hdrc".
33550a7375SFelipe Balbi
34c6bde9b5SFelipe Contrerasif USB_MUSB_HDRC
35c6bde9b5SFelipe Contreras
367c925546SFelipe Balbichoice
377c925546SFelipe Balbi	prompt "Platform Glue Layer"
38550a7375SFelipe Balbi
397c925546SFelipe Balbiconfig USB_MUSB_DAVINCI
401376d92fSFelipe Balbi	tristate "DaVinci"
417c925546SFelipe Balbi	depends on ARCH_DAVINCI_DMx
42550a7375SFelipe Balbi
437c925546SFelipe Balbiconfig USB_MUSB_DA8XX
441376d92fSFelipe Balbi	tristate "DA8xx/OMAP-L1x"
457c925546SFelipe Balbi	depends on ARCH_DAVINCI_DA8XX
463ee076deSSergei Shtylyov
477c925546SFelipe Balbiconfig USB_MUSB_TUSB6010
481376d92fSFelipe Balbi	tristate "TUSB6010"
49550a7375SFelipe Balbi
507c925546SFelipe Balbiconfig USB_MUSB_OMAP2PLUS
511376d92fSFelipe Balbi	tristate "OMAP2430 and onwards"
527c925546SFelipe Balbi	depends on ARCH_OMAP2PLUS
53085ad406SBryan Wu
54eb83092cSAjay Kumar Guptaconfig USB_MUSB_AM35X
551376d92fSFelipe Balbi	tristate "AM35x"
567c925546SFelipe Balbi	depends on ARCH_OMAP
57eb83092cSAjay Kumar Gupta
58*9ecb8875SAjay Kumar Guptaconfig USB_MUSB_DSPS
59*9ecb8875SAjay Kumar Gupta	tristate "TI DSPS platforms"
60*9ecb8875SAjay Kumar Gupta	depends on SOC_OMAPTI81XX
61*9ecb8875SAjay Kumar Gupta
627c925546SFelipe Balbiconfig USB_MUSB_BLACKFIN
631376d92fSFelipe Balbi	tristate "Blackfin"
647c925546SFelipe Balbi	depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
657c925546SFelipe Balbi
664bc36fd3SMian Yousaf Kaukabconfig USB_MUSB_UX500
671376d92fSFelipe Balbi	tristate "U8500 and U5500"
68d0678594SMian Yousaf Kaukab	depends on (ARCH_U8500 && AB8500_USB)
694bc36fd3SMian Yousaf Kaukab
707c925546SFelipe Balbiendchoice
71550a7375SFelipe Balbi
722e7fc3baSArnd Bergmannchoice
732e7fc3baSArnd Bergmann	prompt 'MUSB DMA mode'
742e7fc3baSArnd Bergmann	default USB_UX500_DMA if USB_MUSB_UX500
752e7fc3baSArnd Bergmann	default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
762e7fc3baSArnd Bergmann	default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI
772e7fc3baSArnd Bergmann	default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010
78*9ecb8875SAjay Kumar Gupta	default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \
79*9ecb8875SAjay Kumar Gupta				|| USB_MUSB_DSPS
80550a7375SFelipe Balbi	help
812e7fc3baSArnd Bergmann	  Unfortunately, only one option can be enabled here. Ideally one
822e7fc3baSArnd Bergmann	  should be able to build all these drivers into one kernel to
832e7fc3baSArnd Bergmann	  allow using DMA on multiplatform kernels.
84550a7375SFelipe Balbi
85d2389440SMian Yousaf Kaukabconfig USB_UX500_DMA
862e7fc3baSArnd Bergmann	bool 'ST Ericsson U8500 and U5500'
872e7fc3baSArnd Bergmann	depends on USB_MUSB_UX500
88d2389440SMian Yousaf Kaukab	help
89d2389440SMian Yousaf Kaukab	  Enable DMA transfers on UX500 platforms.
90d2389440SMian Yousaf Kaukab
91550a7375SFelipe Balbiconfig USB_INVENTRA_DMA
922e7fc3baSArnd Bergmann	bool 'Inventra'
932e7fc3baSArnd Bergmann	depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
94550a7375SFelipe Balbi	help
95550a7375SFelipe Balbi	  Enable DMA transfers using Mentor's engine.
96550a7375SFelipe Balbi
97550a7375SFelipe Balbiconfig USB_TI_CPPI_DMA
982e7fc3baSArnd Bergmann	bool 'TI CPPI (Davinci)'
992e7fc3baSArnd Bergmann	depends on USB_MUSB_DAVINCI
100550a7375SFelipe Balbi	help
101550a7375SFelipe Balbi	  Enable DMA transfers when TI CPPI DMA is available.
102550a7375SFelipe Balbi
103550a7375SFelipe Balbiconfig USB_TUSB_OMAP_DMA
1042e7fc3baSArnd Bergmann	bool 'TUSB 6010'
1057c925546SFelipe Balbi	depends on USB_MUSB_TUSB6010
106550a7375SFelipe Balbi	depends on ARCH_OMAP
107550a7375SFelipe Balbi	help
108550a7375SFelipe Balbi	  Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
109550a7375SFelipe Balbi
1102e7fc3baSArnd Bergmannconfig MUSB_PIO_ONLY
1112e7fc3baSArnd Bergmann	bool 'Disable DMA (always use PIO)'
1122e7fc3baSArnd Bergmann	help
1132e7fc3baSArnd Bergmann	  All data is copied between memory and FIFO by the CPU.
1142e7fc3baSArnd Bergmann	  DMA controllers are ignored.
1152e7fc3baSArnd Bergmann
1162e7fc3baSArnd Bergmann	  Do not choose this unless DMA support for your SOC or board
1172e7fc3baSArnd Bergmann	  is unavailable (or unstable).  When DMA is enabled at compile time,
1182e7fc3baSArnd Bergmann	  you can still disable it at run time using the "use_dma=n" module
1192e7fc3baSArnd Bergmann	  parameter.
1202e7fc3baSArnd Bergmann
1212e7fc3baSArnd Bergmannendchoice
122c6bde9b5SFelipe Contreras
123c6bde9b5SFelipe Contrerasendif # USB_MUSB_HDRC
124