185 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0
 | 
						|
#
 | 
						|
# USB Dual Role (OTG-ready) Controller Drivers
 | 
						|
# for silicon based on Mentor Graphics INVENTRA designs
 | 
						|
#
 | 
						|
 | 
						|
# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
 | 
						|
config USB_MUSB_HDRC
 | 
						|
	tristate 'Inventra Highspeed Dual Role Controller'
 | 
						|
	depends on (USB || USB_GADGET)
 | 
						|
	depends on HAS_IOMEM
 | 
						|
	help
 | 
						|
	  Say Y here if your system has a dual role high speed USB
 | 
						|
	  controller based on the Mentor Graphics silicon IP.  Then
 | 
						|
	  configure options to match your silicon and the board
 | 
						|
	  it's being used with, including the USB peripheral role,
 | 
						|
	  or the USB host role, or both.
 | 
						|
 | 
						|
	  Texas Instruments families using this IP include DaVinci
 | 
						|
	  (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010.
 | 
						|
 | 
						|
	  Allwinner SoCs using this IP include A10, A13, A20, ...
 | 
						|
 | 
						|
	  If you do not know what this is, please say N.
 | 
						|
 | 
						|
	  To compile this driver as a module, choose M here; the
 | 
						|
	  module will be called "musb-hdrc".
 | 
						|
 | 
						|
if USB_MUSB_HDRC
 | 
						|
 | 
						|
choice
 | 
						|
	bool "MUSB Mode Selection"
 | 
						|
	default USB_MUSB_DUAL_ROLE if (USB && USB_GADGET)
 | 
						|
	default USB_MUSB_HOST if (USB && !USB_GADGET)
 | 
						|
	default USB_MUSB_GADGET if (!USB && USB_GADGET)
 | 
						|
 | 
						|
config USB_MUSB_HOST
 | 
						|
	bool "Host only mode"
 | 
						|
	depends on USB=y || USB=USB_MUSB_HDRC
 | 
						|
	help
 | 
						|
	  Select this when you want to use MUSB in host mode only,
 | 
						|
	  thereby the gadget feature will be regressed.
 | 
						|
 | 
						|
config USB_MUSB_GADGET
 | 
						|
	bool "Gadget only mode"
 | 
						|
	depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC
 | 
						|
	depends on HAS_DMA
 | 
						|
	help
 | 
						|
	  Select this when you want to use MUSB in gadget mode only,
 | 
						|
	  thereby the host feature will be regressed.
 | 
						|
 | 
						|
config USB_MUSB_DUAL_ROLE
 | 
						|
	bool "Dual Role mode"
 | 
						|
	depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC))
 | 
						|
	depends on HAS_DMA
 | 
						|
	help
 | 
						|
	  This is the default mode of working of MUSB controller where
 | 
						|
	  both host and gadget features are enabled.
 | 
						|
 | 
						|
endchoice
 | 
						|
 | 
						|
comment "Platform Glue Layer"
 | 
						|
 | 
						|
config USB_MUSB_SUNXI
 | 
						|
	tristate "Allwinner (sunxi)"
 | 
						|
	depends on ARCH_SUNXI
 | 
						|
	depends on NOP_USB_XCEIV
 | 
						|
	depends on PHY_SUN4I_USB
 | 
						|
	depends on EXTCON
 | 
						|
	select GENERIC_PHY
 | 
						|
	select SUNXI_SRAM
 | 
						|
 | 
						|
config USB_MUSB_DAVINCI
 | 
						|
	tristate "DaVinci"
 | 
						|
	depends on ARCH_DAVINCI_DMx
 | 
						|
	depends on NOP_USB_XCEIV
 | 
						|
	depends on BROKEN
 | 
						|
 | 
						|
config USB_MUSB_DA8XX
 | 
						|
	tristate "DA8xx/OMAP-L1x"
 | 
						|
	depends on ARCH_DAVINCI_DA8XX
 | 
						|
	depends on NOP_USB_XCEIV
 | 
						|
	select PHY_DA8XX_USB
 | 
						|
 | 
						|
config USB_MUSB_TUSB6010
 | 
						|
	tristate "TUSB6010"
 | 
						|
	depends on HAS_IOMEM
 | 
						|
	depends on ARCH_OMAP2PLUS || COMPILE_TEST
 | 
						|
	depends on NOP_USB_XCEIV!=m || USB_MUSB_HDRC=m
 | 
						|
 | 
						|
config USB_MUSB_OMAP2PLUS
 | 
						|
	tristate "OMAP2430 and onwards"
 | 
						|
	depends on ARCH_OMAP2PLUS && USB
 | 
						|
	depends on OMAP_CONTROL_PHY || !OMAP_CONTROL_PHY
 | 
						|
	select GENERIC_PHY
 | 
						|
 | 
						|
