162306a36Sopenharmony_ci* MARVELL MMP DMA controller
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciMarvell Peripheral DMA Controller
462306a36Sopenharmony_ciUsed platforms: pxa688, pxa910, pxa3xx, etc
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciRequired properties:
762306a36Sopenharmony_ci- compatible: Should be "marvell,pdma-1.0"
862306a36Sopenharmony_ci- reg: Should contain DMA registers location and length.
962306a36Sopenharmony_ci- interrupts: Either contain all of the per-channel DMA interrupts
1062306a36Sopenharmony_ci		or one irq for pdma device
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciOptional properties:
1362306a36Sopenharmony_ci- dma-channels: Number of DMA channels supported by the controller (defaults
1462306a36Sopenharmony_ci  to 32 when not specified)
1562306a36Sopenharmony_ci- #dma-channels: deprecated
1662306a36Sopenharmony_ci- dma-requests: Number of DMA requestor lines supported by the controller
1762306a36Sopenharmony_ci  (defaults to 32 when not specified)
1862306a36Sopenharmony_ci- #dma-requests: deprecated
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci"marvell,pdma-1.0"
2162306a36Sopenharmony_ciUsed platforms: pxa25x, pxa27x, pxa3xx, pxa93x, pxa168, pxa910, pxa688.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciExamples:
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci/*
2662306a36Sopenharmony_ci * Each channel has specific irq
2762306a36Sopenharmony_ci * ICU parse out irq channel from ICU register,
2862306a36Sopenharmony_ci * while DMA controller may not able to distinguish the irq channel
2962306a36Sopenharmony_ci * Using this method, interrupt-parent is required as demuxer
3062306a36Sopenharmony_ci * For example, pxa688 icu register 0x128, bit 0~15 is PDMA channel irq,
3162306a36Sopenharmony_ci * 18~21 is ADMA irq
3262306a36Sopenharmony_ci */
3362306a36Sopenharmony_cipdma: dma-controller@d4000000 {
3462306a36Sopenharmony_ci	      compatible = "marvell,pdma-1.0";
3562306a36Sopenharmony_ci	      reg = <0xd4000000 0x10000>;
3662306a36Sopenharmony_ci	      interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
3762306a36Sopenharmony_ci	      interrupt-parent = <&intcmux32>;
3862306a36Sopenharmony_ci	      dma-channels = <16>;
3962306a36Sopenharmony_ci      };
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci/*
4262306a36Sopenharmony_ci * One irq for all channels
4362306a36Sopenharmony_ci * Dmaengine driver (DMA controller) distinguish irq channel via
4462306a36Sopenharmony_ci * parsing internal register
4562306a36Sopenharmony_ci */
4662306a36Sopenharmony_cipdma: dma-controller@d4000000 {
4762306a36Sopenharmony_ci	      compatible = "marvell,pdma-1.0";
4862306a36Sopenharmony_ci	      reg = <0xd4000000 0x10000>;
4962306a36Sopenharmony_ci	      interrupts = <47>;
5062306a36Sopenharmony_ci	      dma-channels = <16>;
5162306a36Sopenharmony_ci      };
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciMarvell Two Channel DMA Controller used specifically for audio
5562306a36Sopenharmony_ciUsed platforms: pxa688, pxa910
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciRequired properties:
5862306a36Sopenharmony_ci- compatible: Should be "marvell,adma-1.0" or "marvell,pxa910-squ"
5962306a36Sopenharmony_ci- reg: Should contain DMA registers location and length.
6062306a36Sopenharmony_ci- interrupts: Either contain all of the per-channel DMA interrupts
6162306a36Sopenharmony_ci		or one irq for dma device
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci"marvell,adma-1.0" used on pxa688
6462306a36Sopenharmony_ci"marvell,pxa910-squ" used on pxa910
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciExamples:
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci/* each channel has specific irq */
6962306a36Sopenharmony_ciadma0: dma-controller@d42a0800 {
7062306a36Sopenharmony_ci	      compatible = "marvell,adma-1.0";
7162306a36Sopenharmony_ci	      reg = <0xd42a0800 0x100>;
7262306a36Sopenharmony_ci	      interrupts = <18 19>;
7362306a36Sopenharmony_ci	      interrupt-parent = <&intcmux32>;
7462306a36Sopenharmony_ci      };
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci/* One irq for all channels */
7762306a36Sopenharmony_cisqu: dma-controller@d42a0800 {
7862306a36Sopenharmony_ci	      compatible = "marvell,pxa910-squ";
7962306a36Sopenharmony_ci	      reg = <0xd42a0800 0x100>;
8062306a36Sopenharmony_ci	      interrupts = <46>;
8162306a36Sopenharmony_ci      };
82