HRT support in Samsung Tree
Subsystems (3)
PATCH RESEND 1/1 HRT support in Samsung Tree
This patch now uses ioremap for RTC instead of iodesc so that more Samsung SOCs can be supported.
Quoted 1 line
From
9dd03426a47e02ccb2220d1564a04b0288103b8cMon Sep 17 00:00:00 2001
From: Madhav Singh <[email protected]>
Date: Tue, 20 Jul 2010 11:11:39 +0530
Subject: [PATCH] HRT support in Samsung Tree
This patch implements HRT support for Samsung plat-s5p. RTC has been used as CLOCKEVENT and SYSTIMER as CLOCKSOURCE.
--- arch/arm/mach-s5pv210/Kconfig | 9 + arch/arm/mach-s5pv210/include/mach/map.h | 4 + arch/arm/plat-s5p/Makefile | 4 +- arch/arm/plat-s5p/clock.c | 18 + arch/arm/plat-s5p/hr-time-rtc.c | 472 +++++++++++++++++++++++ arch/arm/plat-s5p/include/plat/regs-sys-timer.h | 63 +++ arch/arm/plat-samsung/Makefile | 4 +- 7 files changed, 572 insertions(+), 2 deletions(-) create mode 100644 arch/arm/plat-s5p/hr-time-rtc.c create mode 100644 arch/arm/plat-s5p/include/plat/regs-sys-timer.h
arch/arm/mach-s5pv210/Kconfig +9 -0
@@ -101,4 +101,13 @@ config MACH_SMDKC110 Machine support for Samsung SMDKC110 S5PC110(MCP) is one of package option of S5PV210 +config SAMSUNG_HRT_RTC_SYSTIMER + bool "HRtimer and Dynamic Tick support" + select GENERIC_TIME + select GENERIC_CLOCKEVENTS + select HIGH_RES_TIMERS + default n + help + Support for HRtimer and Dynamic Tick system using RTC and SYSTEM timer + endif
arch/arm/mach-s5pv210/include/mach/map.h +4 -0
@@ -42,6 +42,10 @@#define S5P_PA_TIMER S5PV210_PA_TIMER#define S5PV210_PA_SYSTIMER (0xE2600000) +/*For RTC*/ +#define S5PC11X_PA_RTC (0xE2800000) +#define S3C_PA_RTC S5PC11X_PA_RTC +#define S5PV210_PA_WATCHDOG (0xE2700000)
arch/arm/plat-s5p/Makefile +3 -1
@@ -18,4 +18,6 @@ obj-y += cpu.o obj-y += clock.o obj-y += irq.o irq-gpioint.o obj-$(CONFIG_S5P_EXT_INT) += irq-eint.o - +ifdef CONFIG_SAMSUNG_HRT_RTC_SYSTIMER +obj-y += hr-time-rtc.o +endif
arch/arm/plat-s5p/clock.c +18 -0
@@ -89,6 +89,20 @@ struct clk clk_arm = { .ctrlbit = 0, }; +/*For HRT*/ +#ifdef CONFIG_SAMSUNG_HRT_RTC_SYSTIMER +struct clk clk_ext_xtal_rtc = { + .name ="XrtcXTI" , + .id =-1 , + .rate =32768 , +}; + +struct clk clk_ext_xtal_usb = { + .name ="XusbXTI" , + .id =-1 , + .rate =24000000 , +}; +#endif /* Possible clock sources for APLL Mux */ static struct clk *clk_src_apll_list[] = { [0 ] = &clk_fin_apll,
@@ -149,6 +163,10 @@ static struct clk *s5p_clks[] __initdata = { &clk_arm, &clk_vpll, &clk_xusbxti, + #ifdef CONFIG_SAMSUNG_HRT_RTC_SYSTIMER + &clk_ext_xtal_usb, + &clk_ext_xtal_rtc, + #endif };void __init s5p_register_clocks (unsigned long xtal_freq)
arch/arm/plat-s5p/hr-time-rtc.c new file +472 -0
472 lines not on this page · raw message
arch/arm/plat-s5p/include/plat/regs-sys-timer.h new file +63 -0
63 lines not on this page · raw message
arch/arm/plat-samsung/Makefile +3 -1
@@ -12,7 +12,9 @@ obj- := # Objects we always build independent of SoC choice obj-y += init.o -obj-y += time.o +ifndef CONFIG_SAMSUNG_HRT_RTC_SYSTIMER +obj-y += time.o +endif obj-y += clock.o obj-y += pwm-clock.o obj-y += gpio.o
Signature · 1 line
1.6.0.4