iop: clockevent support
authorMikael Pettersson <mikpe@it.uu.se>
Thu, 29 Oct 2009 18:46:54 +0000 (11:46 -0700)
committerDan Williams <dan.j.williams@intel.com>
Thu, 29 Oct 2009 18:46:54 +0000 (11:46 -0700)
commit469d30448dad13600cdd246024f9db8e80614c45
treea610e9dd4b40dd540376eba7aaaed2538298f828
parenta91549a8f27e63e0e537fe1c20d4845581de894f
iop: clockevent support

This updates the IOP platform to expose the interrupting
timer 0 as a clockevent object. The timer interrupt handler
is changed to call the clockevent ->event_handler() instead
of timer_tick(), and ->set_next_event() and ->set_mode()
operations are added to allow the mode of the timer to be
updated (required for ONESHOT/NOHZ mode).

Timer 0 must now be properly initialised, which requires
a new write_tcr0() function from the mach-specific code.

The mode of timer 0 must be read at the start of ->set_mode(),
which requires a new read_tmr0() function from the mach-
specific code.

Initial setup of timer 0 is also rewritten to be more robust.

Tested on n2100, compile-tested for all plat-iop machines.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
arch/arm/Kconfig
arch/arm/include/asm/hardware/iop3xx.h
arch/arm/mach-iop13xx/include/mach/time.h
arch/arm/plat-iop/time.c