162306a36Sopenharmony_ciNXP Layerscape SoC qDMA Controller
262306a36Sopenharmony_ci==================================
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciThis device follows the generic DMA bindings defined in dma/dma.txt.
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciRequired properties:
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci- compatible:		Must be one of
962306a36Sopenharmony_ci			 "fsl,ls1021a-qdma": for LS1021A Board
1062306a36Sopenharmony_ci			 "fsl,ls1028a-qdma": for LS1028A Board
1162306a36Sopenharmony_ci			 "fsl,ls1043a-qdma": for ls1043A Board
1262306a36Sopenharmony_ci			 "fsl,ls1046a-qdma": for ls1046A Board
1362306a36Sopenharmony_ci- reg:			Should contain the register's base address and length.
1462306a36Sopenharmony_ci- interrupts:		Should contain a reference to the interrupt used by this
1562306a36Sopenharmony_ci			device.
1662306a36Sopenharmony_ci- interrupt-names:	Should contain interrupt names:
1762306a36Sopenharmony_ci			 "qdma-queue0": the block0 interrupt
1862306a36Sopenharmony_ci			 "qdma-queue1": the block1 interrupt
1962306a36Sopenharmony_ci			 "qdma-queue2": the block2 interrupt
2062306a36Sopenharmony_ci			 "qdma-queue3": the block3 interrupt
2162306a36Sopenharmony_ci			 "qdma-error":  the error interrupt
2262306a36Sopenharmony_ci- fsl,dma-queues:	Should contain number of queues supported.
2362306a36Sopenharmony_ci- dma-channels:	Number of DMA channels supported
2462306a36Sopenharmony_ci- block-number:	the virtual block number
2562306a36Sopenharmony_ci- block-offset:	the offset of different virtual block
2662306a36Sopenharmony_ci- status-sizes:	status queue size of per virtual block
2762306a36Sopenharmony_ci- queue-sizes:		command queue size of per virtual block, the size number
2862306a36Sopenharmony_ci			based on queues
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciOptional properties:
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci- dma-channels:		Number of DMA channels supported by the controller.
3362306a36Sopenharmony_ci- big-endian:		If present registers and hardware scatter/gather descriptors
3462306a36Sopenharmony_ci			of the qDMA are implemented in big endian mode, otherwise in little
3562306a36Sopenharmony_ci			mode.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciExamples:
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	qdma: dma-controller@8390000 {
4062306a36Sopenharmony_ci			compatible = "fsl,ls1021a-qdma";
4162306a36Sopenharmony_ci			reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */
4262306a36Sopenharmony_ci			      <0x0 0x8389000 0x0 0x1000>, /* Status regs */
4362306a36Sopenharmony_ci			      <0x0 0x838a000 0x0 0x2000>; /* Block regs */
4462306a36Sopenharmony_ci			interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
4562306a36Sopenharmony_ci				     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
4662306a36Sopenharmony_ci				     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
4762306a36Sopenharmony_ci			interrupt-names = "qdma-error",
4862306a36Sopenharmony_ci				"qdma-queue0", "qdma-queue1";
4962306a36Sopenharmony_ci			dma-channels = <8>;
5062306a36Sopenharmony_ci			block-number = <2>;
5162306a36Sopenharmony_ci			block-offset = <0x1000>;
5262306a36Sopenharmony_ci			fsl,dma-queues = <2>;
5362306a36Sopenharmony_ci			status-sizes = <64>;
5462306a36Sopenharmony_ci			queue-sizes = <64 64>;
5562306a36Sopenharmony_ci			big-endian;
5662306a36Sopenharmony_ci		};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciDMA clients must use the format described in dma/dma.txt file.
59