mvebu board changes for v3.11 (round 2)

- kirkwood
     - QNAP use power-off driver
     - LSXL use restart-poweroff driver
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJRpPUAAAoJEAi3KVZQDZAe1QYIAKjPpNdRsGCW6LM1qKBssDHQ
 l6xYFF2y2jy/ICOgMZIWp7GAvBxnC5t35gA2niRwCYFI4bqplJ01sZ4JAQ5MIUxz
 roqJta8GUYtA6dvZfr+9kfEk3TWyyUHKF1sdkg8XRm2vCPq2exXb4fz4FBhqKEia
 YpRonLiM/IChHb85y/pHZ6uPuGT2OnAvvTVvZPJJFvbMKGSrKf5mP5IvZ8roBJbA
 7diGav9K7xQmgAM/D2z+7O7LLizFSaZhDFsp4s/dJ+sNLB3iSBZ1TnmeAGIkEf/w
 fcrazF6mek5LB3GSoqzE+kUJKFP0z4a/lMpqlehHQyRZ1EAv5YA86GNBZgniAfY=
 =xYiL
 -----END PGP SIGNATURE-----

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
This commit is contained in:
Olof Johansson 2013-05-31 22:44:13 -07:00
commit 75ae47f9de
9 changed files with 55 additions and 19 deletions

View File

@ -172,6 +172,10 @@
alarm-gpios = <&gpio1 8 0>;
};
restart_poweroff {
compatible = "restart-poweroff";
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;

View File

@ -31,6 +31,11 @@
clock-frequency = <200000000>;
status = "okay";
};
poweroff@12100 {
compatible = "qnap,power-off";
reg = <0x12000 0x100>;
clocks = <&gate_clk 7>;
};
spi@10600 {
status = "okay";

View File

@ -227,6 +227,7 @@ config MACH_KM_KIRKWOOD_DT
config MACH_LSXL_DT
bool "Buffalo Linkstation LS-XHL, LS-CHLv2 (Flattened Device Tree)"
select ARCH_KIRKWOOD_DT
select POWER_RESET_RESTART
help
Say 'Y' here if you want your kernel to support the
Buffalo Linkstation LS-XHL & LS-CHLv2 devices, using
@ -296,6 +297,13 @@ config MACH_READYNAS_DT
Say 'Y' here if you want your kernel to support the
NETGEAR ReadyNAS Duo v2 using Fattened Device Tree.
config MACH_SHEEVAPLUG_DT
bool "Marvell (eSATA) SheevaPlug (Flattened Device Tree)"
select ARCH_KIRKWOOD_DT
help
Say 'Y' here if you want your kernel to support the
Marvell (eSATA) SheevaPlug (Flattened Device Tree).
config MACH_TOPKICK_DT
bool "USI Topkick (Flattened Device Tree)"
select ARCH_KIRKWOOD_DT
@ -308,6 +316,7 @@ config MACH_TS219_DT
select ARCH_KIRKWOOD_DT
select ARM_APPENDED_DTB
select ARM_ATAG_DTB_COMPAT
select POWER_RESET_QNAP
help
Say 'Y' here if you want your kernel to support the QNAP
TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and

View File

@ -40,5 +40,6 @@ obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o
obj-$(CONFIG_MACH_NSA310_DT) += board-nsa310.o
obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o
obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o
obj-$(CONFIG_MACH_SHEEVAPLUG_DT) += board-sheevaplug.o
obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o
obj-$(CONFIG_MACH_TS219_DT) += board-ts219.o tsx1x-common.o

View File

@ -112,6 +112,9 @@ static void __init kirkwood_dt_init(void)
if (of_machine_is_compatible("globalscale,guruplug"))
guruplug_dt_init();
if (of_machine_is_compatible("globalscale,sheevaplug"))
sheevaplug_dt_init();
if (of_machine_is_compatible("dlink,dns-kirkwood"))
dnskw_init();
@ -165,6 +168,7 @@ static void __init kirkwood_dt_init(void)
static const char * const kirkwood_dt_board_compat[] = {
"globalscale,dreamplug",
"globalscale,guruplug",
"globalscale,sheevaplug",
"dlink,dns-320",
"dlink,dns-325",
"iom,iconnect",

View File

@ -25,19 +25,6 @@ static struct mv643xx_eth_platform_data lsxl_ge01_data = {
.phy_addr = MV643XX_ETH_PHY_ADDR(8),
};
/*
* On the LS-XHL/LS-CHLv2, the shutdown process is following:
* - Userland monitors key events until the power switch goes to off position
* - The board reboots
* - U-boot starts and goes into an idle mode waiting for the user
* to move the switch to ON position
*
*/
static void lsxl_power_off(void)
{
kirkwood_restart('h', NULL);
}
void __init lsxl_init(void)
{
/*
@ -46,7 +33,4 @@ void __init lsxl_init(void)
kirkwood_ge00_init(&lsxl_ge00_data);
kirkwood_ge01_init(&lsxl_ge01_data);
/* register power-off method */
pm_power_off = lsxl_power_off;
}

View File

@ -0,0 +1,27 @@
/*
* arch/arm/mach-kirkwood/board-sheevaplug.c
*
* Marvell Sheevaplug Reference Board Init for drivers not converted to
* flattened device tree yet.
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mv643xx_eth.h>
#include "common.h"
static struct mv643xx_eth_platform_data sheevaplug_ge00_data = {
.phy_addr = MV643XX_ETH_PHY_ADDR(0),
};
void __init sheevaplug_dt_init(void)
{
/*
* Basic setup. Needs to be called early.
*/
kirkwood_ge00_init(&sheevaplug_ge00_data);
}

View File

@ -23,7 +23,6 @@
#include <asm/mach/arch.h>
#include <mach/kirkwood.h>
#include "common.h"
#include "tsx1x-common.h"
static struct mv643xx_eth_platform_data qnap_ts219_ge00_data = {
.phy_addr = MV643XX_ETH_PHY_ADDR(8),
@ -38,8 +37,6 @@ void __init qnap_dt_ts219_init(void)
qnap_ts219_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
kirkwood_ge00_init(&qnap_ts219_ge00_data);
pm_power_off = qnap_tsx1x_power_off;
}
/* FIXME: Will not work with DT. Maybe use MPP40_GPIO? */

View File

@ -65,6 +65,11 @@ void guruplug_dt_init(void);
#else
static inline void guruplug_dt_init(void) {};
#endif
#ifdef CONFIG_MACH_SHEEVAPLUG_DT
void sheevaplug_dt_init(void);
#else
static inline void sheevaplug_dt_init(void) {};
#endif
#ifdef CONFIG_MACH_TS219_DT
void qnap_dt_ts219_init(void);
#else