linux-uconsole/drivers/clocksource
Stephen Boyd 2b8b608bfc 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>
(cherry picked from commit 220069945b)
Signed-off-by: Mark Brown <broonie@linaro.org>

Conflicts:
	drivers/clocksource/arm_arch_timer.c
2014-06-13 16:58:52 +01: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 2014-06-13 16:58:52 +01:00
bcm2835_timer.c clocksource: pass DT node pointer to init functions 2013-03-11 08:42:07 -05:00
bcm_kona_timer.c ARM: bcm281xx: Add timer driver (driver portion) 2013-03-28 10:58:55 -07:00
cadence_ttc_timer.c arm: zynq: Move timer to generic location 2013-04-04 09:22:09 +02:00
clksrc-dbx500-prcmu.c ARM: ux500: make remaining headers local 2013-04-08 13:59:48 +02: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
dw_apb_timer.c dw_apb_timer: constify clocksource name 2011-10-04 13:08:18 -07:00
dw_apb_timer_of.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
em_sti.c clocksource: em_sti: Set initcall level to subsys 2013-03-13 02:24:36 +09:00
exynos_mct.c ARM: late Exynos multiplatform changes 2013-05-07 11:28:42 -07:00
i8253.c time: Kill xtime_lock, replacing it with jiffies_lock 2012-11-13 14:08:23 -05:00
Kconfig ARM: late Exynos multiplatform changes 2013-05-07 11:28:42 -07:00
Makefile ARM: late Exynos multiplatform changes 2013-05-07 11:28:42 -07:00
metag_generic.c metag: Time keeping 2013-03-02 20:09:22 +00:00
mmio.c clocksource: add common mmio clocksource 2011-05-23 18:04:51 +01:00
mxs_timer.c clocksource: mxs_timer: Add semicolon at end of line 2013-04-03 10:30:08 +08:00
nomadik-mtu.c clocksource: nomadik-mtu: fix up clocksource/timer 2013-04-26 17:10:46 -07:00
samsung_pwm_timer.c clocksource: samsung_pwm_timer: Work around rounding errors in clockevents core 2013-04-28 12:17:05 -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: sunxi: Rename sunxi to sun4i 2013-04-08 21:42:11 +02:00
tcb_clksrc.c clocksource: use clockevents_config_and_register() where possible 2013-01-14 10:12:42 -08:00
tegra20_timer.c Merge branch 'tegra/soc' into next/drivers 2013-04-09 17:07:36 +02:00
time-armada-370-xp.c clocksource: time-armada-370-xp: add local timer support 2013-02-28 18:57:07 +01:00
timer-marco.c ARM: sirf: use clocksource_of infrastructure 2013-03-25 12:29:41 +01:00
timer-prima2.c ARM: sirf: use clocksource_of infrastructure 2013-03-25 12:29:41 +01:00
vt8500_timer.c clocksource: make CLOCKSOURCE_OF_DECLARE type safe 2013-03-28 12:01:06 +01:00