diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-11-20 17:40:29 -0500 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-11-20 17:40:29 -0500 |
commit | 895e4e3a7da0fea246e736dd815b4d04851ea387 (patch) | |
tree | 5fd0137d292400d83fed427cf98c1b1d31ef2ffe | |
parent | 0ddd80856b7b99cab198a09ed6cc9edb794fdb3e (diff) | |
parent | a1d53dab4f5b37c800d7a20c56e84a96180a8ea6 (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.dtsi | 36 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp.dtsi | 40 | ||||
-rw-r--r-- | arch/arm/boot/dts/dove.dtsi | 42 | ||||
-rw-r--r-- | arch/arm/boot/dts/kirkwood.dtsi | 40 | ||||
-rw-r--r-- | arch/arm/mach-dove/common.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-dt.c | 13 |
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 | ||
422 | static void __init dove_of_clk_init(void) | 414 | static 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 |