Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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