clocksource: Add TI-Nspire timer support
authorDaniel Tang <dt.tangr@gmail.com>
Sat, 1 Jun 2013 06:02:37 +0000 (16:02 +1000)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 6 Jun 2013 15:23:13 +0000 (17:23 +0200)
commit77ba83bb1bb1cdabd522d32536f8eee65a870145
treeabb558298ffeccafa780996f2bcd90f17a893d43
parentc19672492d233e0012b60fbfa460ffac1381ee26
clocksource: Add TI-Nspire timer support

This patch adds a clocksource/clockevent driver for the timer found on some
models in the TI-Nspire calculator series. The timer has two 16bit subtimers
within its memory mapped I/O interface but only the first can generate
interrupts. The first subtimer is used to generate clockevents but only if an
interrupt number and register is given.

The interrupt acknowledgement mechanism is a little strange because the
interrupt mask and acknowledge registers are located in another memory mapped
I/O peripheral. The address of this register is passed to the driver through
device tree bindings.

The second subtimer is used as a clocksource because it isn't capable of
generating an interrupt. This subtimer is always added.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Daniel Tang <dt.tangr@gmail.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Documentation/devicetree/bindings/timer/lsi,zevio-timer.txt [new file with mode: 0644]
drivers/clocksource/Makefile
drivers/clocksource/zevio-timer.c [new file with mode: 0644]