Kernel-4.18.0-80.el8_sprd-dma

  • 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 channel id.

spi0: spi@70a00000{

dma-names = “rx_chn”, “tx_chn”;
dmas = <&apdma 11>, <&apdma 12>;

};