From 990f7f61435896a03a953e1711922ab0363b625c Mon Sep 17 00:00:00 2001 From: Yoshinori Sato Date: Sat, 30 Jan 2016 18:58:53 +0900 Subject: [PATCH] m68k: Add shutdown functions. Signed-off-by: Yoshinori Sato --- arch/m68k/x68k/x68k.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/arch/m68k/x68k/x68k.c b/arch/m68k/x68k/x68k.c index a6caf424c6a7..f4fac1c755d0 100644 --- a/arch/m68k/x68k/x68k.c +++ b/arch/m68k/x68k/x68k.c @@ -6,13 +6,28 @@ /***************************************************************************/ -void scc_puts(char *); +static void reset(void) +{ + __asm__ volatile("movw #0x2700,%sr\n\t" + "movel #0xff0000, %a0\n\t" + "movel %a0@+,%sp\n\t" + "movel %a0@+,%a1\n\t" + "jmp %a1@"); +} + +static void poweroff(void) +{ + __raw_writeb(0x00, (void *)0xe8e00f); + __raw_writeb(0x0f, (void *)0xe8e00f); + __raw_writeb(0x0f, (void *)0xe8e00f); +} void __init config_BSP(char *command, int len) { mach_sched_init = hw_timer_init; mach_hwclk = NULL; - mach_reset = NULL; + mach_reset = reset; + mach_power_off = poweroff; memcpy(command, (void *)0x7e00, len); } -- 2.11.0