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) * Hisilicon K3 DMA controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) See dma.txt first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) - compatible: Must be one of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) -              "hisilicon,k3-dma-1.0"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) -              "hisilicon,hisi-pcm-asp-dma-1.0"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) - reg: Should contain DMA registers location and length.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - interrupts: Should contain one interrupt shared by all channel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - #dma-cells: see dma.txt, should be 1, para number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - dma-channels: physical channels supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - dma-requests: virtual channels supported, each virtual channel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 		have specific request line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - clocks: clock required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Controller:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 		dma0: dma@fcd02000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 			compatible = "hisilicon,k3-dma-1.0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 			reg = <0xfcd02000 0x1000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 			#dma-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 			dma-channels = <16>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 			dma-requests = <27>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 			interrupts = <0 12 4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 			clocks = <&pclk>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Client:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Use specific request line passing from dmax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) For example, i2c0 read channel request line is 18, while write channel use 19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 		i2c0: i2c@fcb08000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 			compatible = "snps,designware-i2c";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 			dmas =	<&dma0 18          /* read channel */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 				 &dma0 19>;        /* write channel */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 			dma-names = "rx", "tx";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 		i2c1: i2c@fcb09000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 			compatible = "snps,designware-i2c";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 			dmas =	<&dma0 20          /* read channel */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 				 &dma0 21>;        /* write channel */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 			dma-names = "rx", "tx";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)