blob: 6192b45959f434d2e32b10a9e404f0f7c02fbd47 [file] [log] [blame]
Felipe Balbi550a7372008-07-24 12:27:36 +03001#
2# USB Dual Role (OTG-ready) Controller Drivers
3# for silicon based on Mentor Graphics INVENTRA designs
4#
5
6comment "Enable Host or Gadget support to see Inventra options"
7 depends on !USB && USB_GADGET=n
8
9# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
10config USB_MUSB_HDRC
Felipe Balbi62285962011-06-22 17:28:09 +030011 depends on USB && USB_GADGET
Sonic Zhang1c47cb02009-11-16 20:04:21 -050012 depends on (ARM || (BF54x && !BF544) || (BF52x && !BF522 && !BF523))
Cliff Cai8ba63a22009-11-16 20:05:03 -050013 select NOP_USB_XCEIV if (ARCH_DAVINCI || MACH_OMAP3EVM || BLACKFIN)
Felipe Balbi550a7372008-07-24 12:27:36 +030014 select TWL4030_USB if MACH_OMAP_3430SDP
Hema HK4c42fbc2010-12-10 18:09:35 +053015 select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA
David Brownell37daa922009-01-24 17:56:25 -080016 select USB_OTG_UTILS
Felipe Balbi1376d922011-05-11 12:47:59 +030017 tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
Felipe Balbi550a7372008-07-24 12:27:36 +030018 help
19 Say Y here if your system has a dual role high speed USB
20 controller based on the Mentor Graphics silicon IP. Then
21 configure options to match your silicon and the board
22 it's being used with, including the USB peripheral role,
23 or the USB host role, or both.
24
David Brownella227fd72009-02-24 15:31:54 -080025 Texas Instruments familiies using this IP include DaVinci
26 (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
Felipe Balbi550a7372008-07-24 12:27:36 +030027
Bryan Wu085ad402008-12-02 21:33:49 +020028 Analog Devices parts using this IP include Blackfin BF54x,
29 BF525 and BF527.
30
Felipe Balbi550a7372008-07-24 12:27:36 +030031 If you do not know what this is, please say N.
32
Felipe Balbi1376d922011-05-11 12:47:59 +030033 To compile this driver as a module, choose M here; the
34 module will be called "musb-hdrc".
Felipe Balbi550a7372008-07-24 12:27:36 +030035
Felipe Balbi7c925542010-12-01 14:23:48 +020036choice
37 prompt "Platform Glue Layer"
Felipe Balbi550a7372008-07-24 12:27:36 +030038 depends on USB_MUSB_HDRC
Felipe Balbi550a7372008-07-24 12:27:36 +030039
Felipe Balbi7c925542010-12-01 14:23:48 +020040config USB_MUSB_DAVINCI
Felipe Balbi1376d922011-05-11 12:47:59 +030041 tristate "DaVinci"
Felipe Balbi7c925542010-12-01 14:23:48 +020042 depends on ARCH_DAVINCI_DMx
Felipe Balbi550a7372008-07-24 12:27:36 +030043
Felipe Balbi7c925542010-12-01 14:23:48 +020044config USB_MUSB_DA8XX
Felipe Balbi1376d922011-05-11 12:47:59 +030045 tristate "DA8xx/OMAP-L1x"
Felipe Balbi7c925542010-12-01 14:23:48 +020046 depends on ARCH_DAVINCI_DA8XX
Sergei Shtylyov3ee076d2010-09-24 13:44:03 +030047
Felipe Balbi7c925542010-12-01 14:23:48 +020048config USB_MUSB_TUSB6010
Felipe Balbi1376d922011-05-11 12:47:59 +030049 tristate "TUSB6010"
Felipe Balbi7c925542010-12-01 14:23:48 +020050 depends on ARCH_OMAP
Felipe Balbi550a7372008-07-24 12:27:36 +030051
Felipe Balbi7c925542010-12-01 14:23:48 +020052config USB_MUSB_OMAP2PLUS
Felipe Balbi1376d922011-05-11 12:47:59 +030053 tristate "OMAP2430 and onwards"
Felipe Balbi7c925542010-12-01 14:23:48 +020054 depends on ARCH_OMAP2PLUS
Bryan Wu085ad402008-12-02 21:33:49 +020055
Ajay Kumar Guptaeb830922010-10-19 10:08:12 +030056config USB_MUSB_AM35X
Felipe Balbi1376d922011-05-11 12:47:59 +030057 tristate "AM35x"
Felipe Balbi7c925542010-12-01 14:23:48 +020058 depends on ARCH_OMAP
Ajay Kumar Guptaeb830922010-10-19 10:08:12 +030059
Felipe Balbi7c925542010-12-01 14:23:48 +020060config USB_MUSB_BLACKFIN
Felipe Balbi1376d922011-05-11 12:47:59 +030061 tristate "Blackfin"
Felipe Balbi7c925542010-12-01 14:23:48 +020062 depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)
63
Mian Yousaf Kaukab4bc36fd2010-12-09 13:05:01 +010064config USB_MUSB_UX500
Felipe Balbi1376d922011-05-11 12:47:59 +030065 tristate "U8500 and U5500"
Mian Yousaf Kaukab4bc36fd2010-12-09 13:05:01 +010066 depends on (ARCH_U8500 && AB8500_USB) || (ARCH_U5500)
67
Felipe Balbi7c925542010-12-01 14:23:48 +020068endchoice
Felipe Balbi550a7372008-07-24 12:27:36 +030069
Felipe Balbi550a7372008-07-24 12:27:36 +030070config MUSB_PIO_ONLY
71 bool 'Disable DMA (always use PIO)'
72 depends on USB_MUSB_HDRC
Felipe Balbi7c925542010-12-01 14:23:48 +020073 default USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X
Felipe Balbi550a7372008-07-24 12:27:36 +030074 help
75 All data is copied between memory and FIFO by the CPU.
76 DMA controllers are ignored.
77
78 Do not select 'n' here unless DMA support for your SOC or board
79 is unavailable (or unstable). When DMA is enabled at compile time,
80 you can still disable it at run time using the "use_dma=n" module
81 parameter.
82
Mian Yousaf Kaukabd2389442011-03-22 15:55:59 +010083config USB_UX500_DMA
84 bool
85 depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
86 default USB_MUSB_UX500
87 help
88 Enable DMA transfers on UX500 platforms.
89
Felipe Balbi550a7372008-07-24 12:27:36 +030090config USB_INVENTRA_DMA
91 bool
92 depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
Felipe Balbi7c925542010-12-01 14:23:48 +020093 default USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN
Felipe Balbi550a7372008-07-24 12:27:36 +030094 help
95 Enable DMA transfers using Mentor's engine.
96
97config USB_TI_CPPI_DMA
98 bool
99 depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
Felipe Balbi7c925542010-12-01 14:23:48 +0200100 default USB_MUSB_DAVINCI
Felipe Balbi550a7372008-07-24 12:27:36 +0300101 help
102 Enable DMA transfers when TI CPPI DMA is available.
103
104config USB_TUSB_OMAP_DMA
105 bool
106 depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY
Felipe Balbi7c925542010-12-01 14:23:48 +0200107 depends on USB_MUSB_TUSB6010
Felipe Balbi550a7372008-07-24 12:27:36 +0300108 depends on ARCH_OMAP
109 default y
110 help
111 Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
112