summaryrefslogtreecommitdiffstats
path: root/arch
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
parent37e5c835bbbce4fde11cccc30dfe6c7b853ea964 (diff)
downloadop-kernel-dev-dadaa1c2c0eddc09d11d7494b040c3f331ecd98f.zip
op-kernel-dev-dadaa1c2c0eddc09d11d7494b040c3f331ecd98f.tar.gz
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')
-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 199ed280..2fd2cc2 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);
}
OpenPOWER on IntegriCloud