dma: mmp_pdma: Add the #dma-requests DT property documentation
[linux-2.6-block.git] / Documentation / devicetree / bindings / dma / mmp-dma.txt
CommitLineData
37586e0b
ZG
1* MARVELL MMP DMA controller
2
3Marvell Peripheral DMA Controller
af98715f 4Used platforms: pxa688, pxa910, pxa3xx, etc
37586e0b
ZG
5
6Required properties:
7- compatible: Should be "marvell,pdma-1.0"
8- reg: Should contain DMA registers location and length.
9- interrupts: Either contain all of the per-channel DMA interrupts
10 or one irq for pdma device
af98715f
LP
11
12Optional properties:
13- #dma-channels: Number of DMA channels supported by the controller (defaults
14 to 32 when not specified)
9ab9ae55
RJ
15- #dma-requests: Number of DMA requestor lines supported by the controller
16 (defaults to 32 when not specified)
37586e0b
ZG
17
18"marvell,pdma-1.0"
af98715f 19Used platforms: pxa25x, pxa27x, pxa3xx, pxa93x, pxa168, pxa910, pxa688.
37586e0b
ZG
20
21Examples:
22
23/*
24 * Each channel has specific irq
25 * ICU parse out irq channel from ICU register,
26 * while DMA controller may not able to distinguish the irq channel
27 * Using this method, interrupt-parent is required as demuxer
28 * For example, pxa688 icu register 0x128, bit 0~15 is PDMA channel irq,
29 * 18~21 is ADMA irq
30 */
31pdma: dma-controller@d4000000 {
32 compatible = "marvell,pdma-1.0";
33 reg = <0xd4000000 0x10000>;
34 interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
35 interrupt-parent = <&intcmux32>;
36 #dma-channels = <16>;
37 };
38
39/*
40 * One irq for all channels
41 * Dmaengine driver (DMA controller) distinguish irq channel via
42 * parsing internal register
43 */
44pdma: dma-controller@d4000000 {
45 compatible = "marvell,pdma-1.0";
46 reg = <0xd4000000 0x10000>;
47 interrupts = <47>;
48 #dma-channels = <16>;
49 };
50
51
52Marvell Two Channel DMA Controller used specifically for audio
af98715f 53Used platforms: pxa688, pxa910
37586e0b
ZG
54
55Required properties:
56- compatible: Should be "marvell,adma-1.0" or "marvell,pxa910-squ"
57- reg: Should contain DMA registers location and length.
58- interrupts: Either contain all of the per-channel DMA interrupts
59 or one irq for dma device
60
61"marvell,adma-1.0" used on pxa688
62"marvell,pxa910-squ" used on pxa910
63
64Examples:
65
66/* each channel has specific irq */
67adma0: dma-controller@d42a0800 {
68 compatible = "marvell,adma-1.0";
69 reg = <0xd42a0800 0x100>;
70 interrupts = <18 19>;
71 interrupt-parent = <&intcmux32>;
72 };
73
74/* One irq for all channels */
75squ: dma-controller@d42a0800 {
76 compatible = "marvell,pxa910-squ";
77 reg = <0xd42a0800 0x100>;
78 interrupts = <46>;
79 };