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