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) * CSR SiRFSoC 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: Should be "sirf,prima2-dmac", "sirf,atlas7-dmac" or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)   "sirf,atlas7-dmac-v2"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) - reg: Should contain DMA registers location and length.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) - interrupts: Should contain one interrupt shared by all channel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - #dma-cells: must be <1>. used to represent the number of integer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)     cells in the dmas property of client device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - clocks: clock required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Controller:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) dmac0: dma-controller@b00b0000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	compatible = "sirf,prima2-dmac";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 	reg = <0xb00b0000 0x10000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	interrupts = <12>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 	clocks = <&clks 24>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	#dma-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) Client:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Fill the specific dma request line in dmas. In the below example, spi0 read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) channel request line is 9 of the 2nd dma controller, while write channel uses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 4 of the 2nd dma controller; spi1 read channel request line is 12 of the 1st
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) dma controller, while write channel uses 13 of the 1st dma controller:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) spi0: spi@b00d0000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	compatible = "sirf,prima2-spi";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	dmas = <&dmac1 9>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 		<&dmac1 4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 	dma-names = "rx", "tx";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) spi1: spi@b0170000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	compatible = "sirf,prima2-spi";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	dmas = <&dmac0 12>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 		<&dmac0 13>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 	dma-names = "rx", "tx";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) };