sh: mach-sdk7786: reset controller reboot support.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 20 Jan 2010 07:53:11 +0000 (16:53 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 20 Jan 2010 07:53:11 +0000 (16:53 +0900)
This wires up the machine_ops reboot call to use the system reset
controller.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/mach-sdk7786/setup.c

index 3c3c9a3..f094ea2 100644 (file)
@@ -20,6 +20,7 @@
 #include <asm/machvec.h>
 #include <asm/heartbeat.h>
 #include <asm/sizes.h>
+#include <asm/reboot.h>
 
 static struct resource heartbeat_resource = {
        .start          = 0x07fff8b0,
@@ -159,6 +160,11 @@ static int sdk7786_clk_init(void)
        return ret;
 }
 
+static void sdk7786_restart(char *cmd)
+{
+       fpga_write_reg(0xa5a5, SRSTR);
+}
+
 /* Initialize the board */
 static void __init sdk7786_setup(char **cmdline_p)
 {
@@ -167,6 +173,8 @@ static void __init sdk7786_setup(char **cmdline_p)
        sdk7786_fpga_init();
 
        pr_info("\tPCB revision:\t%d\n", fpga_read_reg(PCBRR) & 0xf);
+
+       machine_ops.restart = sdk7786_restart;
 }
 
 /*