Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
[linux-2.6] / arch / arm / mach-ep93xx / include / mach / system.h
1 /*
2  * arch/arm/mach-ep93xx/include/mach/system.h
3  */
4
5 #include <mach/hardware.h>
6
7 static inline void arch_idle(void)
8 {
9         cpu_do_idle();
10 }
11
12 static inline void arch_reset(char mode)
13 {
14         u32 devicecfg;
15
16         local_irq_disable();
17
18         devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG);
19         __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
20         __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
21         __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
22         __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
23
24         while (1)
25                 ;
26 }