MIPS: Malta: support powering down
authorPaul Burton <paul.burton@imgtec.com>
Wed, 7 May 2014 11:22:12 +0000 (12:22 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 30 May 2014 19:01:09 +0000 (21:01 +0200)
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>
arch/mips/mti-malta/malta-reset.c

index 199ed28066e4522ff087d8231c72e2d6783fd92c..2fd2cc2c5034fbf1ddd59ffec163fab76187aa4a 100644 (file)
@@ -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);
 }