linux/drivers/clocksource
Stephen Boyd 220069945b clocksource: arch_timer: Add support for memory mapped timers
Add support for the memory mapped timers by filling in the
read/write functions and adding some parsing code. Note that we
only register one clocksource, preferring the cp15 based
clocksource over the mmio one.

To keep things simple we register one global clockevent. This
covers the case of UP and SMP systems with only mmio hardware and
systems where the memory mapped timers are used as the broadcast
timer in low power modes.

The DT binding allows for per-CPU memory mapped timers in case we
want to support that in the future, but the code isn't added
here. We also don't do much for hypervisor support, although it
should be possible to support it by searching for at least two
frames where one frame has the virtual capability and then
updating KVM timers to support it.

Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Marc Zyngier <Marc.Zyngier@arm.com>
Cc: Rob Herring <robherring2@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
2013-08-01 01:13:37 +02:00
..
acpi_pm.c Drivers: clocksource: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
arm_arch_timer.c clocksource: arch_timer: Add support for memory mapped timers 2013-08-01 01:13:37 +02:00
arm_global_timer.c clocksource: arm_global_timer: Add ARM global timer support 2013-07-03 17:30:57 +02:00
bcm2835_timer.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
bcm_kona_timer.c clocksource: kona: adapt to CLOCKSOURCE_OF_DECLARE change 2013-06-19 17:54:37 +02:00
cadence_ttc_timer.c clocksource: cadence_ttc: Reuse clocksource as sched_clock 2013-07-18 15:27:34 +02:00
clksrc-dbx500-prcmu.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
clksrc-of.c clocksource: make CLOCKSOURCE_OF_DECLARE type safe 2013-03-28 12:01:06 +01:00
cs5535-clockevt.c clocksource: use clockevents_config_and_register() where possible 2013-01-14 10:12:42 -08:00
cyclone.c clocksource: cyclone: Add missing iounmap 2012-01-26 19:30:40 -08:00
dummy_timer.c clocksource: Add generic dummy timer driver 2013-06-24 22:27:37 +02:00
dw_apb_timer_of.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
dw_apb_timer.c Revert "dw_apb_timer_of.c: Remove parts that were picoxcell-specific" 2013-06-18 16:02:04 -07:00
em_sti.c clocksource: em_sti: Set initcall level to subsys 2013-03-13 02:24:36 +09:00
exynos_mct.c clocksource: exynos_mct: use (request/free)_irq calls for local timer registration 2013-06-19 04:09:35 +09:00
i8253.c time: Kill xtime_lock, replacing it with jiffies_lock 2012-11-13 14:08:23 -05:00
Kconfig Merge branch 'timers/clockevents' of git://git.linaro.org/people/dlezcano/clockevents into timers/urgent 2013-07-12 17:10:30 +02:00
Makefile ARM: clocksource: Add support for MOXA ART SoCs 2013-07-18 15:27:47 +02:00
metag_generic.c metag: log core and timer frequencies from arch code 2013-06-13 12:55:27 +01:00
mmio.c
moxart_timer.c ARM: clocksource: moxart: Add bitops.h include 2013-08-01 01:13:34 +02:00
mxs_timer.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
nomadik-mtu.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
samsung_pwm_timer.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
scx200_hrt.c clocksource: scx200_hrt: Fix the build 2012-02-22 13:25:16 +01:00
sh_cmt.c clocksource: sh_cmt: Set initcall level to subsys 2013-03-13 02:24:36 +09:00
sh_mtu2.c clocksource: sh_mtu2: Set initcall level to subsys 2013-03-13 02:24:37 +09:00
sh_tmu.c clocksource: sh_tmu: Set initcall level to subsys 2013-03-13 02:24:36 +09:00
sun4i_timer.c clocksource: sun4i: Fix bug when switching from periodic to oneshot modes 2013-07-18 15:27:21 +02:00
tcb_clksrc.c clocksource: use clockevents_config_and_register() where possible 2013-01-14 10:12:42 -08:00
tegra20_timer.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
time-armada-370-xp.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
time-orion.c clocksource: orion: Use linux/sched_clock.h 2013-07-17 20:28:00 -07:00
timer-marco.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
timer-prima2.c sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
vf_pit_timer.c clocksource: vf_pit_timer: Use linux/sched_clock.h 2013-06-25 01:41:48 +02:00
vt8500_timer.c clocksource: make CLOCKSOURCE_OF_DECLARE type safe 2013-03-28 12:01:06 +01:00
zevio-timer.c clocksource: Add TI-Nspire timer support 2013-06-06 17:23:13 +02:00