Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8322d814 authored by Shrey Vijay's avatar Shrey Vijay
Browse files

qcom-sps-dma: Add snapshot of QCOM SPS DMA driver



This change adds a snapshot of QCOM SPS DMA driver from the 4.4 branch.
kernel-4.4 baseline: 'e29d253ecf048
("msm: mdss: dsi: Remove redundant opmode configuration")'

Signed-off-by: default avatarShrey Vijay <shreyv@codeaurora.org>
Change-Id: I9270fcaf52766ce20585333c13eed9f31b7daa8e
parent 86e4c9ee
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
* Qualcomm technologies inc, DMA engine driver for BAM (Bus Access Manager).

Required properties:
- compatible: Should be "qcom,sps-dma".
- reg: Should contain DMA registers location and length. This should include
  all of the per-channel registers.
- interrupts: Should contain the BAM interrupt number.
- qcom,summing-threshold:  Should contain the BAM event threshold of
  the sum of descriptors' sizes in bytes.

Optional properties:
- qcom,managed-locally : Use when BAM global device control is managed locally
  by the application processor.

Example:

	dma_blsp1: qcom,sps-dma@f9904000 { /* BLSP1 */
		#dma-cells = <4>;
		compatible = "qcom,sps-dma";
		reg = <0xf9904000 0x19000>;
		interrupts = <0 238 0>;
		qcom,summing-threshold = <10>;
	};

DMA clients connected to the qcom-sps-dma DMA controller must use the format
described in the dma.txt file, using a five-cell specifier for each channel,
a phandle plus four integer cells, as shown below:

dmas = <[phandle of the dma controller] [pipe index] [number of descriptors]
				[sps_connect flags] [sps_register_event flags]>;

Example:

i2c_2: i2c@f9924000 { /* BLSP1 QUP2 */
	.
	.
	.
	/*     <&phandle pipe-idx n-descs connect-flags event-flags> */
	dmas = <&dma_blsp1 14 32 0x20000020 0x20>,
	       <&dma_blsp1 15 64 0x20000020 0x20>;
	dma-names = "tx", "rx";
};
+10 −0
Original line number Diff line number Diff line
@@ -422,6 +422,16 @@ config PXA_DMA
	  16 to 32 channels for peripheral to memory or memory to memory
	  transfers.

config QCOM_SPS_DMA
	tristate "Qualcomm technologies inc DMA driver for sps-BAM"
	depends on ARCH_QCOM
	select DMA_ENGINE
	help
	  Enable support for Qualcomm technologies inc, BAM DMA engine.
	  This DMA-engine-driver is a wrapper of the sps-BAM library. DMA
	  engine callbacks are implemented using the sps-BAM functionality
	  to access HW.

config SIRF_DMA
	tristate "CSR SiRFprimaII/SiRFmarco DMA support"
	depends on ARCH_SIRF
+1 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ obj-$(CONFIG_TI_DMA_CROSSBAR) += ti-dma-crossbar.o
obj-$(CONFIG_TI_EDMA) += edma.o
obj-$(CONFIG_XGENE_DMA) += xgene-dma.o
obj-$(CONFIG_ZX_DMA) += zx296702_dma.o
obj-$(CONFIG_QCOM_SPS_DMA) += qcom-sps-dma.o

obj-y += qcom/
obj-y += xilinx/
+721 −0

File added.

Preview size limit exceeded, changes collapsed.