aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Baatz <gmbnomis@gmail.com>2013-05-13 17:19:01 -0400
committerJason Cooper <jason@lakedaemon.net>2013-05-14 20:33:18 -0400
commit193da78bec1b510ab0a743348a7e9a2c24766268 (patch)
treed055842ac8b7c9b369b807d9ff8bc174103c25bf
parentf722406faae2d073cc1d01063d1123c35425939e (diff)
ARM: Kirkwood: add DT support for Sheevaplug and Sheevaplug eSATA
Signed-off-by: Simon Baatz <gmbnomis@gmail.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--arch/arm/mach-kirkwood/Kconfig7
-rw-r--r--arch/arm/mach-kirkwood/Makefile1
-rw-r--r--arch/arm/mach-kirkwood/board-dt.c4
-rw-r--r--arch/arm/mach-kirkwood/board-sheevaplug.c27
-rw-r--r--arch/arm/mach-kirkwood/common.h5
5 files changed, 44 insertions, 0 deletions
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index 7509a89af967..58518a2a68f9 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -296,6 +296,13 @@ config MACH_READYNAS_DT
296 Say 'Y' here if you want your kernel to support the 296 Say 'Y' here if you want your kernel to support the
297 NETGEAR ReadyNAS Duo v2 using Fattened Device Tree. 297 NETGEAR ReadyNAS Duo v2 using Fattened Device Tree.
298 298
299config MACH_SHEEVAPLUG_DT
300 bool "Marvell (eSATA) SheevaPlug (Flattened Device Tree)"
301 select ARCH_KIRKWOOD_DT
302 help
303 Say 'Y' here if you want your kernel to support the
304 Marvell (eSATA) SheevaPlug (Flattened Device Tree).
305
299config MACH_TOPKICK_DT 306config MACH_TOPKICK_DT
300 bool "USI Topkick (Flattened Device Tree)" 307 bool "USI Topkick (Flattened Device Tree)"
301 select ARCH_KIRKWOOD_DT 308 select ARCH_KIRKWOOD_DT
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
index e1f3735d3415..8846abf8fc73 100644
--- a/arch/arm/mach-kirkwood/Makefile
+++ b/arch/arm/mach-kirkwood/Makefile
@@ -40,5 +40,6 @@ obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o
40obj-$(CONFIG_MACH_NSA310_DT) += board-nsa310.o 40obj-$(CONFIG_MACH_NSA310_DT) += board-nsa310.o
41obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o 41obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o
42obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o 42obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o
43obj-$(CONFIG_MACH_SHEEVAPLUG_DT) += board-sheevaplug.o
43obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o 44obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o
44obj-$(CONFIG_MACH_TS219_DT) += board-ts219.o tsx1x-common.o 45obj-$(CONFIG_MACH_TS219_DT) += board-ts219.o tsx1x-common.o
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
index e9647b80cb59..a09dbac61efa 100644
--- a/arch/arm/mach-kirkwood/board-dt.c
+++ b/arch/arm/mach-kirkwood/board-dt.c
@@ -112,6 +112,9 @@ static void __init kirkwood_dt_init(void)
112 if (of_machine_is_compatible("globalscale,guruplug")) 112 if (of_machine_is_compatible("globalscale,guruplug"))
113 guruplug_dt_init(); 113 guruplug_dt_init();
114 114
115 if (of_machine_is_compatible("globalscale,sheevaplug"))
116 sheevaplug_dt_init();
117
115 if (of_machine_is_compatible("dlink,dns-kirkwood")) 118 if (of_machine_is_compatible("dlink,dns-kirkwood"))
116 dnskw_init(); 119 dnskw_init();
117 120
@@ -165,6 +168,7 @@ static void __init kirkwood_dt_init(void)
165static const char * const kirkwood_dt_board_compat[] = { 168static const char * const kirkwood_dt_board_compat[] = {
166 "globalscale,dreamplug", 169 "globalscale,dreamplug",
167 "globalscale,guruplug", 170 "globalscale,guruplug",
171 "globalscale,sheevaplug",
168 "dlink,dns-320", 172 "dlink,dns-320",
169 "dlink,dns-325", 173 "dlink,dns-325",
170 "iom,iconnect", 174 "iom,iconnect",
diff --git a/arch/arm/mach-kirkwood/board-sheevaplug.c b/arch/arm/mach-kirkwood/board-sheevaplug.c
new file mode 100644
index 000000000000..fa389373ca74
--- /dev/null
+++ b/arch/arm/mach-kirkwood/board-sheevaplug.c
@@ -0,0 +1,27 @@
1/*
2 * arch/arm/mach-kirkwood/board-sheevaplug.c
3 *
4 * Marvell Sheevaplug Reference Board Init for drivers not converted to
5 * flattened device tree yet.
6 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
10 */
11
12#include <linux/kernel.h>
13#include <linux/init.h>
14#include <linux/mv643xx_eth.h>
15#include "common.h"
16
17static struct mv643xx_eth_platform_data sheevaplug_ge00_data = {
18 .phy_addr = MV643XX_ETH_PHY_ADDR(0),
19};
20
21void __init sheevaplug_dt_init(void)
22{
23 /*
24 * Basic setup. Needs to be called early.
25 */
26 kirkwood_ge00_init(&sheevaplug_ge00_data);
27}
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h
index 21da3b1ebd7b..974442eca0c8 100644
--- a/arch/arm/mach-kirkwood/common.h
+++ b/arch/arm/mach-kirkwood/common.h
@@ -65,6 +65,11 @@ void guruplug_dt_init(void);
65#else 65#else
66static inline void guruplug_dt_init(void) {}; 66static inline void guruplug_dt_init(void) {};
67#endif 67#endif
68#ifdef CONFIG_MACH_SHEEVAPLUG_DT
69void sheevaplug_dt_init(void);
70#else
71static inline void sheevaplug_dt_init(void) {};
72#endif
68#ifdef CONFIG_MACH_TS219_DT 73#ifdef CONFIG_MACH_TS219_DT
69void qnap_dt_ts219_init(void); 74void qnap_dt_ts219_init(void);
70#else 75#else