diff options
Diffstat (limited to 'arch/arm/plat-omap/include/plat/system.h')
-rw-r--r-- | arch/arm/plat-omap/include/plat/system.h | 38 |
1 files changed, 2 insertions, 36 deletions
diff --git a/arch/arm/plat-omap/include/plat/system.h b/arch/arm/plat-omap/include/plat/system.h index d0a119f735b4..c5fa9e929009 100644 --- a/arch/arm/plat-omap/include/plat/system.h +++ b/arch/arm/plat-omap/include/plat/system.h | |||
@@ -4,48 +4,14 @@ | |||
4 | */ | 4 | */ |
5 | #ifndef __ASM_ARCH_SYSTEM_H | 5 | #ifndef __ASM_ARCH_SYSTEM_H |
6 | #define __ASM_ARCH_SYSTEM_H | 6 | #define __ASM_ARCH_SYSTEM_H |
7 | #include <linux/clk.h> | ||
8 | 7 | ||
9 | #include <asm/mach-types.h> | 8 | #include <asm/proc-fns.h> |
10 | #include <mach/hardware.h> | ||
11 | |||
12 | #include <plat/prcm.h> | ||
13 | |||
14 | #ifndef CONFIG_MACH_VOICEBLUE | ||
15 | #define voiceblue_reset() do {} while (0) | ||
16 | #else | ||
17 | extern void voiceblue_reset(void); | ||
18 | #endif | ||
19 | 9 | ||
20 | static inline void arch_idle(void) | 10 | static inline void arch_idle(void) |
21 | { | 11 | { |
22 | cpu_do_idle(); | 12 | cpu_do_idle(); |
23 | } | 13 | } |
24 | 14 | ||
25 | static inline void omap1_arch_reset(char mode, const char *cmd) | 15 | extern void (*arch_reset)(char, const char *); |
26 | { | ||
27 | /* | ||
28 | * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 | ||
29 | * "Global Software Reset Affects Traffic Controller Frequency". | ||
30 | */ | ||
31 | if (cpu_is_omap5912()) { | ||
32 | omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4), | ||
33 | DPLL_CTL); | ||
34 | omap_writew(0x8, ARM_RSTCT1); | ||
35 | } | ||
36 | |||
37 | if (machine_is_voiceblue()) | ||
38 | voiceblue_reset(); | ||
39 | else | ||
40 | omap_writew(1, ARM_RSTCT1); | ||
41 | } | ||
42 | |||
43 | static inline void arch_reset(char mode, const char *cmd) | ||
44 | { | ||
45 | if (!cpu_class_is_omap2()) | ||
46 | omap1_arch_reset(mode, cmd); | ||
47 | else | ||
48 | omap_prcm_arch_reset(mode, cmd); | ||
49 | } | ||
50 | 16 | ||
51 | #endif | 17 | #endif |