ARM: shmobile: kzm9g: enable restarting
authorTetsuyuki Kobayashi <koba@kmckk.co.jp>
Fri, 20 Jul 2012 06:16:30 +0000 (15:16 +0900)
committerSimon Horman <horms@verge.net.au>
Sat, 25 Aug 2012 05:39:44 +0000 (14:39 +0900)
Do soft-power-on-reset in sys_reboot system call.

How to test this patch
  Execute "sudo reboot" from command line. The system will start shutdown
  sequence and finally reboot and U-Boot restarts.

Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Simon Horman <horms@verge.net.au>
arch/arm/mach-shmobile/board-kzm9g.c

index 53b7ea92c32c119bcfc6d44a96b92fac915363da..fd21fb6f99538b696fa6d8fe5d3d9c34c3e8afab 100644 (file)
@@ -763,6 +763,13 @@ static void __init kzm_init(void)
        platform_add_devices(kzm_devices, ARRAY_SIZE(kzm_devices));
 }
 
+static void kzm9g_restart(char mode, const char *cmd)
+{
+#define RESCNT2 0xe6188020
+       /* Do soft power on reset */
+       writel((1 << 31), RESCNT2);
+}
+
 static const char *kzm9g_boards_compat_dt[] __initdata = {
        "renesas,kzm9g",
        NULL,
@@ -777,5 +784,6 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g")
        .init_machine   = kzm_init,
        .init_late      = shmobile_init_late,
        .timer          = &shmobile_timer,
+       .restart        = kzm9g_restart,
        .dt_compat      = kzm9g_boards_compat_dt,
 MACHINE_END