From 5248c657898c018bcd23ef77759fa1d6c690bdf4 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Mon, 12 Nov 2007 17:59:10 +0100 Subject: [ARM] 4646/1: AT91: configurable HZ, default to 128 This makes HZ configurable on AT91, following the model used on OMAP. It defaults to a power of two on AT91rm9200 chips, avoiding rounding errors which come from dividing a 32 KiHz clock to generate scheduler irqs; and uses 100 on AT91sam926x chips, using MCK/16 (multi-MHZ). Signed-off-by: David Brownell Acked-by: Remy Bhmer Acked-by: Andrew Victor Signed-off-by: Russell King --- arch/arm/Kconfig | 1 + arch/arm/mach-at91/Kconfig | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) (limited to 'arch') diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a04f507e7f2..93e40b65fd0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -657,6 +657,7 @@ config HZ default 128 if ARCH_L7200 default 200 if ARCH_EBSA110 || ARCH_S3C2410 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER + default AT91_TIMER_HZ if ARCH_AT91 default 100 config AEABI diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 05a9f8a1b45..214733e897e 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -219,6 +219,22 @@ config AT91_PROGRAMMABLE_CLOCKS Select this if you need to program one or more of the PCK0..PCK3 programmable clock outputs. +config AT91_TIMER_HZ + int "Kernel HZ (jiffies per second)" + range 32 1024 + depends on ARCH_AT91 + default "128" if ARCH_AT91RM9200 + default "100" + help + On AT91rm9200 chips where you're using a system clock derived + from the 32768 Hz hardware clock, this tick rate should divide + it exactly: use a power-of-two value, such as 128 or 256, to + reduce timing errors caused by rounding. + + On AT91sam926x chips, or otherwise when using a higher precision + system clock (of at least several MHz), rounding is less of a + problem so it can be safer to use a decimal values like 100. + endmenu endif -- cgit v1.2.3-70-g09d2