diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-06-14 11:01:05 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-06-14 11:01:05 +0100 |
commit | 06099961002a813324d057a91695af7c72939da6 (patch) | |
tree | d55ee7a8833c95ee2afb6914bb8a2977cbb9fa31 /arch/arm/plat-stmp3xxx/include/mach/system.h | |
parent | 4c31791c3d9d38ac052dd5e2981df713d8f3dcc4 (diff) | |
parent | c11c22177ae2929598051a39e4655be4a42cb805 (diff) |
Merge branch 'stmp' into devel
Diffstat (limited to 'arch/arm/plat-stmp3xxx/include/mach/system.h')
-rw-r--r-- | arch/arm/plat-stmp3xxx/include/mach/system.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/arch/arm/plat-stmp3xxx/include/mach/system.h b/arch/arm/plat-stmp3xxx/include/mach/system.h new file mode 100644 index 00000000000..28a98888931 --- /dev/null +++ b/arch/arm/plat-stmp3xxx/include/mach/system.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2005 Sigmatel Inc + * + * Copyright 2008 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved. + */ + +/* + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ +#ifndef __ASM_ARCH_SYSTEM_H +#define __ASM_ARCH_SYSTEM_H + +#include <asm/proc-fns.h> +#include <mach/platform.h> +#include <mach/regs-clkctrl.h> +#include <mach/regs-power.h> + +static inline void arch_idle(void) +{ + /* + * This should do all the clock switching + * and wait for interrupt tricks + */ + + cpu_do_idle(); +} + +static inline void arch_reset(char mode, const char *cmd) +{ + /* Set BATTCHRG to default value */ + __raw_writel(0x00010000, REGS_POWER_BASE + HW_POWER_CHARGE); + + /* Set MINPWR to default value */ + __raw_writel(0, REGS_POWER_BASE + HW_POWER_MINPWR); + + /* Reset digital side of chip (but not power or RTC) */ + __raw_writel(BM_CLKCTRL_RESET_DIG, + REGS_CLKCTRL_BASE + HW_CLKCTRL_RESET); + + /* Should not return */ +} + +#endif |