diff options
author | Santosh Shilimkar <santosh.shilimkar@ti.com> | 2013-01-31 10:32:00 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2013-02-01 17:51:22 -0500 |
commit | 8f0de0d62f29e47f5142737dad7561f108f69e92 (patch) | |
tree | 69a7627eab131309d5e4654fd1bbbce330f15f43 /arch/arm | |
parent | 14e067c1a5280fe6fe5d3348a0bae87bc4da16db (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>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/Kconfig | 9 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/timex.h | 8 |
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 | ||
180 | config 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 | |||
189 | config OMAP_DM_TIMER | 180 | config 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 */ |