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 };