Skip to contentSkip to conversation

HRT support in Samsung Tree

PATCH RESEND New MADHAV SINGHCHAUHAN 1 participant 1 message Jul 20, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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 9dd03426a47e02ccb2220d1564a04b0288103b8c Mon 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
index 631019a..d4f7e55 100644
@@ -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
index 17687f0..fd8e504 100644
@@ -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
index 18c9e34..9c61cf5 100644
@@ -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
index b5e2552..cc2e50d 100644
@@ -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
index 8269d80..e0b89aa 100644
@@ -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