kernel_optimize_test/drivers/clocksource
Simon Arlott ee4af56967 ARM: bcm2835: add system timer
The System Timer peripheral provides four 32-bit timer channels and a
single 64-bit free running counter. Each channel has an output compare
register, which is compared against the 32 least significant bits of the
free running counter values, and generates an interrupt.

Timer 3 is used as the Linux timer.

The BCM2835 also contains an SP804-based timer module. However, it
apparently has significant differences from the standard SP804 IP block,
and Broadcom's documentation recommends using the system timer instead.

This patch was extracted from git://github.com/lp0/linux.git branch
rpi-split as of 2012/09/08, and modified as follows:

* s/bcm2708/bcm2835/.
* Modified device tree vendor prefix.
* Moved to drivers/clocksource/. This looks like the desired location for
  such code now.
* Added DT binding docs.
* Moved struct sys_timer bcm2835_timer into time.c to encapsulate it more.
* Simplified bcm2835_time_init() to find one matching node and operate on
  it, rather than looping over all matching nodes. This seems more
  consistent with other clocksource code.
* Simplified bcm2835_time_init() using of_iomap().
* Renamed struct bcm2835_timer.index to match_mask to better represent its
  purpose.
* s/printk(PR_INFO/pr_info(/

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Dom Cobley <dc4@broadcom.com>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-19 19:08:46 -06:00
..
acpi_pm.c Revert "clocksource: Load the ACPI PM clocksource asynchronously" 2012-04-12 00:05:05 +02:00
bcm2835_timer.c ARM: bcm2835: add system timer 2012-09-19 19:08:46 -06:00
clksrc-dbx500-prcmu.c clocksource: dbx500: convert to clocksource_register_hz() 2012-02-01 18:37:37 -08:00
cs5535-clockevt.c cs5535-clockevt: typo, it's MFGPT, not MFPGT 2012-08-21 16:45:02 -07:00
cyclone.c clocksource: cyclone: Add missing iounmap 2012-01-26 19:30:40 -08:00
dw_apb_timer_of.c clocksource: dw_apb_timer: Add common DTS glue for dw_apb_timer 2012-07-12 17:26:09 +02:00
dw_apb_timer.c dw_apb_timer: constify clocksource name 2011-10-04 13:08:18 -07:00
em_sti.c clocksource: em_sti: Add DT support 2012-05-25 11:32:06 +02:00
i8253.c time: x86: Replace LATCH with PIT_LATCH in i8253 clocksource driver 2011-11-21 19:00:59 -08:00
Kconfig arm-soc: new SoC support 2012-07-23 16:31:31 -07:00
Makefile ARM: bcm2835: add system timer 2012-09-19 19:08:46 -06:00
mmio.c clocksource: add common mmio clocksource 2011-05-23 18:04:51 +01:00
scx200_hrt.c clocksource: scx200_hrt: Fix the build 2012-02-22 13:25:16 +01:00
sh_cmt.c clocksource: sh_cmt: Convert timer lock to raw spinlock. 2012-06-11 16:01:38 +09:00
sh_mtu2.c clocksource: sh_mtu2: Convert timer lock to raw spinlock. 2012-06-11 16:01:42 +09:00
sh_tmu.c clocksource: sh_tmu: Use clockevents_config_and_register(). 2012-06-11 17:10:16 +09:00
tcb_clksrc.c ARM: at91/tc/clocksource: Add 32 bit variant to Timer Counter 2012-03-01 13:38:49 +01:00
time-armada-370-xp.c clocksource: time-armada-370-xp: Marvell Armada 370/XP SoC timer driver 2012-07-10 15:47:46 +02:00