diff options
author | JungHi Min <junghi.min@samsung.com> | 2011-07-16 00:39:09 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-07-20 10:36:19 -0400 |
commit | 911c29b0e5b299e39ed7875bb96906a9ef8617aa (patch) | |
tree | cc2de5a43e2c5080c536ff6599cc65c9ee05675b /arch/arm/mach-exynos4/hotplug.c | |
parent | 55981f7b3cc9885d300637ea590148db329cb741 (diff) |
ARM: EXYNOS4: Add support Core1 Power On/Off with hotplug in/out
To insert the code for power on/off with pmu control to support hotplug in/out core1
As for hotplug.c, the codes for core1 to be hotplug in/out is inserted.
As for regs-pmu.h, S5P_CORE_LOCAL_PWR_EN is defined.
As for platsmp.c, the codes for core1 to be powered on is inserted.
Signed-off-by: JungHi Min <junghi.min@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos4/hotplug.c')
-rw-r--r-- | arch/arm/mach-exynos4/hotplug.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/arm/mach-exynos4/hotplug.c b/arch/arm/mach-exynos4/hotplug.c index 2b5909e2ccd3..7490789784c9 100644 --- a/arch/arm/mach-exynos4/hotplug.c +++ b/arch/arm/mach-exynos4/hotplug.c | |||
@@ -13,9 +13,12 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/errno.h> | 14 | #include <linux/errno.h> |
15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
16 | #include <linux/io.h> | ||
16 | 17 | ||
17 | #include <asm/cacheflush.h> | 18 | #include <asm/cacheflush.h> |
18 | 19 | ||
20 | #include <mach/regs-pmu.h> | ||
21 | |||
19 | extern volatile int pen_release; | 22 | extern volatile int pen_release; |
20 | 23 | ||
21 | static inline void cpu_enter_lowpower(void) | 24 | static inline void cpu_enter_lowpower(void) |
@@ -58,12 +61,12 @@ static inline void cpu_leave_lowpower(void) | |||
58 | 61 | ||
59 | static inline void platform_do_lowpower(unsigned int cpu, int *spurious) | 62 | static inline void platform_do_lowpower(unsigned int cpu, int *spurious) |
60 | { | 63 | { |
61 | /* | ||
62 | * there is no power-control hardware on this platform, so all | ||
63 | * we can do is put the core into WFI; this is safe as the calling | ||
64 | * code will have already disabled interrupts | ||
65 | */ | ||
66 | for (;;) { | 64 | for (;;) { |
65 | |||
66 | /* make cpu1 to be turned off at next WFI command */ | ||
67 | if (cpu == 1) | ||
68 | __raw_writel(0, S5P_ARM_CORE1_CONFIGURATION); | ||
69 | |||
67 | /* | 70 | /* |
68 | * here's the WFI | 71 | * here's the WFI |
69 | */ | 72 | */ |