config USB_MUSB_AM35X
 | 
						|
	tristate "AM35x"
 | 
						|
	depends on ARCH_OMAP
 | 
						|
	depends on NOP_USB_XCEIV
 | 
						|
 | 
						|
config USB_MUSB_DSPS
 | 
						|
	tristate "TI DSPS platforms"
 | 
						|
	depends on ARCH_OMAP2PLUS || COMPILE_TEST
 | 
						|
	depends on OF_IRQ
 | 
						|
 | 
						|
config USB_MUSB_UX500
 | 
						|
	tristate "Ux500 platforms"
 | 
						|
	depends on ARCH_U8500 || COMPILE_TEST
 | 
						|
 | 
						|
config USB_MUSB_JZ4740
 | 
						|
	tristate "JZ4740"
 | 
						|
	depends on OF
 | 
						|
	depends on MIPS || COMPILE_TEST
 | 
						|
	depends on USB_MUSB_GADGET
 | 
						|
	depends on USB=n || USB_OTG_DISABLE_EXTERNAL_HUB
 | 
						|
	select USB_ROLE_SWITCH
 | 
						|
 | 
						|
config USB_MUSB_MEDIATEK
 | 
						|
	tristate "MediaTek platforms"
 | 
						|
	depends on ARCH_MEDIATEK || COMPILE_TEST
 | 
						|
	depends on NOP_USB_XCEIV
 | 
						|
	select GENERIC_PHY
 | 
						|
	select USB_ROLE_SWITCH
 | 
						|
 | 
						|
config USB_MUSB_POLARFIRE_SOC
 | 
						|
	tristate "Microchip PolarFire SoC platforms"
 | 
						|
	depends on SOC_MICROCHIP_POLARFIRE || COMPILE_TEST
 | 
						|
	depends on NOP_USB_XCEIV
 | 
						|
	select USB_MUSB_DUAL_ROLE
 | 
						|
	help
 | 
						|
	  Say Y here to enable support for USB on Microchip's PolarFire SoC.
 | 
						|
 | 
						|
	  This support is also available as a module.  If so, the module
 | 
						|
	  will be called mpfs.
 | 
						|
 | 
						|
comment "MUSB DMA mode"
 | 
						|
 | 
						|
config MUSB_PIO_ONLY
 | 
						|
	bool 'Disable DMA (always use PIO)'
 | 
						|
	help
 | 
						|
	  All data is copied between memory and FIFO by the CPU.
 | 
						|
	  DMA controllers are ignored.
 | 
						|
 | 
						|
	  Do not choose this unless DMA support for your SOC or board
 | 
						|
	  is unavailable (or unstable).  When DMA is enabled at compile time,
 | 
						|
	  you can still disable it at run time using the "use_dma=n" module
 | 
						|
	  parameter.
 | 
						|
 | 
						|
if !MUSB_PIO_ONLY
 | 
						|
 | 
						|
config USB_UX500_DMA
 | 
						|
	bool 'ST Ericsson Ux500'
 | 
						|
	depends on USB_MUSB_UX500
 | 
						|
	help
 | 
						|
	  Enable DMA transfers on UX500 platforms.
 | 
						|
 | 
						|
config USB_INVENTRA_DMA
 | 
						|
	bool 'Inventra'
 | 
						|
	depends on USB_MUSB_OMAP2PLUS || USB_MUSB_MEDIATEK || USB_MUSB_JZ4740 || USB_MUSB_POLARFIRE_SOC
 | 
						|
	help
 | 
						|
	  Enable DMA transfers using Mentor's engine.
 | 
						|
 | 
						|
config USB_TI_CPPI_DMA
 | 
						|
	bool 'TI CPPI (Davinci)'
 | 
						|
	depends on USB_MUSB_DAVINCI
 | 
						|
	help
 | 
						|
	  Enable DMA transfers when TI CPPI DMA is available.
 | 
						|
 | 
						|
config USB_TI_CPPI41_DMA
 | 
						|
	bool 'TI CPPI 4.1'
 | 
						|
	depends on (ARCH_OMAP || ARCH_DAVINCI_DA8XX) && DMADEVICES
 | 
						|
	select TI_CPPI41
 | 
						|
 | 
						|
config USB_TUSB_OMAP_DMA
 | 
						|
	bool 'TUSB 6010'
 | 
						|
	depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules
 | 
						|
	depends on ARCH_OMAP
 | 
						|
	help
 | 
						|
	  Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
 | 
						|
 | 
						|
endif # !MUSB_PIO_ONLY
 | 
						|
 | 
						|
endif # USB_MUSB_HDRC
 |