ARM: dts: dra7: Use eDMA and add DAT port address for McASP3
authorMisael Lopez Cruz <misael.lopez@ti.com>
Mon, 7 Mar 2016 15:17:30 +0000 (17:17 +0200)
committerTony Lindgren <tony@atomide.com>
Mon, 11 Apr 2016 19:48:07 +0000 (12:48 -0700)
McASP3 does not support constant addressing mode on the DAT
port, so increment transfers must be used instead.  This
restriction is also applicable for McASP1 and McASP2.

This DMA addressing constraint poses a major problem for sDMA
where constant addressing mode is used on the peripheral side.
Unfortunately, using increment transfers in sDMA comes with
important side effects.

The addressing mode used in eDMA is INC, so the silicon limitation
described above has no impact and the McASP3 DAT port can be
safely added by switching to eDMA instead of sDMA.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/dra7.dtsi

index 1d54d311c46a9aee971a09f8e3e43a2fb84836bb..19c96f7a72da31049d2721f7dccae3f7f34cec16 100644 (file)
                mcasp3: mcasp@48468000 {
                        compatible = "ti,dra7-mcasp-audio";
                        ti,hwmods = "mcasp3";
-                       reg = <0x48468000 0x2000>;
-                       reg-names = "mpu";
+                       reg = <0x48468000 0x2000>,
+                             <0x46000000 0x1000>;
+                       reg-names = "mpu","dat";
                        interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-names = "tx", "rx";
-                       dmas = <&sdma_xbar 133>, <&sdma_xbar 132>;
+                       dmas = <&edma_xbar 133 1>, <&edma_xbar 132 1>;
                        dma-names = "tx", "rx";
                        clocks = <&mcasp3_aux_gfclk_mux>, <&mcasp3_ahclkx_mux>;
                        clock-names = "fck", "ahclkx";