Kernel-4.18.0-80.el8_zxdma

  • ZTE ZX296702 DMA controller

Required properties:

  • compatible: Should be “zte,zx296702-dma”
  • reg: Should contain DMA registers location and length.
  • interrupts: Should contain one interrupt shared by all channel
  • #dma-cells: see dma.txt, should be 1, para number
  • dma-channels: physical channels supported
  • dma-requests: virtual channels supported, each virtual channel
      have specific request line
    
  • clocks: clock required

Example:

Controller:
dma: dma-controller@09c00000{
compatible = “zte,zx296702-dma”;
reg = <0x09c00000 0x1000>;
clocks = <&topclk ZX296702_DMA_ACLK>;
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>;
dma-channels = <24>;
dma-requests = <24>;
};

Client:
Use specific request line passing from dmax
For example, spdif0 tx channel request line is 4
spdif0: spdif0@b004000 {
#sound-dai-cells = <0>;
compatible = “zte,zx296702-spdif”;
reg = <0x0b004000 0x1000>;
clocks = <&lsp0clk ZX296702_SPDIF0_DIV>;
clock-names = “tx”;
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&dma 4>;
dma-names = “tx”;
}