aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-11-20 17:40:29 -0500
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-11-20 17:40:29 -0500
commit895e4e3a7da0fea246e736dd815b4d04851ea387 (patch)
tree5fd0137d292400d83fed427cf98c1b1d31ef2ffe
parent0ddd80856b7b99cab198a09ed6cc9edb794fdb3e (diff)
parenta1d53dab4f5b37c800d7a20c56e84a96180a8ea6 (diff)
Merge tag 'marvell-xor-board-dt-changes-3.8-v2' of github.com:MISL-EBU-System-SW/mainline-public into test-the-merge
Marvell XOR driver DT changes for 3.8 Conflicts: arch/arm/boot/dts/armada-xp.dtsi Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi36
-rw-r--r--arch/arm/boot/dts/armada-xp.dtsi40
-rw-r--r--arch/arm/boot/dts/dove.dtsi42
-rw-r--r--arch/arm/boot/dts/kirkwood.dtsi40
-rw-r--r--arch/arm/mach-dove/common.c10
-rw-r--r--arch/arm/mach-kirkwood/board-dt.c13
6 files changed, 158 insertions, 23 deletions
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 175df288707..7fbac28b01f 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -89,6 +89,42 @@
89 #clock-cells = <1>; 89 #clock-cells = <1>;
90 }; 90 };
91 91
92 xor@d0060800 {
93 compatible = "marvell,orion-xor";
94 reg = <0xd0060800 0x100
95 0xd0060A00 0x100>;
96 status = "okay";
92 97
98 xor00 {
99 interrupts = <51>;
100 dmacap,memcpy;
101 dmacap,xor;
102 };
103 xor01 {
104 interrupts = <52>;
105 dmacap,memcpy;
106 dmacap,xor;
107 dmacap,memset;
108 };
109 };
110
111 xor@d0060900 {
112 compatible = "marvell,orion-xor";
113 reg = <0xd0060900 0x100
114 0xd0060b00 0x100>;
115 status = "okay";
116
117 xor10 {
118 interrupts = <94>;
119 dmacap,memcpy;
120 dmacap,xor;
121 };
122 xor11 {
123 interrupts = <95>;
124 dmacap,memcpy;
125 dmacap,xor;
126 dmacap,memset;
127 };
128 };
93 }; 129 };
94}; 130};
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index 3744ea18be7..3c52e7ab191 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -87,5 +87,45 @@
87 clocks = <&gateclk 1>; 87 clocks = <&gateclk 1>;
88 status = "disabled"; 88 status = "disabled";
89 }; 89 };
90
91 xor@d0060900 {
92 compatible = "marvell,orion-xor";
93 reg = <0xd0060900 0x100
94 0xd0060b00 0x100>;
95 clocks = <&gateclk 22>;
96 status = "okay";
97
98 xor10 {
99 interrupts = <51>;
100 dmacap,memcpy;
101 dmacap,xor;
102 };
103 xor11 {
104 interrupts = <52>;
105 dmacap,memcpy;
106 dmacap,xor;
107 dmacap,memset;
108 };
109 };
110
111 xor@d00f0900 {
112 compatible = "marvell,orion-xor";
113 reg = <0xd00F0900 0x100
114 0xd00F0B00 0x100>;
115 clocks = <&gateclk 28>;
116 status = "okay";
117
118 xor00 {
119 interrupts = <94>;
120 dmacap,memcpy;
121 dmacap,xor;
122 };
123 xor01 {
124 interrupts = <95>;
125 dmacap,memcpy;
126 dmacap,xor;
127 dmacap,memset;
128 };
129 };
90 }; 130 };
91}; 131};
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
index b524ee377f8..b1cfa52ae22 100644
--- a/arch/arm/boot/dts/dove.dtsi
+++ b/arch/arm/boot/dts/dove.dtsi
@@ -174,5 +174,47 @@
174 clocks = <&gate_clk 15>; 174 clocks = <&gate_clk 15>;
175 status = "okay"; 175 status = "okay";
176 }; 176 };
177
178 xor0: dma-engine@60800 {
179 compatible = "marvell,orion-xor";
180 reg = <0x60800 0x100
181 0x60a00 0x100>;
182 clocks = <&gate_clk 23>;
183 status = "okay";
184
185 channel0 {
186 interrupts = <39>;
187 dmacap,memcpy;
188 dmacap,xor;
189 };
190
191 channel1 {
192 interrupts = <40>;
193 dmacap,memset;
194 dmacap,memcpy;
195 dmacap,xor;
196 };
197 };
198
199 xor1: dma-engine@60900 {
200 compatible = "marvell,orion-xor";
201 reg = <0x60900 0x100
202 0x60b00 0x100>;
203 clocks = <&gate_clk 24>;
204 status = "okay";
205
206 channel0 {
207 interrupts = <42>;
208 dmacap,memcpy;
209 dmacap,xor;
210 };
211
212 channel1 {
213 interrupts = <43>;
214 dmacap,memset;
215 dmacap,memcpy;
216 dmacap,xor;
217 };
218 };
177 }; 219 };
178}; 220};
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index 7a9fac0d425..2388f9936eb 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -94,6 +94,46 @@
94 status = "okay"; 94 status = "okay";
95 }; 95 };
96 96
97 xor@60800 {
98 compatible = "marvell,orion-xor";
99 reg = <0x60800 0x100
100 0x60A00 0x100>;
101 status = "okay";
102 clocks = <&gate_clk 8>;
103
104 xor00 {
105 interrupts = <5>;
106 dmacap,memcpy;
107 dmacap,xor;
108 };
109 xor01 {
110 interrupts = <6>;
111 dmacap,memcpy;
112 dmacap,xor;
113 dmacap,memset;
114 };
115 };
116
117 xor@60900 {
118 compatible = "marvell,orion-xor";
119 reg = <0x60900 0x100
120 0xd0B00 0x100>;
121 status = "okay";
122 clocks = <&gate_clk 16>;
123
124 xor00 {
125 interrupts = <7>;
126 dmacap,memcpy;
127 dmacap,xor;
128 };
129 xor01 {
130 interrupts = <8>;
131 dmacap,memcpy;
132 dmacap,xor;
133 dmacap,memset;
134 };
135 };
136
97 sata@80000 { 137 sata@80000 {
98 compatible = "marvell,orion-sata"; 138 compatible = "marvell,orion-sata";
99 reg = <0x80000 0x5000>; 139 reg = <0x80000 0x5000>;
diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c
index f4ac5b06014..89f4f993cd0 100644
--- a/arch/arm/mach-dove/common.c
+++ b/arch/arm/mach-dove/common.c
@@ -409,14 +409,6 @@ static void __init dove_legacy_clk_init(void)
409 clkspec.args[0] = CLOCK_GATING_BIT_PCIE1; 409 clkspec.args[0] = CLOCK_GATING_BIT_PCIE1;
410 orion_clkdev_add("1", "pcie", 410 orion_clkdev_add("1", "pcie",
411 of_clk_get_from_provider(&clkspec)); 411 of_clk_get_from_provider(&clkspec));
412
413 clkspec.args[0] = CLOCK_GATING_BIT_XOR0;
414 orion_clkdev_add(NULL, MV_XOR_NAME ".0",
415 of_clk_get_from_provider(&clkspec));
416
417 clkspec.args[0] = CLOCK_GATING_BIT_XOR1;
418 orion_clkdev_add(NULL, MV_XOR_NAME ".1",
419 of_clk_get_from_provider(&clkspec));
420} 412}
421 413
422static void __init dove_of_clk_init(void) 414static void __init dove_of_clk_init(void)
@@ -444,8 +436,6 @@ static void __init dove_dt_init(void)
444 436
445 /* Internal devices not ported to DT yet */ 437 /* Internal devices not ported to DT yet */
446 dove_rtc_init(); 438 dove_rtc_init();
447 dove_xor0_init();
448 dove_xor1_init();
449 439
450 dove_ge00_init(&dove_dt_ge00_data); 440 dove_ge00_init(&dove_dt_ge00_data);
451 dove_ehci0_init(); 441 dove_ehci0_init();
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
index 294ad5a4fd9..9826904277b 100644
--- a/arch/arm/mach-kirkwood/board-dt.c
+++ b/arch/arm/mach-kirkwood/board-dt.c
@@ -21,7 +21,6 @@
21#include <asm/mach/map.h> 21#include <asm/mach/map.h>
22#include <mach/bridge-regs.h> 22#include <mach/bridge-regs.h>
23#include <linux/platform_data/usb-ehci-orion.h> 23#include <linux/platform_data/usb-ehci-orion.h>
24#include <linux/platform_data/dma-mv_xor.h>
25#include <plat/irq.h> 24#include <plat/irq.h>
26#include <plat/common.h> 25#include <plat/common.h>
27#include "common.h" 26#include "common.h"
@@ -60,14 +59,6 @@ static void __init kirkwood_legacy_clk_init(void)
60 orion_clkdev_add(NULL, "orion-ehci.0", 59 orion_clkdev_add(NULL, "orion-ehci.0",
61 of_clk_get_from_provider(&clkspec)); 60 of_clk_get_from_provider(&clkspec));
62 61
63 clkspec.args[0] = CGC_BIT_XOR0;
64 orion_clkdev_add(NULL, MV_XOR_NAME ".0",
65 of_clk_get_from_provider(&clkspec));
66
67 clkspec.args[0] = CGC_BIT_XOR1;
68 orion_clkdev_add(NULL, MV_XOR_NAME ".1",
69 of_clk_get_from_provider(&clkspec));
70
71 clkspec.args[0] = CGC_BIT_PEX1; 62 clkspec.args[0] = CGC_BIT_PEX1;
72 orion_clkdev_add("1", "pcie", 63 orion_clkdev_add("1", "pcie",
73 of_clk_get_from_provider(&clkspec)); 64 of_clk_get_from_provider(&clkspec));
@@ -103,10 +94,6 @@ static void __init kirkwood_dt_init(void)
103 /* Setup root of clk tree */ 94 /* Setup root of clk tree */
104 kirkwood_of_clk_init(); 95 kirkwood_of_clk_init();
105 96
106 /* internal devices that every board has */
107 kirkwood_xor0_init();
108 kirkwood_xor1_init();
109
110#ifdef CONFIG_KEXEC 97#ifdef CONFIG_KEXEC
111 kexec_reinit = kirkwood_enable_pcie; 98 kexec_reinit = kirkwood_enable_pcie;
112#endif 99#endif