Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* Spreadtrum DMA controller

This binding follows the generic DMA bindings defined in dma.txt.

Required properties:
- compatible: Should be "sprd,sc9860-dma".
- reg: Should contain DMA registers location and length.
- interrupts: Should contain one interrupt shared by all channel.
- #dma-cells: must be <1>. Used to represent the number of integer
	cells in the dmas property of client device.
- #dma-channels : Number of DMA channels supported. Should be 32.
- clock-names: Should contain the clock of the DMA controller.
- clocks: Should contain a clock specifier for each entry in clock-names.

Example:

Controller:
apdma: dma-controller@20100000 {
	compatible = "sprd,sc9860-dma";
	reg = <0x20100000 0x4000>;
	interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
	#dma-cells = <1>;
	#dma-channels = <32>;
	clock-names = "enable";
	clocks = <&clk_ap_ahb_gates 5>;
};


Client:
DMA clients connected to the Spreadtrum DMA controller must use the format
described in the dma.txt file, using a two-cell specifier for each channel.
The two cells in order are:
1. A phandle pointing to the DMA controller.
2. The slave id.

spi0: spi@70a00000{
	...
	dma-names = "rx_chn", "tx_chn";
	dmas = <&apdma 11>, <&apdma 12>;
	...
};