pm.c (879f99ef2c4c05d9a7f0a67a05f1415663119825) pm.c (d3af6976a24f8cebef23e72ade6d91ddd781c12b)
1/*
2 * Copyright (c) 2011-2012 Samsung Electronics Co., Ltd.
3 * http://www.samsung.com
4 *
5 * EXYNOS - Power Management support
6 *
7 * Based on arch/arm/mach-s3c2410/pm.c
8 * Copyright (c) 2006 Simtec Electronics

--- 86 unchanged lines hidden (view full) ---

95 return 0;
96 }
97 ++wkup_irq;
98 }
99
100 return -ENOENT;
101}
102
1/*
2 * Copyright (c) 2011-2012 Samsung Electronics Co., Ltd.
3 * http://www.samsung.com
4 *
5 * EXYNOS - Power Management support
6 *
7 * Based on arch/arm/mach-s3c2410/pm.c
8 * Copyright (c) 2006 Simtec Electronics

--- 86 unchanged lines hidden (view full) ---

95 return 0;
96 }
97 ++wkup_irq;
98 }
99
100 return -ENOENT;
101}
102
103/**
104 * exynos_core_power_down : power down the specified cpu
105 * @cpu : the cpu to power down
106 *
107 * Power down the specified cpu. The sequence must be finished by a
108 * call to cpu_do_idle()
109 *
110 */
111void exynos_cpu_power_down(int cpu)
112{
113 __raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu));
114}
115
116/**
117 * exynos_cpu_power_up : power up the specified cpu
118 * @cpu : the cpu to power up
119 *
120 * Power up the specified cpu
121 */
122void exynos_cpu_power_up(int cpu)
123{
124 __raw_writel(S5P_CORE_LOCAL_PWR_EN,
125 EXYNOS_ARM_CORE_CONFIGURATION(cpu));
126}
127
128/**
129 * exynos_cpu_power_state : returns the power state of the cpu
130 * @cpu : the cpu to retrieve the power state from
131 *
132 */
133int exynos_cpu_power_state(int cpu)
134{
135 return (__raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) &
136 S5P_CORE_LOCAL_PWR_EN);
137}
138
103/* For Cortex-A9 Diagnostic and Power control register */
104static unsigned int save_arm_register[2];
105
106static int exynos_cpu_suspend(unsigned long arg)
107{
108#ifdef CONFIG_CACHE_L2X0
109 outer_flush_all();
110#endif

--- 211 unchanged lines hidden ---
139/* For Cortex-A9 Diagnostic and Power control register */
140static unsigned int save_arm_register[2];
141
142static int exynos_cpu_suspend(unsigned long arg)
143{
144#ifdef CONFIG_CACHE_L2X0
145 outer_flush_all();
146#endif

--- 211 unchanged lines hidden ---