| # 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 |