ARM: DTS: da850: Use the new DT bindings for the eDMA3
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 17 Dec 2015 13:27:48 +0000 (15:27 +0200)
committerSekhar Nori <nsekhar@ti.com>
Thu, 24 Dec 2015 11:02:14 +0000 (16:32 +0530)
Switch to use the ti,edma3-tpcc and ti,edma3-tptc binding for the eDMA3.
With the new bindings boards can customize and tweak the DMA channel
priority to match their needs. With the new binding the memcpy is safe
to be used since with the old binding it was not possible for a driver
to know which channel is allowed to be used as non HW triggered channel.
Using the new binding will allow us to reserve PaRAM slots to be used by
the DSP which was not possible before and prevented the da850 boards to be
moved to DT only.

Note that the DMA memcpy is disabled, it can be enabled by reserving
channels for memcpy by adding the following property to the edma node:
ti,edma-memcpy-channels = <20 21>; /* Reserving channel 20 and 21 for memcpy */

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Sushaanth Srirangapathi <sushaanth.s@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/boot/dts/da850-enbw-cmc.dts
arch/arm/boot/dts/da850-evm.dts
arch/arm/boot/dts/da850.dtsi

index e750ab9086d50d73d1c07559fea2fc9c0fbf900d..1811f8275559050d38622c5a34908bde779fe7d0 100644 (file)
@@ -28,3 +28,7 @@
                };
        };
 };
+
+&edma0 {
+       ti,edma-reserved-slot-ranges = <32 50>;
+};
index 4f935ad9f27ba208b337b3b911cfc29fb4986c84..b7ea8318c7fe6c76acbab34bd68ab8c1b10da83a 100644 (file)
        tx-num-evt = <32>;
        rx-num-evt = <32>;
 };
+
+&edma0 {
+       ti,edma-reserved-slot-ranges = <32 50>;
+};
index e73f5efb3aa3add689e0ba9a1913b09d1e2c124f..6e39f9b06524a72bc7c9a050bc172fa137675dc8 100644 (file)
 
                };
                edma0: edma@01c00000 {
-                       compatible = "ti,edma3";
+                       compatible = "ti,edma3-tpcc";
                        /* eDMA3 CC0: 0x01c0 0000 - 0x01c0 7fff */
                        reg =   <0x0 0x8000>;
-                       interrupts = <11 13 12>;
-                       #dma-cells = <1>;
+                       reg-names = "edma3_cc";
+                       interrupts = <11 12>;
+                       interrupt-names = "edma3_ccint", "edma3_ccerrint";
+                       #dma-cells = <2>;
+
+                       ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;
+               };
+               edma0_tptc0: tptc@01c08000 {
+                       compatible = "ti,edma3-tptc";
+                       reg =   <0x8000 0x400>;
+                       interrupts = <13>;
+                       interrupt-names = "edm3_tcerrint";
+               };
+               edma0_tptc1: tptc@01c08400 {
+                       compatible = "ti,edma3-tptc";
+                       reg =   <0x8400 0x400>;
+                       interrupts = <32>;
+                       interrupt-names = "edm3_tcerrint";
                };
                serial0: serial@1c42000 {
                        compatible = "ns16550a";
                        interrupts = <54>;
                        interrupt-names = "common";
                        status = "disabled";
-                       dmas = <&edma0 1>,
-                               <&edma0 0>;
+                       dmas = <&edma0 1 1>,
+                               <&edma0 0 1>;
                        dma-names = "tx", "rx";
                };
        };