diff options
-rw-r--r-- | arch/arm/mach-kirkwood/Kconfig | 22 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-dt.c | 23 |
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 | ||
3 | menu "Marvell Kirkwood Implementations" | 3 | menu "Marvell Kirkwood Implementations" |
4 | 4 | ||
5 | config KIRKWOOD_LEGACY | ||
6 | bool | ||
7 | |||
5 | config MACH_D2NET_V2 | 8 | config 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 | ||
11 | config MACH_DOCKSTAR | 15 | config 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 | ||
17 | config MACH_ESATA_SHEEVAPLUG | 22 | config 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 | ||
23 | config MACH_GURUPLUG | 29 | config 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 | ||
29 | config MACH_INETSPACE_V2 | 36 | config 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 | ||
35 | config MACH_MV88F6281GTW_GE | 43 | config 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 | ||
41 | config MACH_NET2BIG_V2 | 50 | config 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 | ||
47 | config MACH_NET5BIG_V2 | 57 | config 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 | ||
53 | config MACH_NETSPACE_MAX_V2 | 64 | config 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 | ||
59 | config MACH_NETSPACE_V2 | 71 | config 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 | ||
65 | config MACH_OPENRD | 78 | config MACH_OPENRD |
79 | select KIRKWOOD_LEGACY | ||
66 | bool | 80 | bool |
67 | 81 | ||
68 | config MACH_OPENRD_BASE | 82 | config MACH_OPENRD_BASE |
@@ -88,30 +102,35 @@ config MACH_OPENRD_ULTIMATE | |||
88 | 102 | ||
89 | config MACH_RD88F6192_NAS | 103 | config 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 | ||
95 | config MACH_RD88F6281 | 110 | config 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 | ||
101 | config MACH_SHEEVAPLUG | 117 | config 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 | ||
107 | config MACH_T5325 | 124 | config 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 | ||
113 | config MACH_TS219 | 131 | config 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 | ||
120 | config MACH_TS41X | 139 | config 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" | |||
129 | config ARCH_KIRKWOOD_DT | 149 | config 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 @@ | |||
1 | obj-y += common.o irq.o pcie.o mpp.o | 1 | obj-y += common.o pcie.o |
2 | 2 | obj-$(CONFIG_KIRKWOOD_LEGACY) += irq.o mpp.o | |
3 | obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o | 3 | obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o |
4 | obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o | 4 | obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o |
5 | obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o | 5 | obj-$(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 | ||
70 | static void __init kirkwood_of_clk_init(void) | 73 | static 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 | |||
79 | static 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 | ||
76 | static void __init kirkwood_dt_init(void) | 86 | static 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[] = { | |||
114 | DT_MACHINE_START(KIRKWOOD_DT, "Marvell Kirkwood (Flattened Device Tree)") | 124 | DT_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, |