xref: /openbmc/linux/drivers/usb/musb/Kconfig (revision 787f5627bec80094db487bfcb401e9744f181aed)
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
1037daa925SDavid Brownell	select USB_OTG_UTILS
11550a7375SFelipe Balbi	help
12550a7375SFelipe Balbi	  Say Y here if your system has a dual role high speed USB
13550a7375SFelipe Balbi	  controller based on the Mentor Graphics silicon IP.  Then
14550a7375SFelipe Balbi	  configure options to match your silicon and the board
15550a7375SFelipe Balbi	  it's being used with, including the USB peripheral role,
16550a7375SFelipe Balbi	  or the USB host role, or both.
17550a7375SFelipe Balbi
1857bfc0a7SPeter Meerwald	  Texas Instruments families using this IP include DaVinci
19a227fd7dSDavid Brownell	  (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
20550a7375SFelipe Balbi
21085ad406SBryan Wu	  Analog Devices parts using this IP include Blackfin BF54x,
22085ad406SBryan Wu	  BF525 and BF527.
23085ad406SBryan Wu
24550a7375SFelipe Balbi	  If you do not know what this is, please say N.
25550a7375SFelipe Balbi
261376d92fSFelipe Balbi	  To compile this driver as a module, choose M here; the
271376d92fSFelipe Balbi	  module will be called "musb-hdrc".
28550a7375SFelipe Balbi
29c6bde9b5SFelipe Contrerasif USB_MUSB_HDRC
30c6bde9b5SFelipe Contreras
317c925546SFelipe Balbichoice
327c925546SFelipe Balbi	prompt "Platform Glue Layer"
33550a7375SFelipe Balbi
347c925546SFelipe Balbiconfig USB_MUSB_DAVINCI
351376d92fSFelipe Balbi	tristate "DaVinci"
367c925546SFelipe Balbi	depends on ARCH_DAVINCI_DMx
37*787f5627SFelipe Balbi	depends on BROKEN
38550a7375SFelipe Balbi
397c925546SFelipe Balbiconfig USB_MUSB_DA8XX
401376d92fSFelipe Balbi	tristate "DA8xx/OMAP-L1x"
417c925546SFelipe Balbi	depends on ARCH_DAVINCI_DA8XX
42*787f5627SFelipe Balbi	depends on BROKEN
433ee076deSSergei Shtylyov
447c925546SFelipe Balbiconfig USB_MUSB_TUSB6010
451376d92fSFelipe Balbi	tristate "TUSB6010"
465273afe3SHeiko Carstens	depends on GENERIC_HARDIRQS
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
569ecb8875SAjay Kumar Guptaconfig USB_MUSB_DSPS
579ecb8875SAjay Kumar Gupta	tristate "TI DSPS platforms"
581f3f7eceSAjay Kumar Gupta	depends on SOC_TI81XX || SOC_AM33XX
599ecb8875SAjay Kumar Gupta
607c925546SFelipe Balbiconfig USB_MUSB_BLACKFIN
611376d92fSFelipe Balbi	tristate "Blackfin"
627c925546SFelipe Balbi	depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
637c925546SFelipe Balbi
644bc36fd3SMian Yousaf Kaukabconfig USB_MUSB_UX500
651376d92fSFelipe Balbi	tristate "U8500 and U5500"
66d0678594SMian Yousaf Kaukab	depends on (ARCH_U8500 && AB8500_USB)
674bc36fd3SMian Yousaf Kaukab
687c925546SFelipe Balbiendchoice
69550a7375SFelipe Balbi
702e7fc3baSArnd Bergmannchoice
712e7fc3baSArnd Bergmann	prompt 'MUSB DMA mode'
7299b7856fSFelipe Balbi	default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM
732e7fc3baSArnd Bergmann	default USB_UX500_DMA if USB_MUSB_UX500
742e7fc3baSArnd Bergmann	default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
752e7fc3baSArnd Bergmann	default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI
762e7fc3baSArnd Bergmann	default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010
779ecb8875SAjay Kumar Gupta	default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \
789ecb8875SAjay Kumar Gupta				|| USB_MUSB_DSPS
79550a7375SFelipe Balbi	help
802e7fc3baSArnd Bergmann	  Unfortunately, only one option can be enabled here. Ideally one
812e7fc3baSArnd Bergmann	  should be able to build all these drivers into one kernel to
822e7fc3baSArnd Bergmann	  allow using DMA on multiplatform kernels.
83550a7375SFelipe Balbi
84d2389440SMian Yousaf Kaukabconfig USB_UX500_DMA
852e7fc3baSArnd Bergmann	bool 'ST Ericsson U8500 and U5500'
862e7fc3baSArnd Bergmann	depends on USB_MUSB_UX500
87d2389440SMian Yousaf Kaukab	help
88d2389440SMian Yousaf Kaukab	  Enable DMA transfers on UX500 platforms.
89d2389440SMian Yousaf Kaukab
90550a7375SFelipe Balbiconfig USB_INVENTRA_DMA
912e7fc3baSArnd Bergmann	bool 'Inventra'
922e7fc3baSArnd Bergmann	depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
93550a7375SFelipe Balbi	help
94550a7375SFelipe Balbi	  Enable DMA transfers using Mentor's engine.
95550a7375SFelipe Balbi
96550a7375SFelipe Balbiconfig USB_TI_CPPI_DMA
972e7fc3baSArnd Bergmann	bool 'TI CPPI (Davinci)'
982e7fc3baSArnd Bergmann	depends on USB_MUSB_DAVINCI
99550a7375SFelipe Balbi	help
100550a7375SFelipe Balbi	  Enable DMA transfers when TI CPPI DMA is available.
101550a7375SFelipe Balbi
102550a7375SFelipe Balbiconfig USB_TUSB_OMAP_DMA
1032e7fc3baSArnd Bergmann	bool 'TUSB 6010'
1047c925546SFelipe Balbi	depends on USB_MUSB_TUSB6010
105550a7375SFelipe Balbi	depends on ARCH_OMAP
106550a7375SFelipe Balbi	help
107550a7375SFelipe Balbi	  Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
108550a7375SFelipe Balbi
1092e7fc3baSArnd Bergmannconfig MUSB_PIO_ONLY
1102e7fc3baSArnd Bergmann	bool 'Disable DMA (always use PIO)'
1112e7fc3baSArnd Bergmann	help
1122e7fc3baSArnd Bergmann	  All data is copied between memory and FIFO by the CPU.
1132e7fc3baSArnd Bergmann	  DMA controllers are ignored.
1142e7fc3baSArnd Bergmann
1152e7fc3baSArnd Bergmann	  Do not choose this unless DMA support for your SOC or board
1162e7fc3baSArnd Bergmann	  is unavailable (or unstable).  When DMA is enabled at compile time,
1172e7fc3baSArnd Bergmann	  you can still disable it at run time using the "use_dma=n" module
1182e7fc3baSArnd Bergmann	  parameter.
1192e7fc3baSArnd Bergmann
1202e7fc3baSArnd Bergmannendchoice
121c6bde9b5SFelipe Contreras
122c6bde9b5SFelipe Contrerasendif # USB_MUSB_HDRC
123