diff options
author | Olof Johansson <olof@lixom.net> | 2013-06-01 01:44:13 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-06-01 01:44:13 -0400 |
commit | 75ae47f9de39cdea1efc7b5908d5a9ee580ee892 (patch) | |
tree | 2447b5475cb712b2ff0ea165c1d4c115d6d3b852 /arch/arm/mach-kirkwood | |
parent | e4aa937ec75df0eea0bee03bffa3303ad36c986b (diff) | |
parent | 391a16c7783a64309dc930c6d454372d7a8beb12 (diff) |
Merge tag 'boards-3.11-2' of git://git.infradead.org/users/jcooper/linux into next/boards
From Jason Cooper, mvebu board changes for v3.11.
Signed-off-by: Olof Johansson <olof@lixom.net>
* tag 'boards-3.11-2' of git://git.infradead.org/users/jcooper/linux:
ARM: Kirkwood: Convert LSXL to restart-poweroff driver.
ARM: Kirkwood: Make use of the QNAP Power off driver.
ARM: Kirkwood: add DT support for Sheevaplug and Sheevaplug eSATA
Diffstat (limited to 'arch/arm/mach-kirkwood')
-rw-r--r-- | arch/arm/mach-kirkwood/Kconfig | 9 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-dt.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-lsxl.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-sheevaplug.c | 27 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-ts219.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/common.h | 5 |
7 files changed, 46 insertions, 19 deletions
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig index 7509a89af967..1f7078e453b0 100644 --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig | |||
@@ -227,6 +227,7 @@ config MACH_KM_KIRKWOOD_DT | |||
227 | config MACH_LSXL_DT | 227 | config MACH_LSXL_DT |
228 | bool "Buffalo Linkstation LS-XHL, LS-CHLv2 (Flattened Device Tree)" | 228 | bool "Buffalo Linkstation LS-XHL, LS-CHLv2 (Flattened Device Tree)" |
229 | select ARCH_KIRKWOOD_DT | 229 | select ARCH_KIRKWOOD_DT |
230 | select POWER_RESET_RESTART | ||
230 | help | 231 | help |
231 | Say 'Y' here if you want your kernel to support the | 232 | Say 'Y' here if you want your kernel to support the |
232 | Buffalo Linkstation LS-XHL & LS-CHLv2 devices, using | 233 | Buffalo Linkstation LS-XHL & LS-CHLv2 devices, using |
@@ -296,6 +297,13 @@ config MACH_READYNAS_DT | |||
296 | Say 'Y' here if you want your kernel to support the | 297 | Say 'Y' here if you want your kernel to support the |
297 | NETGEAR ReadyNAS Duo v2 using Fattened Device Tree. | 298 | NETGEAR ReadyNAS Duo v2 using Fattened Device Tree. |
298 | 299 | ||
300 | config MACH_SHEEVAPLUG_DT | ||
301 | bool "Marvell (eSATA) SheevaPlug (Flattened Device Tree)" | ||
302 | select ARCH_KIRKWOOD_DT | ||
303 | help | ||
304 | Say 'Y' here if you want your kernel to support the | ||
305 | Marvell (eSATA) SheevaPlug (Flattened Device Tree). | ||
306 | |||
299 | config MACH_TOPKICK_DT | 307 | config MACH_TOPKICK_DT |
300 | bool "USI Topkick (Flattened Device Tree)" | 308 | bool "USI Topkick (Flattened Device Tree)" |
301 | select ARCH_KIRKWOOD_DT | 309 | select ARCH_KIRKWOOD_DT |
@@ -308,6 +316,7 @@ config MACH_TS219_DT | |||
308 | select ARCH_KIRKWOOD_DT | 316 | select ARCH_KIRKWOOD_DT |
309 | select ARM_APPENDED_DTB | 317 | select ARM_APPENDED_DTB |
310 | select ARM_ATAG_DTB_COMPAT | 318 | select ARM_ATAG_DTB_COMPAT |
319 | select POWER_RESET_QNAP | ||
311 | help | 320 | help |
312 | Say 'Y' here if you want your kernel to support the QNAP | 321 | Say 'Y' here if you want your kernel to support the QNAP |
313 | TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and | 322 | TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and |
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 | |||
40 | obj-$(CONFIG_MACH_NSA310_DT) += board-nsa310.o | 40 | obj-$(CONFIG_MACH_NSA310_DT) += board-nsa310.o |
41 | obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o | 41 | obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o |
42 | obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o | 42 | obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o |
43 | obj-$(CONFIG_MACH_SHEEVAPLUG_DT) += board-sheevaplug.o | ||
43 | obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o | 44 | obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o |
44 | obj-$(CONFIG_MACH_TS219_DT) += board-ts219.o tsx1x-common.o | 45 | obj-$(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) | |||
165 | static const char * const kirkwood_dt_board_compat[] = { | 168 | static 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-lsxl.c b/arch/arm/mach-kirkwood/board-lsxl.c index 4ec8b7ae784a..348395238df6 100644 --- a/arch/arm/mach-kirkwood/board-lsxl.c +++ b/arch/arm/mach-kirkwood/board-lsxl.c | |||
@@ -25,19 +25,6 @@ static struct mv643xx_eth_platform_data lsxl_ge01_data = { | |||
25 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), | 25 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
26 | }; | 26 | }; |
27 | 27 | ||
28 | /* | ||
29 | * On the LS-XHL/LS-CHLv2, the shutdown process is following: | ||
30 | * - Userland monitors key events until the power switch goes to off position | ||
31 | * - The board reboots | ||
32 | * - U-boot starts and goes into an idle mode waiting for the user | ||
33 | * to move the switch to ON position | ||
34 | * | ||
35 | */ | ||
36 | static void lsxl_power_off(void) | ||
37 | { | ||
38 | kirkwood_restart('h', NULL); | ||
39 | } | ||
40 | |||
41 | void __init lsxl_init(void) | 28 | void __init lsxl_init(void) |
42 | { | 29 | { |
43 | /* | 30 | /* |
@@ -46,7 +33,4 @@ void __init lsxl_init(void) | |||
46 | 33 | ||
47 | kirkwood_ge00_init(&lsxl_ge00_data); | 34 | kirkwood_ge00_init(&lsxl_ge00_data); |
48 | kirkwood_ge01_init(&lsxl_ge01_data); | 35 | kirkwood_ge01_init(&lsxl_ge01_data); |
49 | |||
50 | /* register power-off method */ | ||
51 | pm_power_off = lsxl_power_off; | ||
52 | } | 36 | } |
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 | |||
17 | static struct mv643xx_eth_platform_data sheevaplug_ge00_data = { | ||
18 | .phy_addr = MV643XX_ETH_PHY_ADDR(0), | ||
19 | }; | ||
20 | |||
21 | void __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/board-ts219.c b/arch/arm/mach-kirkwood/board-ts219.c index acb0187c7ee1..10fb3974de5a 100644 --- a/arch/arm/mach-kirkwood/board-ts219.c +++ b/arch/arm/mach-kirkwood/board-ts219.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <asm/mach/arch.h> | 23 | #include <asm/mach/arch.h> |
24 | #include <mach/kirkwood.h> | 24 | #include <mach/kirkwood.h> |
25 | #include "common.h" | 25 | #include "common.h" |
26 | #include "tsx1x-common.h" | ||
27 | 26 | ||
28 | static struct mv643xx_eth_platform_data qnap_ts219_ge00_data = { | 27 | static struct mv643xx_eth_platform_data qnap_ts219_ge00_data = { |
29 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), | 28 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
@@ -38,8 +37,6 @@ void __init qnap_dt_ts219_init(void) | |||
38 | qnap_ts219_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); | 37 | qnap_ts219_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); |
39 | 38 | ||
40 | kirkwood_ge00_init(&qnap_ts219_ge00_data); | 39 | kirkwood_ge00_init(&qnap_ts219_ge00_data); |
41 | |||
42 | pm_power_off = qnap_tsx1x_power_off; | ||
43 | } | 40 | } |
44 | 41 | ||
45 | /* FIXME: Will not work with DT. Maybe use MPP40_GPIO? */ | 42 | /* FIXME: Will not work with DT. Maybe use MPP40_GPIO? */ |
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 |
66 | static inline void guruplug_dt_init(void) {}; | 66 | static inline void guruplug_dt_init(void) {}; |
67 | #endif | 67 | #endif |
68 | #ifdef CONFIG_MACH_SHEEVAPLUG_DT | ||
69 | void sheevaplug_dt_init(void); | ||
70 | #else | ||
71 | static inline void sheevaplug_dt_init(void) {}; | ||
72 | #endif | ||
68 | #ifdef CONFIG_MACH_TS219_DT | 73 | #ifdef CONFIG_MACH_TS219_DT |
69 | void qnap_dt_ts219_init(void); | 74 | void qnap_dt_ts219_init(void); |
70 | #else | 75 | #else |