clocksource/drivers: Add CLINT timer driver
authorAnup Patel <anup.patel@wdc.com>
Mon, 17 Aug 2020 12:42:49 +0000 (18:12 +0530)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Thu, 20 Aug 2020 17:57:29 +0000 (10:57 -0700)
commit2ac6795fcc085e8d03649f1bbd0d70aaff612cad
treedfefdd222a88f7c4fae17de7affd5c954a42dd91
parentcc7f3f72dc2ae2b383142896d79ca1e237ad7e8b
clocksource/drivers: Add CLINT timer driver

We add a separate CLINT timer driver for Linux RISC-V M-mode (i.e.
RISC-V NoMMU kernel).

The CLINT MMIO device provides three things:
1. 64bit free running counter register
2. 64bit per-CPU time compare registers
3. 32bit per-CPU inter-processor interrupt registers

Unlike other timer devices, CLINT provides IPI registers along with
timer registers. To use CLINT IPI registers, the CLINT timer driver
provides IPI related callbacks to arch/riscv.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Tested-by: Emil Renner Berhing <kernel@esmil.dk>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
drivers/clocksource/Kconfig
drivers/clocksource/Makefile
drivers/clocksource/timer-clint.c [new file with mode: 0644]
include/linux/cpuhotplug.h