# SPDX-License-Identifier: GPL-2.0-only

menu "Qualcomm technologies inc. MSM specific device drivers"
	depends on ARCH_QCOM

config SPS
	bool "SPS support"
	select GENERIC_ALLOCATOR
	help
	  The SPS (Smart Peripheral Switch) is a DMA engine.
	  It can move data in the following modes:
		1. Peripheral-to-Peripheral.
		2. Peripheral-to-Memory.
		3. Memory-to-Memory.

config SPS_SUPPORT_BAMDMA
	bool "SPS supports BAM DMA"
	depends on SPS
	help
	  The BAM-DMA is used for Memory-to-Memory transfers.
	  The main use cases is RPC between processors.
	  The BAM-DMA hardware has 2 registers sets:
		1. A BAM HW like all the peripherals.
		2. A DMA channel configuration (i.e. channel priority).

config SPS_SUPPORT_NDP_BAM
	bool "SPS supports NDP BAM"
	depends on SPS
	help
	  No-Data-Path BAM is used to improve BAM performance.
	  NDP BAMs enables peripherals with fast fabric connectivity
	  to do the actual data transfer themselves, instead of the
	  BAM.

config USB_BAM
	bool "USB BAM Driver"
	depends on SPS && USB_GADGET
	help
	  Enabling this option adds USB BAM Driver.
	  USB BAM driver was added to supports Smart Peripheral Subsystem
	  Peripheral-to-Peripheral transfers between the USB and other
	  peripheral.

endmenu
