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