diff options
author | Andrew Victor <linux@maxim.org.za> | 2008-04-16 15:43:49 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-04-17 10:55:54 -0400 |
commit | ad48ce74f70a201c4c1cf3b4e8f6b6203a2e4a8d (patch) | |
tree | 982ac3f881a9c09115ae9b9723c343ed00dcfc8d /arch/arm/mach-at91/Kconfig | |
parent | 11aadac4f6adc032cfd1e41c348a7a568819ed94 (diff) |
[ARM] 4989/1: [AT91] SAM9 ClockSource / ClockEvents
Update AT91SAM9/CAP9 PIT driver to use generic time and clockevent
infrastructure:
- Clocksource gives sub-microsecond timestamp precision, assuming
memory is clocked at over 16 MHz. It's less than a 32 bit counter,
unless it's is also generating IRQs.
- Clockevent device supports periodic mode only; no oneshot
support from this hardware. No IRQs generated unless it's the
active clocksource.
Later, another timer (probably from a TC module) can provide a oneshot
clockevent device to get NO_HZ and High-Res-Timer behavior.
This also updates the timekeeping to use the actual master clock rate
on the system, instead of compile-time <asm/arch/timex.h> constants
matching what Atmel's EK boards use. (Product boards may well differ!)
Plus cleanup: rename "*_timer*" symbols to "*_pit*" (there are other
timers, but only one PIT); shorter lines; remove needless CPP stuff;
make several symbols static; etc.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91/Kconfig')
-rw-r--r-- | arch/arm/mach-at91/Kconfig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 8a9f67b62ec1..0fc07b6db749 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -12,18 +12,28 @@ config ARCH_AT91RM9200 | |||
12 | 12 | ||
13 | config ARCH_AT91SAM9260 | 13 | config ARCH_AT91SAM9260 |
14 | bool "AT91SAM9260 or AT91SAM9XE" | 14 | bool "AT91SAM9260 or AT91SAM9XE" |
15 | select GENERIC_TIME | ||
16 | select GENERIC_CLOCKEVENTS | ||
15 | 17 | ||
16 | config ARCH_AT91SAM9261 | 18 | config ARCH_AT91SAM9261 |
17 | bool "AT91SAM9261" | 19 | bool "AT91SAM9261" |
20 | select GENERIC_TIME | ||
21 | select GENERIC_CLOCKEVENTS | ||
18 | 22 | ||
19 | config ARCH_AT91SAM9263 | 23 | config ARCH_AT91SAM9263 |
20 | bool "AT91SAM9263" | 24 | bool "AT91SAM9263" |
25 | select GENERIC_TIME | ||
26 | select GENERIC_CLOCKEVENTS | ||
21 | 27 | ||
22 | config ARCH_AT91SAM9RL | 28 | config ARCH_AT91SAM9RL |
23 | bool "AT91SAM9RL" | 29 | bool "AT91SAM9RL" |
30 | select GENERIC_TIME | ||
31 | select GENERIC_CLOCKEVENTS | ||
24 | 32 | ||
25 | config ARCH_AT91CAP9 | 33 | config ARCH_AT91CAP9 |
26 | bool "AT91CAP9" | 34 | bool "AT91CAP9" |
35 | select GENERIC_TIME | ||
36 | select GENERIC_CLOCKEVENTS | ||
27 | 37 | ||
28 | config ARCH_AT91X40 | 38 | config ARCH_AT91X40 |
29 | bool "AT91x40" | 39 | bool "AT91x40" |