aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-kirkwood/Kconfig22
-rw-r--r--arch/arm/mach-kirkwood/Makefile4
-rw-r--r--arch/arm/mach-kirkwood/board-dt.c23
3 files changed, 40 insertions, 9 deletions
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index e28cb7218787..60d0896bcc26 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -2,67 +2,81 @@ if ARCH_KIRKWOOD
2 2
3menu "Marvell Kirkwood Implementations" 3menu "Marvell Kirkwood Implementations"
4 4
5config KIRKWOOD_LEGACY
6 bool
7
5config MACH_D2NET_V2 8config MACH_D2NET_V2
6 bool "LaCie d2 Network v2 NAS Board" 9 bool "LaCie d2 Network v2 NAS Board"
10 select KIRKWOOD_LEGACY
7 help 11 help
8 Say 'Y' here if you want your kernel to support the 12 Say 'Y' here if you want your kernel to support the
9 LaCie d2 Network v2 NAS. 13 LaCie d2 Network v2 NAS.
10 14
11config MACH_DOCKSTAR 15config MACH_DOCKSTAR
12 bool "Seagate FreeAgent DockStar" 16 bool "Seagate FreeAgent DockStar"
17 select KIRKWOOD_LEGACY
13 help 18 help
14 Say 'Y' here if you want your kernel to support the 19 Say 'Y' here if you want your kernel to support the
15 Seagate FreeAgent DockStar. 20 Seagate FreeAgent DockStar.
16 21
17config MACH_ESATA_SHEEVAPLUG 22config MACH_ESATA_SHEEVAPLUG
18 bool "Marvell eSATA SheevaPlug Reference Board" 23 bool "Marvell eSATA SheevaPlug Reference Board"
24 select KIRKWOOD_LEGACY
19 help 25 help
20 Say 'Y' here if you want your kernel to support the 26 Say 'Y' here if you want your kernel to support the
21 Marvell eSATA SheevaPlug Reference Board. 27 Marvell eSATA SheevaPlug Reference Board.
22 28
23config MACH_GURUPLUG 29config MACH_GURUPLUG
24 bool "Marvell GuruPlug Reference Board" 30 bool "Marvell GuruPlug Reference Board"
31 select KIRKWOOD_LEGACY
25 help 32 help
26 Say 'Y' here if you want your kernel to support the 33 Say 'Y' here if you want your kernel to support the
27 Marvell GuruPlug Reference Board. 34 Marvell GuruPlug Reference Board.
28 35
29config MACH_INETSPACE_V2 36config MACH_INETSPACE_V2
30 bool "LaCie Internet Space v2 NAS Board" 37 bool "LaCie Internet Space v2 NAS Board"
38 select KIRKWOOD_LEGACY
31 help 39 help
32 Say 'Y' here if you want your kernel to support the 40 Say 'Y' here if you want your kernel to support the
33 LaCie Internet Space v2 NAS. 41 LaCie Internet Space v2 NAS.
34 42
35config MACH_MV88F6281GTW_GE 43config MACH_MV88F6281GTW_GE
36 bool "Marvell 88F6281 GTW GE Board" 44 bool "Marvell 88F6281 GTW GE Board"
45 select KIRKWOOD_LEGACY
37 help 46 help
38 Say 'Y' here if you want your kernel to support the 47 Say 'Y' here if you want your kernel to support the
39 Marvell 88F6281 GTW GE Board. 48 Marvell 88F6281 GTW GE Board.
40 49
41config MACH_NET2BIG_V2 50config MACH_NET2BIG_V2
42 bool "LaCie 2Big Network v2 NAS Board" 51 bool "LaCie 2Big Network v2 NAS Board"
52 select KIRKWOOD_LEGACY
43 help 53 help
44 Say 'Y' here if you want your kernel to support the 54 Say 'Y' here if you want your kernel to support the
45 LaCie 2Big Network v2 NAS. 55 LaCie 2Big Network v2 NAS.
46 56
47config MACH_NET5BIG_V2 57config MACH_NET5BIG_V2
48 bool "LaCie 5Big Network v2 NAS Board" 58 bool "LaCie 5Big Network v2 NAS Board"
59 select KIRKWOOD_LEGACY
49 help 60 help
50 Say 'Y' here if you want your kernel to support the 61 Say 'Y' here if you want your kernel to support the
51 LaCie 5Big Network v2 NAS. 62 LaCie 5Big Network v2 NAS.
52 63
53config MACH_NETSPACE_MAX_V2 64config MACH_NETSPACE_MAX_V2
54 bool "LaCie Network Space Max v2 NAS Board" 65 bool "LaCie Network Space Max v2 NAS Board"
66 select KIRKWOOD_LEGACY
55 help 67 help
56 Say 'Y' here if you want your kernel to support the 68 Say 'Y' here if you want your kernel to support the
57 LaCie Network Space Max v2 NAS. 69 LaCie Network Space Max v2 NAS.
58 70
59config MACH_NETSPACE_V2 71config MACH_NETSPACE_V2
60 bool "LaCie Network Space v2 NAS Board" 72 bool "LaCie Network Space v2 NAS Board"
73 select KIRKWOOD_LEGACY
61 help 74 help
62 Say 'Y' here if you want your kernel to support the 75 Say 'Y' here if you want your kernel to support the
63 LaCie Network Space v2 NAS. 76 LaCie Network Space v2 NAS.
64 77
65config MACH_OPENRD 78config MACH_OPENRD
79 select KIRKWOOD_LEGACY
66 bool 80 bool
67 81
68config MACH_OPENRD_BASE 82config MACH_OPENRD_BASE
@@ -88,30 +102,35 @@ config MACH_OPENRD_ULTIMATE
88 102
89config MACH_RD88F6192_NAS 103config MACH_RD88F6192_NAS
90 bool "Marvell RD-88F6192-NAS Reference Board" 104 bool "Marvell RD-88F6192-NAS Reference Board"
105 select KIRKWOOD_LEGACY
91 help 106 help
92 Say 'Y' here if you want your kernel to support the 107 Say 'Y' here if you want your kernel to support the
93 Marvell RD-88F6192-NAS Reference Board. 108 Marvell RD-88F6192-NAS Reference Board.
94 109
95config MACH_RD88F6281 110config MACH_RD88F6281
96 bool "Marvell RD-88F6281 Reference Board" 111 bool "Marvell RD-88F6281 Reference Board"
112 select KIRKWOOD_LEGACY
97 help 113 help
98 Say 'Y' here if you want your kernel to support the 114 Say 'Y' here if you want your kernel to support the
99 Marvell RD-88F6281 Reference Board. 115 Marvell RD-88F6281 Reference Board.
100 116
101config MACH_SHEEVAPLUG 117config MACH_SHEEVAPLUG
102 bool "Marvell SheevaPlug Reference Board" 118 bool "Marvell SheevaPlug Reference Board"
119 select KIRKWOOD_LEGACY
103 help 120 help
104 Say 'Y' here if you want your kernel to support the 121 Say 'Y' here if you want your kernel to support the
105 Marvell SheevaPlug Reference Board. 122 Marvell SheevaPlug Reference Board.
106 123
107config MACH_T5325 124config MACH_T5325
108 bool "HP t5325 Thin Client" 125 bool "HP t5325 Thin Client"
126 select KIRKWOOD_LEGACY
109 help 127 help
110 Say 'Y' here if you want your kernel to support the 128 Say 'Y' here if you want your kernel to support the
111 HP t5325 Thin Client. 129 HP t5325 Thin Client.
112 130
113config MACH_TS219 131config MACH_TS219
114 bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS" 132 bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS"
133 select KIRKWOOD_LEGACY
115 help 134 help
116 Say 'Y' here if you want your kernel to support the 135 Say 'Y' here if you want your kernel to support the
117 QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and 136 QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and
@@ -119,6 +138,7 @@ config MACH_TS219
119 138
120config MACH_TS41X 139config MACH_TS41X
121 bool "QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo NAS" 140 bool "QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo NAS"
141 select KIRKWOOD_LEGACY
122 help 142 help
123 Say 'Y' here if you want your kernel to support the 143 Say 'Y' here if you want your kernel to support the
124 QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo 144 QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo
@@ -129,6 +149,8 @@ comment "Device tree entries"
129config ARCH_KIRKWOOD_DT 149config ARCH_KIRKWOOD_DT
130 bool "Marvell Kirkwood Flattened Device Tree" 150 bool "Marvell Kirkwood Flattened Device Tree"
131 select KIRKWOOD_CLK 151 select KIRKWOOD_CLK
152 select ORION_IRQCHIP
153 select ORION_TIMER
132 select POWER_SUPPLY 154 select POWER_SUPPLY
133 select POWER_RESET 155 select POWER_RESET
134 select POWER_RESET_GPIO 156 select POWER_RESET_GPIO
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
index 9489c82163b9..88e2dd33ce2f 100644
--- a/arch/arm/mach-kirkwood/Makefile
+++ b/arch/arm/mach-kirkwood/Makefile
@@ -1,5 +1,5 @@
1obj-y += common.o irq.o pcie.o mpp.o 1obj-y += common.o pcie.o
2 2obj-$(CONFIG_KIRKWOOD_LEGACY) += irq.o mpp.o
3obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o 3obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o
4obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o 4obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o
5obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o 5obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
index 881f37e3c0af..56d4a5eb853a 100644
--- a/arch/arm/mach-kirkwood/board-dt.c
+++ b/arch/arm/mach-kirkwood/board-dt.c
@@ -15,6 +15,9 @@
15#include <linux/of.h> 15#include <linux/of.h>
16#include <linux/of_platform.h> 16#include <linux/of_platform.h>
17#include <linux/clk-provider.h> 17#include <linux/clk-provider.h>
18#include <linux/clocksource.h>
19#include <linux/dma-mapping.h>
20#include <linux/irqchip.h>
18#include <linux/kexec.h> 21#include <linux/kexec.h>
19#include <asm/mach/arch.h> 22#include <asm/mach/arch.h>
20#include <asm/mach/map.h> 23#include <asm/mach/map.h>
@@ -67,10 +70,17 @@ static void __init kirkwood_legacy_clk_init(void)
67 clk_prepare_enable(clk); 70 clk_prepare_enable(clk);
68} 71}
69 72
70static void __init kirkwood_of_clk_init(void) 73static void __init kirkwood_dt_time_init(void)
71{ 74{
72 of_clk_init(NULL); 75 of_clk_init(NULL);
73 kirkwood_legacy_clk_init(); 76 clocksource_of_init();
77}
78
79static void __init kirkwood_dt_init_early(void)
80{
81 mvebu_mbus_init("marvell,kirkwood-mbus",
82 BRIDGE_WINS_BASE, BRIDGE_WINS_SZ,
83 DDR_WINDOW_CPU_BASE, DDR_WINDOW_CPU_SZ);
74} 84}
75 85
76static void __init kirkwood_dt_init(void) 86static void __init kirkwood_dt_init(void)
@@ -91,8 +101,8 @@ static void __init kirkwood_dt_init(void)
91 101
92 kirkwood_cpufreq_init(); 102 kirkwood_cpufreq_init();
93 103
94 /* Setup root of clk tree */ 104 /* Setup clocks for legacy devices */
95 kirkwood_of_clk_init(); 105 kirkwood_legacy_clk_init();
96 106
97 kirkwood_cpuidle_init(); 107 kirkwood_cpuidle_init();
98 108
@@ -114,9 +124,8 @@ static const char * const kirkwood_dt_board_compat[] = {
114DT_MACHINE_START(KIRKWOOD_DT, "Marvell Kirkwood (Flattened Device Tree)") 124DT_MACHINE_START(KIRKWOOD_DT, "Marvell Kirkwood (Flattened Device Tree)")
115 /* Maintainer: Jason Cooper <jason@lakedaemon.net> */ 125 /* Maintainer: Jason Cooper <jason@lakedaemon.net> */
116 .map_io = kirkwood_map_io, 126 .map_io = kirkwood_map_io,
117 .init_early = kirkwood_init_early, 127 .init_early = kirkwood_dt_init_early,
118 .init_irq = orion_dt_init_irq, 128 .init_time = kirkwood_dt_time_init,
119 .init_time = kirkwood_timer_init,
120 .init_machine = kirkwood_dt_init, 129 .init_machine = kirkwood_dt_init,
121 .restart = kirkwood_restart, 130 .restart = kirkwood_restart,
122 .dt_compat = kirkwood_dt_board_compat, 131 .dt_compat = kirkwood_dt_board_compat,