xref: /openbmc/linux/drivers/usb/musb/Kconfig (revision 54a605f4cee1b208d8728352d6851680d39c7161)
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
8*54a605f4SFelipe 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)
11550a7375SFelipe Balbi	select TWL4030_USB if MACH_OMAP_3430SDP
124c42fbc9SHema HK	select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA
1337daa925SDavid Brownell	select USB_OTG_UTILS
140de174b5SLuciano Coelho	select USB_GADGET_DUALSPEED
15550a7375SFelipe Balbi	help
16550a7375SFelipe Balbi	  Say Y here if your system has a dual role high speed USB
17550a7375SFelipe Balbi	  controller based on the Mentor Graphics silicon IP.  Then
18550a7375SFelipe Balbi	  configure options to match your silicon and the board
19550a7375SFelipe Balbi	  it's being used with, including the USB peripheral role,
20550a7375SFelipe Balbi	  or the USB host role, or both.
21550a7375SFelipe Balbi
22a227fd7dSDavid Brownell	  Texas Instruments familiies using this IP include DaVinci
23a227fd7dSDavid Brownell	  (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
24550a7375SFelipe Balbi
25085ad406SBryan Wu	  Analog Devices parts using this IP include Blackfin BF54x,
26085ad406SBryan Wu	  BF525 and BF527.
27085ad406SBryan Wu
28550a7375SFelipe Balbi	  If you do not know what this is, please say N.
29550a7375SFelipe Balbi
301376d92fSFelipe Balbi	  To compile this driver as a module, choose M here; the
311376d92fSFelipe Balbi	  module will be called "musb-hdrc".
32550a7375SFelipe Balbi
337c925546SFelipe Balbichoice
347c925546SFelipe Balbi	prompt "Platform Glue Layer"
35550a7375SFelipe Balbi	depends on USB_MUSB_HDRC
36550a7375SFelipe Balbi
377c925546SFelipe Balbiconfig USB_MUSB_DAVINCI
381376d92fSFelipe Balbi	tristate "DaVinci"
397c925546SFelipe Balbi	depends on ARCH_DAVINCI_DMx
40550a7375SFelipe Balbi
417c925546SFelipe Balbiconfig USB_MUSB_DA8XX
421376d92fSFelipe Balbi	tristate "DA8xx/OMAP-L1x"
437c925546SFelipe Balbi	depends on ARCH_DAVINCI_DA8XX
443ee076deSSergei Shtylyov
457c925546SFelipe Balbiconfig USB_MUSB_TUSB6010
461376d92fSFelipe Balbi	tristate "TUSB6010"
47550a7375SFelipe Balbi
487c925546SFelipe Balbiconfig USB_MUSB_OMAP2PLUS
491376d92fSFelipe Balbi	tristate "OMAP2430 and onwards"
507c925546SFelipe Balbi	depends on ARCH_OMAP2PLUS
51085ad406SBryan Wu
52eb83092cSAjay Kumar Guptaconfig USB_MUSB_AM35X
531376d92fSFelipe Balbi	tristate "AM35x"
547c925546SFelipe Balbi	depends on ARCH_OMAP
55eb83092cSAjay Kumar Gupta
567c925546SFelipe Balbiconfig USB_MUSB_BLACKFIN
571376d92fSFelipe Balbi	tristate "Blackfin"
587c925546SFelipe Balbi	depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
597c925546SFelipe Balbi
604bc36fd3SMian Yousaf Kaukabconfig USB_MUSB_UX500
611376d92fSFelipe Balbi	tristate "U8500 and U5500"
62d0678594SMian Yousaf Kaukab	depends on (ARCH_U8500 && AB8500_USB)
634bc36fd3SMian Yousaf Kaukab
647c925546SFelipe Balbiendchoice
65550a7375SFelipe Balbi
662e7fc3baSArnd Bergmannchoice
672e7fc3baSArnd Bergmann	prompt 'MUSB DMA mode'
682e7fc3baSArnd Bergmann	default USB_UX500_DMA if USB_MUSB_UX500
692e7fc3baSArnd Bergmann	default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
702e7fc3baSArnd Bergmann	default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI
712e7fc3baSArnd Bergmann	default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010
722e7fc3baSArnd Bergmann	default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X
73550a7375SFelipe Balbi	help
742e7fc3baSArnd Bergmann	  Unfortunately, only one option can be enabled here. Ideally one
752e7fc3baSArnd Bergmann	  should be able to build all these drivers into one kernel to
762e7fc3baSArnd Bergmann	  allow using DMA on multiplatform kernels.
77550a7375SFelipe Balbi
78d2389440SMian Yousaf Kaukabconfig USB_UX500_DMA
792e7fc3baSArnd Bergmann	bool 'ST Ericsson U8500 and U5500'
802e7fc3baSArnd Bergmann	depends on USB_MUSB_HDRC
812e7fc3baSArnd Bergmann	depends on USB_MUSB_UX500
82d2389440SMian Yousaf Kaukab	help
83d2389440SMian Yousaf Kaukab	  Enable DMA transfers on UX500 platforms.
84d2389440SMian Yousaf Kaukab
85550a7375SFelipe Balbiconfig USB_INVENTRA_DMA
862e7fc3baSArnd Bergmann	bool 'Inventra'
872e7fc3baSArnd Bergmann	depends on USB_MUSB_HDRC
882e7fc3baSArnd Bergmann	depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
89550a7375SFelipe Balbi	help
90550a7375SFelipe Balbi	  Enable DMA transfers using Mentor's engine.
91550a7375SFelipe Balbi
92550a7375SFelipe Balbiconfig USB_TI_CPPI_DMA
932e7fc3baSArnd Bergmann	bool 'TI CPPI (Davinci)'
942e7fc3baSArnd Bergmann	depends on USB_MUSB_HDRC
952e7fc3baSArnd Bergmann	depends on USB_MUSB_DAVINCI
96550a7375SFelipe Balbi	help
97550a7375SFelipe Balbi	  Enable DMA transfers when TI CPPI DMA is available.
98550a7375SFelipe Balbi
99550a7375SFelipe Balbiconfig USB_TUSB_OMAP_DMA
1002e7fc3baSArnd Bergmann	bool 'TUSB 6010'
1012e7fc3baSArnd Bergmann	depends on USB_MUSB_HDRC
1027c925546SFelipe Balbi	depends on USB_MUSB_TUSB6010
103550a7375SFelipe Balbi	depends on ARCH_OMAP
104550a7375SFelipe Balbi	help
105550a7375SFelipe Balbi	  Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
106550a7375SFelipe Balbi
1072e7fc3baSArnd Bergmannconfig MUSB_PIO_ONLY
1082e7fc3baSArnd Bergmann	bool 'Disable DMA (always use PIO)'
1092e7fc3baSArnd Bergmann	depends on USB_MUSB_HDRC
1102e7fc3baSArnd Bergmann	help
1112e7fc3baSArnd Bergmann	  All data is copied between memory and FIFO by the CPU.
1122e7fc3baSArnd Bergmann	  DMA controllers are ignored.
1132e7fc3baSArnd Bergmann
1142e7fc3baSArnd Bergmann	  Do not choose this unless DMA support for your SOC or board
1152e7fc3baSArnd Bergmann	  is unavailable (or unstable).  When DMA is enabled at compile time,
1162e7fc3baSArnd Bergmann	  you can still disable it at run time using the "use_dma=n" module
1172e7fc3baSArnd Bergmann	  parameter.
1182e7fc3baSArnd Bergmann
1192e7fc3baSArnd Bergmannendchoice
120