• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  * Copyright (C) 2012 MIPS Technologies, Inc.  All rights reserved.
7  */
8 #include <linux/io.h>
9 #include <linux/pm.h>
10 
11 #include <asm/reboot.h>
12 
13 #define SOFTRES_REG	0x1f000050
14 #define GORESET		0x4d
15 
mips_machine_restart(char * command)16 static void mips_machine_restart(char *command)
17 {
18 	unsigned int __iomem *softres_reg =
19 		ioremap(SOFTRES_REG, sizeof(unsigned int));
20 
21 	__raw_writel(GORESET, softres_reg);
22 }
23 
mips_machine_halt(void)24 static void mips_machine_halt(void)
25 {
26 	unsigned int __iomem *softres_reg =
27 		ioremap(SOFTRES_REG, sizeof(unsigned int));
28 
29 	__raw_writel(GORESET, softres_reg);
30 }
31 
mips_reboot_setup(void)32 static int __init mips_reboot_setup(void)
33 {
34 	_machine_restart = mips_machine_restart;
35 	_machine_halt = mips_machine_halt;
36 	pm_power_off = mips_machine_halt;
37 
38 	return 0;
39 }
40 arch_initcall(mips_reboot_setup);
41