]> Pileus Git - ~andy/linux/blob - arch/mips/mti-malta/malta-reset.c
Merge tag 'please-pull-ia64-syscalls' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / arch / mips / mti-malta / malta-reset.c
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Carsten Langgaard, carstenl@mips.com
7  * Copyright (C) 1999,2000 MIPS Technologies, Inc.  All rights reserved.
8  */
9 #include <linux/io.h>
10 #include <linux/pm.h>
11
12 #include <asm/reboot.h>
13
14 #define SOFTRES_REG     0x1f000500
15 #define GORESET         0x42
16
17 static void mips_machine_restart(char *command)
18 {
19         unsigned int __iomem *softres_reg =
20                 ioremap(SOFTRES_REG, sizeof(unsigned int));
21
22         __raw_writel(GORESET, softres_reg);
23 }
24
25 static void mips_machine_halt(void)
26 {
27         unsigned int __iomem *softres_reg =
28                 ioremap(SOFTRES_REG, sizeof(unsigned int));
29
30         __raw_writel(GORESET, softres_reg);
31 }
32
33 static int __init mips_reboot_setup(void)
34 {
35         _machine_restart = mips_machine_restart;
36         _machine_halt = mips_machine_halt;
37         pm_power_off = mips_machine_halt;
38
39         return 0;
40 }
41 arch_initcall(mips_reboot_setup);