aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/mti-malta
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2014-05-07 12:22:12 +0100
committerRalf Baechle <ralf@linux-mips.org>2014-05-30 21:01:09 +0200
commitdadaa1c2c0eddc09d11d7494b040c3f331ecd98f (patch)
tree33abffc8043d444a9d519a8d7e309f82c4bcdfeb /arch/mips/mti-malta
parentMIPS: Malta: hang on halt (diff)
downloadlinux-dev-dadaa1c2c0eddc09d11d7494b040c3f331ecd98f.tar.xz
linux-dev-dadaa1c2c0eddc09d11d7494b040c3f331ecd98f.zip
MIPS: Malta: support powering down
This patch powers down the Malta in response to a power off command (eg. poweroff or shutdown -P). It may then be powered back up by pressing the "ON/NMI" button (S4) on the board. In cases where the power off state cannot be entered (eg. because the required PCI support is disabled) the current reset behaviour will be used as a fallback. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Tested-by: James Hogan <james.hogan@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6907/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/mti-malta')
-rw-r--r--arch/mips/mti-malta/malta-reset.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips/mti-malta/malta-reset.c b/arch/mips/mti-malta/malta-reset.c
index 199ed28066e4..2fd2cc2c5034 100644
--- a/arch/mips/mti-malta/malta-reset.c
+++ b/arch/mips/mti-malta/malta-reset.c
@@ -10,6 +10,7 @@
#include <linux/pm.h>
#include <asm/reboot.h>
+#include <asm/mach-malta/malta-pm.h>
#define SOFTRES_REG 0x1f000500
#define GORESET 0x42
@@ -29,6 +30,9 @@ static void mips_machine_halt(void)
static void mips_machine_power_off(void)
{
+ mips_pm_suspend(PIIX4_FUNC3IO_PMCNTRL_SUS_TYP_SOFF);
+
+ pr_info("Failed to power down, resetting\n");
mips_machine_restart(NULL);
}