diff options
author | Kyungmin Park <kyungmin.park@samsung.com> | 2011-08-19 20:25:05 +0900 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-08-19 21:21:08 +0900 |
commit | d2edddf2b25863ec0893635662b0832f9965b543 (patch) | |
tree | 17b18e4614b22dc4a478b2d64cbd8c977f67b2cd /arch/arm/mach-exynos4/cpu.c | |
parent | 2b431ff74a850db3d5b804be3ac466b6ed7f516d (diff) | |
download | lwn-d2edddf2b25863ec0893635662b0832f9965b543.tar.gz lwn-d2edddf2b25863ec0893635662b0832f9965b543.zip |
ARM: EXYNOS4: Add restart hook for proper reboot
This is required to use SWRESET.
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos4/cpu.c')
-rw-r--r-- | arch/arm/mach-exynos4/cpu.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos4/cpu.c b/arch/arm/mach-exynos4/cpu.c index 84032d3aecd9..746d6fc6d397 100644 --- a/arch/arm/mach-exynos4/cpu.c +++ b/arch/arm/mach-exynos4/cpu.c @@ -27,8 +27,10 @@ #include <plat/fb-core.h> #include <plat/fimc-core.h> #include <plat/iic-core.h> +#include <plat/reset.h> #include <mach/regs-irq.h> +#include <mach/regs-pmu.h> extern int combiner_init(unsigned int combiner_nr, void __iomem *base, unsigned int irq_start); @@ -127,6 +129,11 @@ static void exynos4_idle(void) local_irq_enable(); } +static void exynos4_sw_reset(void) +{ + __raw_writel(0x1, S5P_SWRESET); +} + /* * exynos4_map_io * @@ -240,5 +247,8 @@ int __init exynos4_init(void) /* set idle function */ pm_idle = exynos4_idle; + /* set sw_reset function */ + s5p_reset_hook = exynos4_sw_reset; + return sysdev_register(&exynos4_sysdev); } |