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