About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / dma / bcm2835-dma.txt


Based on kernel version 4.0. Page generated on 2015-04-14 21:20 EST.

1	* BCM2835 DMA controller
2	
3	The BCM2835 DMA controller has 16 channels in total.
4	Only the lower 13 channels have an associated IRQ.
5	Some arbitrary channels are used by the firmware
6	(1,3,6,7 in the current firmware version).
7	The channels 0,2 and 3 have special functionality
8	and should not be used by the driver.
9	
10	Required properties:
11	- compatible: Should be "brcm,bcm2835-dma".
12	- reg: Should contain DMA registers location and length.
13	- interrupts: Should contain the DMA interrupts associated
14			to the DMA channels in ascending order.
15	- #dma-cells: Must be <1>, the cell in the dmas property of the
16			client device represents the DREQ number.
17	- brcm,dma-channel-mask: Bit mask representing the channels
18				 not used by the firmware in ascending order,
19				 i.e. first channel corresponds to LSB.
20	
21	Example:
22	
23	dma: dma@7e007000 {
24		compatible = "brcm,bcm2835-dma";
25		reg = <0x7e007000 0xf00>;
26		interrupts = <1 16>,
27			     <1 17>,
28			     <1 18>,
29			     <1 19>,
30			     <1 20>,
31			     <1 21>,
32			     <1 22>,
33			     <1 23>,
34			     <1 24>,
35			     <1 25>,
36			     <1 26>,
37			     <1 27>,
38			     <1 28>;
39	
40		#dma-cells = <1>;
41		brcm,dma-channel-mask = <0x7f35>;
42	};
43	
44	DMA clients connected to the BCM2835 DMA controller must use the format
45	described in the dma.txt file, using a two-cell specifier for each channel.
46	
47	Example:
48	
49	bcm2835_i2s: i2s@7e203000 {
50		compatible = "brcm,bcm2835-i2s";
51		reg = <	0x7e203000 0x20>,
52		      < 0x7e101098 0x02>;
53	
54		dmas = <&dma 2>,
55		       <&dma 3>;
56		dma-names = "tx", "rx";
57	};
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog