]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
arm: dove: Convert Dove to DT XOR DMA engine
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Mon, 19 Nov 2012 08:37:24 +0000 (09:37 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 20 Nov 2012 15:03:35 +0000 (16:03 +0100)
With DT support for Marvell XOR DMA engine, make use of it on Dove.
Also remove the now redundant code in DT board init for xor engines.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
arch/arm/boot/dts/dove.dtsi
arch/arm/mach-dove/common.c

index b524ee377f83e7accba619ead05cd854a3920743..b1cfa52ae223979f7e8ea85f1f8e6866b7e41c71 100644 (file)
                        clocks = <&gate_clk 15>;
                        status = "okay";
                };
+
+               xor0: dma-engine@60800 {
+                       compatible = "marvell,orion-xor";
+                       reg = <0x60800 0x100
+                              0x60a00 0x100>;
+                       clocks = <&gate_clk 23>;
+                       status = "okay";
+
+                       channel0 {
+                               interrupts = <39>;
+                               dmacap,memcpy;
+                               dmacap,xor;
+                       };
+
+                       channel1 {
+                               interrupts = <40>;
+                               dmacap,memset;
+                               dmacap,memcpy;
+                               dmacap,xor;
+                       };
+               };
+
+               xor1: dma-engine@60900 {
+                       compatible = "marvell,orion-xor";
+                       reg = <0x60900 0x100
+                              0x60b00 0x100>;
+                       clocks = <&gate_clk 24>;
+                       status = "okay";
+
+                       channel0 {
+                               interrupts = <42>;
+                               dmacap,memcpy;
+                               dmacap,xor;
+                       };
+
+                       channel1 {
+                               interrupts = <43>;
+                               dmacap,memset;
+                               dmacap,memcpy;
+                               dmacap,xor;
+                       };
+               };
        };
 };
index f4ac5b06014b4d18c6a66b411378e8998a031759..89f4f993cd03fb4c0d4ed6eac000d1131aa351ac 100644 (file)
@@ -409,14 +409,6 @@ static void __init dove_legacy_clk_init(void)
        clkspec.args[0] = CLOCK_GATING_BIT_PCIE1;
        orion_clkdev_add("1", "pcie",
                         of_clk_get_from_provider(&clkspec));
-
-       clkspec.args[0] = CLOCK_GATING_BIT_XOR0;
-       orion_clkdev_add(NULL, MV_XOR_NAME ".0",
-                        of_clk_get_from_provider(&clkspec));
-
-       clkspec.args[0] = CLOCK_GATING_BIT_XOR1;
-       orion_clkdev_add(NULL, MV_XOR_NAME ".1",
-                        of_clk_get_from_provider(&clkspec));
 }
 
 static void __init dove_of_clk_init(void)
@@ -444,8 +436,6 @@ static void __init dove_dt_init(void)
 
        /* Internal devices not ported to DT yet */
        dove_rtc_init();
-       dove_xor0_init();
-       dove_xor1_init();
 
        dove_ge00_init(&dove_dt_ge00_data);
        dove_ehci0_init();