From 30fe76437bc2463b25e9a64ff1b28f293e3f3413 Mon Sep 17 00:00:00 2001 From: Jaecheol Lee Date: Wed, 9 Mar 2011 08:22:31 +0900 Subject: ARM: EXYNOS4: Update HRT for supporting PM This patch updates HRT driver for supporting PM. The resume function of PWM4 timer which is used clocksource is needed when kernel is resuming for restarting. Signed-off-by: Jaecheol Lee Signed-off-by: Kukjin Kim --- arch/arm/mach-exynos4/time.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'arch/arm/mach-exynos4') diff --git a/arch/arm/mach-exynos4/time.c b/arch/arm/mach-exynos4/time.c index e30ac7043095..86b9fa0d3639 100644 --- a/arch/arm/mach-exynos4/time.c +++ b/arch/arm/mach-exynos4/time.c @@ -206,12 +206,28 @@ static cycle_t exynos4_pwm4_read(struct clocksource *cs) return (cycle_t) ~__raw_readl(S3C_TIMERREG(0x40)); } +static void exynos4_pwm4_resume(struct clocksource *cs) +{ + unsigned long pclk; + + pclk = clk_get_rate(timerclk); + + clk_set_rate(tdiv4, pclk / 2); + clk_set_parent(tin4, tdiv4); + + exynos4_pwm_init(4, ~0); + exynos4_pwm_start(4, 1); +} + struct clocksource pwm_clocksource = { .name = "pwm_timer4", .rating = 250, .read = exynos4_pwm4_read, .mask = CLOCKSOURCE_MASK(32), .flags = CLOCK_SOURCE_IS_CONTINUOUS , +#ifdef CONFIG_PM + .resume = exynos4_pwm4_resume, +#endif }; static void __init exynos4_clocksource_init(void) -- cgit v1.2.3-59-g8ed1b