162306a36Sopenharmony_ciAnalog Devices AXI-DMAC DMA controller
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci - compatible: Must be "adi,axi-dmac-1.00.a".
562306a36Sopenharmony_ci - reg: Specification for the controllers memory mapped register map.
662306a36Sopenharmony_ci - interrupts: Specification for the controllers interrupt.
762306a36Sopenharmony_ci - clocks: Phandle and specifier to the controllers AXI interface clock
862306a36Sopenharmony_ci - #dma-cells: Must be 1.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciRequired sub-nodes:
1162306a36Sopenharmony_ci - adi,channels: This sub-node must contain a sub-node for each DMA channel. For
1262306a36Sopenharmony_ci   the channel sub-nodes the following bindings apply. They must match the
1362306a36Sopenharmony_ci   configuration options of the peripheral as it was instantiated.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciRequired properties for adi,channels sub-node:
1662306a36Sopenharmony_ci - #size-cells: Must be 0
1762306a36Sopenharmony_ci - #address-cells: Must be 1
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciRequired channel sub-node properties:
2062306a36Sopenharmony_ci - reg: Which channel this node refers to.
2162306a36Sopenharmony_ci - adi,source-bus-width,
2262306a36Sopenharmony_ci   adi,destination-bus-width: Width of the source or destination bus in bits.
2362306a36Sopenharmony_ci - adi,source-bus-type,
2462306a36Sopenharmony_ci   adi,destination-bus-type: Type of the source or destination bus. Must be one
2562306a36Sopenharmony_ci   of the following:
2662306a36Sopenharmony_ci	0 (AXI_DMAC_TYPE_AXI_MM): Memory mapped AXI interface
2762306a36Sopenharmony_ci	1 (AXI_DMAC_TYPE_AXI_STREAM): Streaming AXI interface
2862306a36Sopenharmony_ci	2 (AXI_DMAC_TYPE_AXI_FIFO): FIFO interface
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciDeprecated optional channel properties:
3162306a36Sopenharmony_ci - adi,length-width: Width of the DMA transfer length register.
3262306a36Sopenharmony_ci - adi,cyclic: Must be set if the channel supports hardware cyclic DMA
3362306a36Sopenharmony_ci   transfers.
3462306a36Sopenharmony_ci - adi,2d: Must be set if the channel supports hardware 2D DMA transfers.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciDMA clients connected to the AXI-DMAC DMA controller must use the format
3762306a36Sopenharmony_cidescribed in the dma.txt file using a one-cell specifier. The value of the
3862306a36Sopenharmony_cispecifier refers to the DMA channel index.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciExample:
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_cidma: dma@7c420000 {
4362306a36Sopenharmony_ci	compatible = "adi,axi-dmac-1.00.a";
4462306a36Sopenharmony_ci	reg = <0x7c420000 0x10000>;
4562306a36Sopenharmony_ci	interrupts = <0 57 0>;
4662306a36Sopenharmony_ci	clocks = <&clkc 16>;
4762306a36Sopenharmony_ci	#dma-cells = <1>;
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	adi,channels {
5062306a36Sopenharmony_ci		#size-cells = <0>;
5162306a36Sopenharmony_ci		#address-cells = <1>;
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci		dma-channel@0 {
5462306a36Sopenharmony_ci			reg = <0>;
5562306a36Sopenharmony_ci			adi,source-bus-width = <32>;
5662306a36Sopenharmony_ci			adi,source-bus-type = <ADI_AXI_DMAC_TYPE_MM_AXI>;
5762306a36Sopenharmony_ci			adi,destination-bus-width = <64>;
5862306a36Sopenharmony_ci			adi,destination-bus-type = <ADI_AXI_DMAC_TYPE_FIFO>;
5962306a36Sopenharmony_ci		};
6062306a36Sopenharmony_ci	};
6162306a36Sopenharmony_ci};
62