Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-updates > by-pkgid > 8b1b14f34030bfa38399b9439603610b > files > 1885

kernel-linus-doc-5.4.20-1.mga7.noarch.rpm

* Hisilicon K3 DMA controller

See dma.txt first

Required properties:
- compatible: Must be one of
-              "hisilicon,k3-dma-1.0"
-              "hisilicon,hisi-pcm-asp-dma-1.0"
- reg: Should contain DMA registers location and length.
- interrupts: Should contain one interrupt shared by all channel
- #dma-cells: see dma.txt, should be 1, para number
- dma-channels: physical channels supported
- dma-requests: virtual channels supported, each virtual channel
		have specific request line
- clocks: clock required

Example:

Controller:
		dma0: dma@fcd02000 {
			compatible = "hisilicon,k3-dma-1.0";
			reg = <0xfcd02000 0x1000>;
			#dma-cells = <1>;
			dma-channels = <16>;
			dma-requests = <27>;
			interrupts = <0 12 4>;
			clocks = <&pclk>;
		};

Client:
Use specific request line passing from dmax
For example, i2c0 read channel request line is 18, while write channel use 19

		i2c0: i2c@fcb08000 {
			compatible = "snps,designware-i2c";
			dmas =	<&dma0 18          /* read channel */
				 &dma0 19>;        /* write channel */
			dma-names = "rx", "tx";
		};

		i2c1: i2c@fcb09000 {
			compatible = "snps,designware-i2c";
			dmas =	<&dma0 20          /* read channel */
				 &dma0 21>;        /* write channel */
			dma-names = "rx", "tx";
		};