xref: /openbmc/linux/drivers/usb/musb/Kconfig (revision 25e11ec4fe5271c4895265ecbb69531e6b0c0dd5)
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, ...)'
9*25e11ec4SFlorian Fainelli	depends on USB_GADGET
10550a7375SFelipe Balbi	help
11550a7375SFelipe Balbi	  Say Y here if your system has a dual role high speed USB
12550a7375SFelipe Balbi	  controller based on the Mentor Graphics silicon IP.  Then
13550a7375SFelipe Balbi	  configure options to match your silicon and the board
14550a7375SFelipe Balbi	  it's being used with, including the USB peripheral role,
15550a7375SFelipe Balbi	  or the USB host role, or both.
16550a7375SFelipe Balbi
1757bfc0a7SPeter Meerwald	  Texas Instruments families using this IP include DaVinci
18a227fd7dSDavid Brownell	  (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
19550a7375SFelipe Balbi
20085ad406SBryan Wu	  Analog Devices parts using this IP include Blackfin BF54x,
21085ad406SBryan Wu	  BF525 and BF527.
22085ad406SBryan Wu
23550a7375SFelipe Balbi	  If you do not know what this is, please say N.
24550a7375SFelipe Balbi
251376d92fSFelipe Balbi	  To compile this driver as a module, choose M here; the
261376d92fSFelipe Balbi	  module will be called "musb-hdrc".
27550a7375SFelipe Balbi
28c6bde9b5SFelipe Contrerasif USB_MUSB_HDRC
29c6bde9b5SFelipe Contreras
307c925546SFelipe Balbichoice
317c925546SFelipe Balbi	prompt "Platform Glue Layer"
32550a7375SFelipe Balbi
337c925546SFelipe Balbiconfig USB_MUSB_DAVINCI
341376d92fSFelipe Balbi	tristate "DaVinci"
357c925546SFelipe Balbi	depends on ARCH_DAVINCI_DMx
36787f5627SFelipe Balbi	depends on BROKEN
37550a7375SFelipe Balbi
387c925546SFelipe Balbiconfig USB_MUSB_DA8XX
391376d92fSFelipe Balbi	tristate "DA8xx/OMAP-L1x"
407c925546SFelipe Balbi	depends on ARCH_DAVINCI_DA8XX
41787f5627SFelipe Balbi	depends on BROKEN
423ee076deSSergei Shtylyov
437c925546SFelipe Balbiconfig USB_MUSB_TUSB6010
441376d92fSFelipe Balbi	tristate "TUSB6010"
455273afe3SHeiko Carstens	depends on GENERIC_HARDIRQS
46550a7375SFelipe Balbi
477c925546SFelipe Balbiconfig USB_MUSB_OMAP2PLUS
481376d92fSFelipe Balbi	tristate "OMAP2430 and onwards"
497c925546SFelipe Balbi	depends on ARCH_OMAP2PLUS
50085ad406SBryan Wu
51eb83092cSAjay Kumar Guptaconfig USB_MUSB_AM35X
521376d92fSFelipe Balbi	tristate "AM35x"
537c925546SFelipe Balbi	depends on ARCH_OMAP
54eb83092cSAjay Kumar Gupta
559ecb8875SAjay Kumar Guptaconfig USB_MUSB_DSPS
569ecb8875SAjay Kumar Gupta	tristate "TI DSPS platforms"
579ecb8875SAjay Kumar Gupta
587c925546SFelipe Balbiconfig USB_MUSB_BLACKFIN
591376d92fSFelipe Balbi	tristate "Blackfin"
607c925546SFelipe Balbi	depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
617c925546SFelipe Balbi
624bc36fd3SMian Yousaf Kaukabconfig USB_MUSB_UX500
631376d92fSFelipe Balbi	tristate "U8500 and U5500"
644bc36fd3SMian Yousaf Kaukab
657c925546SFelipe Balbiendchoice
66550a7375SFelipe Balbi
672e7fc3baSArnd Bergmannchoice
682e7fc3baSArnd Bergmann	prompt 'MUSB DMA mode'
6999b7856fSFelipe Balbi	default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM
702e7fc3baSArnd Bergmann	default USB_UX500_DMA if USB_MUSB_UX500
712e7fc3baSArnd Bergmann	default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
722e7fc3baSArnd Bergmann	default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI
732e7fc3baSArnd Bergmann	default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010
749ecb8875SAjay Kumar Gupta	default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \
759ecb8875SAjay Kumar Gupta				|| USB_MUSB_DSPS
76550a7375SFelipe Balbi	help
772e7fc3baSArnd Bergmann	  Unfortunately, only one option can be enabled here. Ideally one
782e7fc3baSArnd Bergmann	  should be able to build all these drivers into one kernel to
792e7fc3baSArnd Bergmann	  allow using DMA on multiplatform kernels.
80550a7375SFelipe Balbi
81d2389440SMian Yousaf Kaukabconfig USB_UX500_DMA
822e7fc3baSArnd Bergmann	bool 'ST Ericsson U8500 and U5500'
832e7fc3baSArnd Bergmann	depends on USB_MUSB_UX500
84d2389440SMian Yousaf Kaukab	help
85d2389440SMian Yousaf Kaukab	  Enable DMA transfers on UX500 platforms.
86d2389440SMian Yousaf Kaukab
87550a7375SFelipe Balbiconfig USB_INVENTRA_DMA
882e7fc3baSArnd Bergmann	bool 'Inventra'
892e7fc3baSArnd Bergmann	depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
90550a7375SFelipe Balbi	help
91550a7375SFelipe Balbi	  Enable DMA transfers using Mentor's engine.
92550a7375SFelipe Balbi
93550a7375SFelipe Balbiconfig USB_TI_CPPI_DMA
942e7fc3baSArnd Bergmann	bool 'TI CPPI (Davinci)'
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'
1017c925546SFelipe Balbi	depends on USB_MUSB_TUSB6010
102550a7375SFelipe Balbi	depends on ARCH_OMAP
103550a7375SFelipe Balbi	help
104550a7375SFelipe Balbi	  Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
105550a7375SFelipe Balbi
1062e7fc3baSArnd Bergmannconfig MUSB_PIO_ONLY
1072e7fc3baSArnd Bergmann	bool 'Disable DMA (always use PIO)'
1082e7fc3baSArnd Bergmann	help
1092e7fc3baSArnd Bergmann	  All data is copied between memory and FIFO by the CPU.
1102e7fc3baSArnd Bergmann	  DMA controllers are ignored.
1112e7fc3baSArnd Bergmann
1122e7fc3baSArnd Bergmann	  Do not choose this unless DMA support for your SOC or board
1132e7fc3baSArnd Bergmann	  is unavailable (or unstable).  When DMA is enabled at compile time,
1142e7fc3baSArnd Bergmann	  you can still disable it at run time using the "use_dma=n" module
1152e7fc3baSArnd Bergmann	  parameter.
1162e7fc3baSArnd Bergmann
1172e7fc3baSArnd Bergmannendchoice
118c6bde9b5SFelipe Contreras
119c6bde9b5SFelipe Contrerasendif # USB_MUSB_HDRC
120