Skip to content

Commit

Permalink
ARM: EXYNOS: Clear SYS_WDTRESET bit to use watchdog reset
Browse files Browse the repository at this point in the history
When SYS_WDTRESET is set, watchdog timer reset request
is ignored by power management unit.

Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
  • Loading branch information
Jonghwan Choi authored and Kukjin Kim committed Jul 12, 2012
1 parent 485802a commit 7d896aa
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
5 changes: 5 additions & 0 deletions arch/arm/mach-exynos/include/mach/regs-pmu.h
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,11 @@

#define EXYNOS5_USB_CFG S5P_PMUREG(0x0230)

#define EXYNOS5_AUTO_WDTRESET_DISABLE S5P_PMUREG(0x0408)
#define EXYNOS5_MASK_WDTRESET_REQUEST S5P_PMUREG(0x040C)

#define EXYNOS5_SYS_WDTRESET (1 << 20)

#define EXYNOS5_ARM_CORE0_SYS_PWR_REG S5P_PMUREG(0x1000)
#define EXYNOS5_DIS_IRQ_ARM_CORE0_LOCAL_SYS_PWR_REG S5P_PMUREG(0x1004)
#define EXYNOS5_DIS_IRQ_ARM_CORE0_CENTRAL_SYS_PWR_REG S5P_PMUREG(0x1008)
Expand Down
14 changes: 14 additions & 0 deletions arch/arm/mach-exynos/pmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,8 @@ void exynos_sys_powerdown_conf(enum sys_powerdown mode)

static int __init exynos_pmu_init(void)
{
unsigned int value;

exynos_pmu_config = exynos4210_pmu_config;

if (soc_is_exynos4210()) {
Expand All @@ -399,6 +401,18 @@ static int __init exynos_pmu_init(void)
exynos_pmu_config = exynos4x12_pmu_config;
pr_info("EXYNOS4x12 PMU Initialize\n");
} else if (soc_is_exynos5250()) {
/*
* When SYS_WDTRESET is set, watchdog timer reset request
* is ignored by power management unit.
*/
value = __raw_readl(EXYNOS5_AUTO_WDTRESET_DISABLE);
value &= ~EXYNOS5_SYS_WDTRESET;
__raw_writel(value, EXYNOS5_AUTO_WDTRESET_DISABLE);

value = __raw_readl(EXYNOS5_MASK_WDTRESET_REQUEST);
value &= ~EXYNOS5_SYS_WDTRESET;
__raw_writel(value, EXYNOS5_MASK_WDTRESET_REQUEST);

exynos_pmu_config = exynos5250_pmu_config;
pr_info("EXYNOS5250 PMU Initialize\n");
} else {
Expand Down

0 comments on commit 7d896aa

Please sign in to comment.