• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/arch/arm/mach-lpc32xx/include/mach/
1/*
2 * arch/arm/mach-lpc32xx/include/mach/system.h
3 *
4 * Author: Kevin Wells <kevin.wells@nxp.com>
5 *
6 * Copyright (C) 2010 NXP Semiconductors
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 * GNU General Public License for more details.
17 */
18
19#ifndef __ASM_ARCH_SYSTEM_H
20#define __ASM_ARCH_SYSTEM_H
21
22static void arch_idle(void)
23{
24	cpu_do_idle();
25}
26
27static inline void arch_reset(char mode, const char *cmd)
28{
29	extern void lpc32xx_watchdog_reset(void);
30
31	switch (mode) {
32	case 's':
33	case 'h':
34		printk(KERN_CRIT "RESET: Rebooting system\n");
35
36		/* Disable interrupts */
37		local_irq_disable();
38
39		lpc32xx_watchdog_reset();
40		break;
41
42	default:
43		/* Do nothing */
44		break;
45	}
46
47	/* Wait for watchdog to reset system */
48	while (1)
49		;
50}
51
52#endif
53