aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@ti.com>2013-01-31 10:32:00 -0500
committerTony Lindgren <tony@atomide.com>2013-02-01 17:51:22 -0500
commit8f0de0d62f29e47f5142737dad7561f108f69e92 (patch)
tree69a7627eab131309d5e4654fd1bbbce330f15f43
parent14e067c1a5280fe6fe5d3348a0bae87bc4da16db (diff)
ARM: OMAP2+: Get rid of custom OMAP_32K_TIMER_HZ
The timekeeping doesn't depend on HZ value in presence of fine grained clocksource and hence there should not be any time drift because of HZ value which was chosen to be divisor of 32768. OMAP has been using HZ = 128 value to avoid any time drift issues because of 32768 HZ clock. But with various measurements performed with HZ = 100, no time drift is observed and it also proves the point about HZ not having impact on time keeping on OMAP. Very informative thread on this topic is here: https://lkml.org/lkml/2013/1/29/435 Special thanks to John Stulz, Arnd Bergmann and Russell King for their valuable suggestions. Cc: Arnd Bergmann <arnd@arndb.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: John Stultz <john.stultz@linaro.org> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Tested-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/plat-omap/Kconfig9
-rw-r--r--arch/arm/plat-omap/include/plat/timex.h8
3 files changed, 0 insertions, 18 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 67874b82a4ed..c407edb43fe4 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1650,7 +1650,6 @@ config HZ
1650 int 1650 int
1651 default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \ 1651 default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
1652 ARCH_S5PV210 || ARCH_EXYNOS4 1652 ARCH_S5PV210 || ARCH_EXYNOS4
1653 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
1654 default AT91_TIMER_HZ if ARCH_AT91 1653 default AT91_TIMER_HZ if ARCH_AT91
1655 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE 1654 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
1656 default 100 1655 default 100
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
index 665870dce3c8..1fbac364bd4c 100644
--- a/arch/arm/plat-omap/Kconfig
+++ b/arch/arm/plat-omap/Kconfig
@@ -177,15 +177,6 @@ config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID
177 help 177 help
178 PPA routine service ID for setting L2 auxiliary control register. 178 PPA routine service ID for setting L2 auxiliary control register.
179 179
180config OMAP_32K_TIMER_HZ
181 int "Kernel internal timer frequency for 32KHz timer"
182 range 32 1024
183 depends on OMAP_32K_TIMER
184 default "128"
185 help
186 Kernel internal timer frequency should be a divisor of 32768,
187 such as 64 or 128.
188
189config OMAP_DM_TIMER 180config OMAP_DM_TIMER
190 bool "Use dual-mode timer" 181 bool "Use dual-mode timer"
191 depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS 182 depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
diff --git a/arch/arm/plat-omap/include/plat/timex.h b/arch/arm/plat-omap/include/plat/timex.h
index 6d35767bc48f..e27d2daa7790 100644
--- a/arch/arm/plat-omap/include/plat/timex.h
+++ b/arch/arm/plat-omap/include/plat/timex.h
@@ -28,14 +28,6 @@
28#if !defined(__ASM_ARCH_OMAP_TIMEX_H) 28#if !defined(__ASM_ARCH_OMAP_TIMEX_H)
29#define __ASM_ARCH_OMAP_TIMEX_H 29#define __ASM_ARCH_OMAP_TIMEX_H
30 30
31/*
32 * OMAP 32KHz timer updates time one jiffie at a time from a secondary timer,
33 * and that's why the CLOCK_TICK_RATE is not 32768.
34 */
35#ifdef CONFIG_OMAP_32K_TIMER
36#define CLOCK_TICK_RATE (CONFIG_OMAP_32K_TIMER_HZ)
37#else
38#define CLOCK_TICK_RATE (HZ * 100000UL) 31#define CLOCK_TICK_RATE (HZ * 100000UL)
39#endif
40 32
41#endif /* __ASM_ARCH_OMAP_TIMEX_H */ 33#endif /* __ASM_ARCH_OMAP_TIMEX_H */