blob: ff37bc27e6034281e7686007210554c54377d420 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * Copied from linux/include/asm-arm/arch-sa1100/system.h
3 * Copyright (c) 1999 Nicolas Pitre <nico@cam.org>
4 */
5#ifndef __ASM_ARCH_SYSTEM_H
6#define __ASM_ARCH_SYSTEM_H
7#include <linux/config.h>
Tony Lindgrenaf973d22005-07-10 19:58:06 +01008#include <asm/mach-types.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07009#include <asm/arch/hardware.h>
Tony Lindgrenaf973d22005-07-10 19:58:06 +010010#include <asm/mach-types.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
12static inline void arch_idle(void)
13{
14 cpu_do_idle();
15}
16
17static inline void arch_reset(char mode)
18{
Tony Lindgrenaf973d22005-07-10 19:58:06 +010019
20#ifdef CONFIG_ARCH_OMAP16XX
21 /*
22 * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28
23 * "Global Software Reset Affects Traffic Controller Frequency".
24 */
25 if (cpu_is_omap5912()) {
26 omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4),
27 DPLL_CTL);
28 omap_writew(0x8, ARM_RSTCT1);
29 }
30#endif
31#ifdef CONFIG_MACH_VOICEBLUE
32 if (machine_is_voiceblue())
33 voiceblue_reset();
34 else
35#endif
36 omap_writew(1, ARM_RSTCT1);
Linus Torvalds1da177e2005-04-16 15:20:36 -070037}
38
39#endif