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) 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 33*c6bde9b5SFelipe Contrerasif USB_MUSB_HDRC 34*c6bde9b5SFelipe Contreras 357c925546SFelipe Balbichoice 367c925546SFelipe Balbi prompt "Platform Glue Layer" 37550a7375SFelipe Balbi 387c925546SFelipe Balbiconfig USB_MUSB_DAVINCI 391376d92fSFelipe Balbi tristate "DaVinci" 407c925546SFelipe Balbi depends on ARCH_DAVINCI_DMx 41550a7375SFelipe Balbi 427c925546SFelipe Balbiconfig USB_MUSB_DA8XX 431376d92fSFelipe Balbi tristate "DA8xx/OMAP-L1x" 447c925546SFelipe Balbi depends on ARCH_DAVINCI_DA8XX 453ee076deSSergei Shtylyov 467c925546SFelipe Balbiconfig USB_MUSB_TUSB6010 471376d92fSFelipe Balbi tristate "TUSB6010" 48550a7375SFelipe Balbi 497c925546SFelipe Balbiconfig USB_MUSB_OMAP2PLUS 501376d92fSFelipe Balbi tristate "OMAP2430 and onwards" 517c925546SFelipe Balbi depends on ARCH_OMAP2PLUS 52085ad406SBryan Wu 53eb83092cSAjay Kumar Guptaconfig USB_MUSB_AM35X 541376d92fSFelipe Balbi tristate "AM35x" 557c925546SFelipe Balbi depends on ARCH_OMAP 56eb83092cSAjay Kumar Gupta 577c925546SFelipe Balbiconfig USB_MUSB_BLACKFIN 581376d92fSFelipe Balbi tristate "Blackfin" 597c925546SFelipe Balbi depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523) 607c925546SFelipe Balbi 614bc36fd3SMian Yousaf Kaukabconfig USB_MUSB_UX500 621376d92fSFelipe Balbi tristate "U8500 and U5500" 63d0678594SMian Yousaf Kaukab depends on (ARCH_U8500 && AB8500_USB) 644bc36fd3SMian Yousaf Kaukab 657c925546SFelipe Balbiendchoice 66550a7375SFelipe Balbi 672e7fc3baSArnd Bergmannchoice 682e7fc3baSArnd Bergmann prompt 'MUSB DMA mode' 692e7fc3baSArnd Bergmann default USB_UX500_DMA if USB_MUSB_UX500 702e7fc3baSArnd Bergmann default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN 712e7fc3baSArnd Bergmann default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI 722e7fc3baSArnd Bergmann default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010 732e7fc3baSArnd Bergmann default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X 74550a7375SFelipe Balbi help 752e7fc3baSArnd Bergmann Unfortunately, only one option can be enabled here. Ideally one 762e7fc3baSArnd Bergmann should be able to build all these drivers into one kernel to 772e7fc3baSArnd Bergmann allow using DMA on multiplatform kernels. 78550a7375SFelipe Balbi 79d2389440SMian Yousaf Kaukabconfig USB_UX500_DMA 802e7fc3baSArnd Bergmann bool 'ST Ericsson U8500 and U5500' 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_OMAP2PLUS || USB_MUSB_BLACKFIN 88550a7375SFelipe Balbi help 89550a7375SFelipe Balbi Enable DMA transfers using Mentor's engine. 90550a7375SFelipe Balbi 91550a7375SFelipe Balbiconfig USB_TI_CPPI_DMA 922e7fc3baSArnd Bergmann bool 'TI CPPI (Davinci)' 932e7fc3baSArnd Bergmann depends on USB_MUSB_DAVINCI 94550a7375SFelipe Balbi help 95550a7375SFelipe Balbi Enable DMA transfers when TI CPPI DMA is available. 96550a7375SFelipe Balbi 97550a7375SFelipe Balbiconfig USB_TUSB_OMAP_DMA 982e7fc3baSArnd Bergmann bool 'TUSB 6010' 997c925546SFelipe Balbi depends on USB_MUSB_TUSB6010 100550a7375SFelipe Balbi depends on ARCH_OMAP 101550a7375SFelipe Balbi help 102550a7375SFelipe Balbi Enable DMA transfers on TUSB 6010 when OMAP DMA is available. 103550a7375SFelipe Balbi 1042e7fc3baSArnd Bergmannconfig MUSB_PIO_ONLY 1052e7fc3baSArnd Bergmann bool 'Disable DMA (always use PIO)' 1062e7fc3baSArnd Bergmann help 1072e7fc3baSArnd Bergmann All data is copied between memory and FIFO by the CPU. 1082e7fc3baSArnd Bergmann DMA controllers are ignored. 1092e7fc3baSArnd Bergmann 1102e7fc3baSArnd Bergmann Do not choose this unless DMA support for your SOC or board 1112e7fc3baSArnd Bergmann is unavailable (or unstable). When DMA is enabled at compile time, 1122e7fc3baSArnd Bergmann you can still disable it at run time using the "use_dma=n" module 1132e7fc3baSArnd Bergmann parameter. 1142e7fc3baSArnd Bergmann 1152e7fc3baSArnd Bergmannendchoice 116*c6bde9b5SFelipe Contreras 117*c6bde9b5SFelipe Contrerasendif # USB_MUSB_HDRC 118