source: src/linux/rt2880/linux-2.6.23/arch/mips/rt2880/reset.c @ 12963

Last change on this file since 12963 was 12963, checked in by BrainSlayer, 4 years ago

ESR6650 specific changes and other performance enhancements

File size: 2.5 KB
Line 
1/**************************************************************************
2 *
3 *  BRIEF MODULE DESCRIPTION
4 *     reboot/reset setting for Ralink RT2880 solution
5 *
6 *  Copyright 2007 Ralink Inc. (bruce_chang@ralinktech.com.tw)
7 *
8 *  This program is free software; you can redistribute  it and/or modify it
9 *  under  the terms of  the GNU General  Public License as published by the
10 *  Free Software Foundation;  either version 2 of the  License, or (at your
11 *  option) any later version.
12 *
13 *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
14 *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
15 *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
16 *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
17 *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18 *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
19 *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
21 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
24 *  You should have received a copy of the  GNU General Public License along
25 *  with this program; if not, write  to the Free Software Foundation, Inc.,
26 *  675 Mass Ave, Cambridge, MA 02139, USA.
27 *
28 *
29 **************************************************************************
30 * May 2007 Bruce Chang
31 *
32 * Initial Release
33 *
34 *
35 *
36 **************************************************************************
37 */
38
39
40
41#include <asm/reboot.h>
42#include <asm/rt2880/generic.h>
43#include <linux/pm.h>
44
45static void mips_machine_restart(char *command);
46static void mips_machine_halt(void);
47static void mips_machine_power_off(void);
48extern void ralink_reset(int reset_pin);
49
50static void mips_machine_restart(char *command)
51{
52#ifdef CONFIG_MTD_ESR6650
53        ralink_reset(7);
54#else
55        *(volatile unsigned int*)(SOFTRES_REG) = GORESET;
56#endif
57}
58
59static void mips_machine_halt(void)
60{
61        *(volatile unsigned int*)(SOFTRES_REG) = GORESET;
62}
63
64static void mips_machine_power_off(void)
65{
66        *(volatile unsigned int*)(POWER_DIR_REG) = POWER_DIR_OUTPUT;
67        *(volatile unsigned int*)(POWER_POL_REG) = 0;
68        *(volatile unsigned int*)(POWEROFF_REG) = POWEROFF;
69}
70
71
72void mips_reboot_setup(void)
73{
74        _machine_restart = mips_machine_restart;
75        _machine_halt = mips_machine_halt;
76        //_machine_power_off = mips_machine_power_off;
77        pm_power_off = mips_machine_power_off;
78}
Note: See TracBrowser for help on using the repository browser.