blob: ba7e132de1b3810e27f842b97596657bcf98a720 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * linux/include/asm-arm/arch-pxa/system.h
3 *
4 * Author: Nicolas Pitre
5 * Created: Jun 15, 2001
6 * Copyright: MontaVista Software Inc.
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 version 2 as
10 * published by the Free Software Foundation.
11 */
12
Richard Purdie74617fb2006-06-19 19:57:12 +010013#include <asm/proc-fns.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070014#include "hardware.h"
Russell King0b0a9df2008-05-18 14:59:36 +010015#include "pxa2xx-regs.h"
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#include "pxa-regs.h"
17
18static inline void arch_idle(void)
19{
20 cpu_do_idle();
21}
22
23
24static inline void arch_reset(char mode)
25{
Russell Kingdc38e2a2008-05-08 16:50:39 +010026 if (cpu_is_pxa2xx())
27 RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR;
Dmitry Baryshkovd3930612008-04-21 11:54:13 +010028
Linus Torvalds1da177e2005-04-16 15:20:36 -070029 if (mode == 's') {
30 /* Jump into ROM at address 0 */
31 cpu_reset(0);
32 } else {
33 /* Initialize the watchdog and let it fire */
34 OWER = OWER_WME;
35 OSSR = OSSR_M3;
36 OSMR3 = OSCR + 368640; /* ... in 100 ms */
37 }
38}
39