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

Commit 4c77e4b6 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: add eDMA devicetree node for SM8150"

parents 0d1ac836 748b70d4
Loading
Loading
Loading
Loading
+79 −0
Original line number Diff line number Diff line
Qualcomm Technologies Inc PCIe eDMA controller

QCOM PCIe eDMA controller provides DMA capabilities for
peripheral connected and uses PCIe to transfer data.

==============
Node Structure
==============

Main node properties:

- compatible
  Usage: required
  Value type: <string>
  Definition: "qcom,pci-edma"

- #dma-cells
  Usage: required
  Value type: <u32>
  Definition: Number of parameters client will provide.  Must be set to 2.
	1st parameter: channel index, 0 for TX, 1 for RX
	2nd parameter: event processing priority, set to 0 for highest priority

- reg
  Usage: required
  Value type: Array (2-cell) of <u32>
  Definition: First cell is eDMA register base address. Second cell is size of
	eDMA register space.

- interrupts
  Usage: required
  Value type: Array of <u32>
  Definition: Array of tuples which describe interrupt lines for eDMA.

- interrupts-names
  Usage: required
  Value type: Array of <u32>
  Definition: Array of names which map to interrupt lines for eDMA.

- interrupt-parent
  Usage: required
  Value type: <phandle>
  Definition: phandle of the interrupt controller that services interrupts for
	this device

- qcom,n-tl-init
  Usage: optional
  Value type: <u32>
  Definition: Number of transfer and descriptor arrays to start with. If this
	entry is not presetn, default value is 2.

- qcom,n-tl-ele
  Usage: optional
  Value type: <u32>
  Definition: Number of elements for each transfer and descriptor array. If this
	entry is not present, default value is 1024.

- qcom,n-max-ev-ch
  Usage: optional
  Value type: <u32>
  Definition: Total number of virtual (client) eDMA channels available. If this
	entry is not present, default value is 32.

=======
Example
=======

pci_edma: qcom,pci-edma@40002000 {
	compatible = "qcom,pci-edma";
	#dma-cells = <2>;
	reg = <0x40002000 0x2000>;
	interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "pci-edma-int";
	interrupt-parent = <&intc>;
	qcom,n-max-ev-ch = <32>;
	qcom,n-tl-init = <2>;
	qcom,n-tl-ele = <1024>;
	status = "ok";
};
+9 −0
Original line number Diff line number Diff line
@@ -597,4 +597,13 @@
			<GIC_SPI 830 IRQ_TYPE_EDGE_RISING>,
			<GIC_SPI 831 IRQ_TYPE_EDGE_RISING>;
	};

	pcie1_edma: qcom,pcie1_edma@40002000 {
		compatible = "qcom,pci-edma";
		#dma-cells = <2>;
		reg = <0x40002000 0x2000>;
		interrupt-parent = <&intc>;
		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "pci-edma-int";
	};
};
+18 −0
Original line number Diff line number Diff line
@@ -46,3 +46,21 @@ config QCOM_GPI_DMA_DEBUG
	help
	  Enable detailed logging for QCOM GPI driver. Extra logging will be
	  helpful when debugging critical issues.

config QCOM_PCI_EDMA
	tristate "Qualcomm Technologies Inc PCIe eDMA support"
	select DMA_ENGINE
	help
	  Enable support for the QCOM PCIe eDMA. This DMA is part of QCOM
	  PCIe controller that provides DMA capabilities for clients.
	  By using PCIe eDMA driver, clients can use a standardize
	  interface that is protocol independent to transfer data between DDR
	  and peripheral.

config QCOM_PCI_EDMA_DEBUG
	bool "Qualcomm Technologies Inc PCIe eDMA debug support"
	depends on QCOM_PCI_EDMA
	help
	  Enable detailed logging for QCOM PCIe eDMA driver. Should
	  only be enabled for debugging purpose since excessive logging
	  of all channels information and activity will decrease throughput.
+1 −0
Original line number Diff line number Diff line
@@ -5,3 +5,4 @@ hdma_mgmt-objs := hidma_mgmt.o hidma_mgmt_sys.o
obj-$(CONFIG_QCOM_HIDMA) +=  hdma.o
hdma-objs        := hidma_ll.o hidma.o hidma_dbg.o
obj-$(CONFIG_QCOM_GPI_DMA) += gpi.o
obj-$(CONFIG_QCOM_PCI_EDMA) += pci-edma.o