diff options
author | Florian Meier <florian.meier@koalo.de> | 2014-01-06 14:18:24 -0500 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2014-01-07 11:06:39 -0500 |
commit | 96286b57669073e81870e33a3e5ce476433d115f (patch) | |
tree | 26a0f4ba89dd2b55db3f7fa48519f8c75b8923c6 /Documentation/devicetree/bindings | |
parent | 0adcdeed6f87ac7230c9a0364ac785b8e70ad275 (diff) |
dmaengine: Add support for BCM2835
Add support for DMA controller of BCM2835 as used in the Raspberry Pi.
Currently it only supports cyclic DMA.
Signed-off-by: Florian Meier <florian.meier@koalo.de>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'Documentation/devicetree/bindings')
-rw-r--r-- | Documentation/devicetree/bindings/dma/bcm2835-dma.txt | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/dma/bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/bcm2835-dma.txt new file mode 100644 index 000000000000..1396078d15ac --- /dev/null +++ b/Documentation/devicetree/bindings/dma/bcm2835-dma.txt | |||
@@ -0,0 +1,57 @@ | |||
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 | }; | ||