[PATCH] arm: exynos4: Add restart hook for proper reboot
Kukjin Kim
kgene.kim at samsung.com
Fri Aug 19 09:07:58 EDT 2011
Kyungmin Park wrote:
>
> From: Kyungmin Park <kyungmin.park at samsung.com>
>
> Add restart hook for proper reboot
>
> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> ---
> diff --git a/arch/arm/mach-exynos4/cpu.c b/arch/arm/mach-exynos4/cpu.c
> index 2d8a40c..1860327 100644
> --- a/arch/arm/mach-exynos4/cpu.c
> +++ b/arch/arm/mach-exynos4/cpu.c
> @@ -28,8 +28,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);
> @@ -128,6 +130,11 @@ static void exynos4_idle(void)
> local_irq_enable();
> }
>
> +static void exynos4_sw_reset(void)
> +{
> + __raw_writel(0x1, S5P_SWRESET);
> +}
> +
> /*
> * exynos4_map_io
> *
> @@ -241,5 +248,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);
> }
> diff --git a/arch/arm/mach-exynos4/include/mach/regs-pmu.h
b/arch/arm/mach-
> exynos4/include/mach/regs-pmu.h
> index fa49bbb..cdf9b47 100644
> --- a/arch/arm/mach-exynos4/include/mach/regs-pmu.h
> +++ b/arch/arm/mach-exynos4/include/mach/regs-pmu.h
> @@ -29,6 +29,8 @@
> #define S5P_USE_STANDBY_WFE1 (1 << 25)
> #define S5P_USE_MASK ((0x3 << 16) | (0x3
> << 24))
>
> +#define S5P_SWRESET S5P_PMUREG(0x0400)
> +
> #define S5P_WAKEUP_STAT
> S5P_PMUREG(0x0600)
> #define S5P_EINT_WAKEUP_MASK
> S5P_PMUREG(0x0604)
> #define S5P_WAKEUP_MASK
> S5P_PMUREG(0x0608)
OK, applied.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
More information about the linux-arm-kernel
mailing list