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