1/* 2 * Copied from arch/arm/mach-sa1100/include/mach/system.h 3 * Copyright (c) 1999 Nicolas Pitre <nico@fluxnic.net> 4 */ 5#ifndef __ASM_ARCH_SYSTEM_H 6#define __ASM_ARCH_SYSTEM_H 7#include <linux/clk.h> 8 9#include <asm/mach-types.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 17extern void voiceblue_reset(void); 18#endif 19 20static inline void arch_idle(void) 21{ 22 cpu_do_idle(); 23} 24 25static inline void omap1_arch_reset(char mode, const char *cmd) 26{ 27 if (cpu_is_omap5912()) { 28 omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4), 29 DPLL_CTL); 30 omap_writew(0x8, ARM_RSTCT1); 31 } 32 33 if (machine_is_voiceblue()) 34 voiceblue_reset(); 35 else 36 omap_writew(1, ARM_RSTCT1); 37} 38 39static inline void arch_reset(char mode, const char *cmd) 40{ 41 if (!cpu_class_is_omap2()) 42 omap1_arch_reset(mode, cmd); 43 else 44 omap_prcm_arch_reset(mode, cmd); 45} 46 47#endif 48