1*c66ec88fSEmmanuel VadotNXP Layerscape SoC qDMA Controller 2*c66ec88fSEmmanuel Vadot================================== 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel VadotThis device follows the generic DMA bindings defined in dma/dma.txt. 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotRequired properties: 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot- compatible: Must be one of 9*c66ec88fSEmmanuel Vadot "fsl,ls1021a-qdma": for LS1021A Board 10*c66ec88fSEmmanuel Vadot "fsl,ls1028a-qdma": for LS1028A Board 11*c66ec88fSEmmanuel Vadot "fsl,ls1043a-qdma": for ls1043A Board 12*c66ec88fSEmmanuel Vadot "fsl,ls1046a-qdma": for ls1046A Board 13*c66ec88fSEmmanuel Vadot- reg: Should contain the register's base address and length. 14*c66ec88fSEmmanuel Vadot- interrupts: Should contain a reference to the interrupt used by this 15*c66ec88fSEmmanuel Vadot device. 16*c66ec88fSEmmanuel Vadot- interrupt-names: Should contain interrupt names: 17*c66ec88fSEmmanuel Vadot "qdma-queue0": the block0 interrupt 18*c66ec88fSEmmanuel Vadot "qdma-queue1": the block1 interrupt 19*c66ec88fSEmmanuel Vadot "qdma-queue2": the block2 interrupt 20*c66ec88fSEmmanuel Vadot "qdma-queue3": the block3 interrupt 21*c66ec88fSEmmanuel Vadot "qdma-error": the error interrupt 22*c66ec88fSEmmanuel Vadot- fsl,dma-queues: Should contain number of queues supported. 23*c66ec88fSEmmanuel Vadot- dma-channels: Number of DMA channels supported 24*c66ec88fSEmmanuel Vadot- block-number: the virtual block number 25*c66ec88fSEmmanuel Vadot- block-offset: the offset of different virtual block 26*c66ec88fSEmmanuel Vadot- status-sizes: status queue size of per virtual block 27*c66ec88fSEmmanuel Vadot- queue-sizes: command queue size of per virtual block, the size number 28*c66ec88fSEmmanuel Vadot based on queues 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel VadotOptional properties: 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadot- dma-channels: Number of DMA channels supported by the controller. 33*c66ec88fSEmmanuel Vadot- big-endian: If present registers and hardware scatter/gather descriptors 34*c66ec88fSEmmanuel Vadot of the qDMA are implemented in big endian mode, otherwise in little 35*c66ec88fSEmmanuel Vadot mode. 36*c66ec88fSEmmanuel Vadot 37*c66ec88fSEmmanuel VadotExamples: 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel Vadot qdma: dma-controller@8390000 { 40*c66ec88fSEmmanuel Vadot compatible = "fsl,ls1021a-qdma"; 41*c66ec88fSEmmanuel Vadot reg = <0x0 0x8388000 0x0 0x1000>, /* Controller regs */ 42*c66ec88fSEmmanuel Vadot <0x0 0x8389000 0x0 0x1000>, /* Status regs */ 43*c66ec88fSEmmanuel Vadot <0x0 0x838a000 0x0 0x2000>; /* Block regs */ 44*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>, 45*c66ec88fSEmmanuel Vadot <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 46*c66ec88fSEmmanuel Vadot <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 47*c66ec88fSEmmanuel Vadot interrupt-names = "qdma-error", 48*c66ec88fSEmmanuel Vadot "qdma-queue0", "qdma-queue1"; 49*c66ec88fSEmmanuel Vadot dma-channels = <8>; 50*c66ec88fSEmmanuel Vadot block-number = <2>; 51*c66ec88fSEmmanuel Vadot block-offset = <0x1000>; 52*c66ec88fSEmmanuel Vadot fsl,dma-queues = <2>; 53*c66ec88fSEmmanuel Vadot status-sizes = <64>; 54*c66ec88fSEmmanuel Vadot queue-sizes = <64 64>; 55*c66ec88fSEmmanuel Vadot big-endian; 56*c66ec88fSEmmanuel Vadot }; 57*c66ec88fSEmmanuel Vadot 58*c66ec88fSEmmanuel VadotDMA clients must use the format described in dma/dma.txt file. 59