diff options
author | Laurent Vivier <laurent@vivier.eu> | 2022-04-06 23:15:22 +0300 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2022-04-11 12:48:01 +0300 |
commit | c92e7ef16400bf035e8b49c7dd091bfce4f99773 (patch) | |
tree | fd060d9d4c8c1bf248df52d859f6b8b53ab62688 /drivers/rtc | |
parent | 3378c7f48f497b5ad93a43dcd4f8d406a2609562 (diff) | |
download | linux-c92e7ef16400bf035e8b49c7dd091bfce4f99773.tar.xz |
clocksource/drivers: Add a goldfish-timer clocksource
Add a clocksource based on the goldfish-rtc device.
Move the timer register definition to <clocksource/timer-goldfish.h>
This kernel implementation is based on the QEMU upstream implementation:
https://git.qemu.org/?p=qemu.git;a=blob_plain;f=hw/rtc/goldfish_rtc.c
goldfish-timer is a high-precision signed 64-bit nanosecond timer.
It is part of the 'goldfish' virtual hardware platform used to run
some emulated Android systems under QEMU.
This timer only supports oneshot event.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20220406201523.243733-4-laurent@vivier.eu
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-goldfish.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/rtc/rtc-goldfish.c b/drivers/rtc/rtc-goldfish.c index eb1929b0cbb6..59c0f38cc08d 100644 --- a/drivers/rtc/rtc-goldfish.c +++ b/drivers/rtc/rtc-goldfish.c @@ -11,18 +11,7 @@ #include <linux/platform_device.h> #include <linux/rtc.h> #include <linux/goldfish.h> - -#define TIMER_TIME_LOW 0x00 /* get low bits of current time */ - /* and update TIMER_TIME_HIGH */ -#define TIMER_TIME_HIGH 0x04 /* get high bits of time at last */ - /* TIMER_TIME_LOW read */ -#define TIMER_ALARM_LOW 0x08 /* set low bits of alarm and */ - /* activate it */ -#define TIMER_ALARM_HIGH 0x0c /* set high bits of next alarm */ -#define TIMER_IRQ_ENABLED 0x10 -#define TIMER_CLEAR_ALARM 0x14 -#define TIMER_ALARM_STATUS 0x18 -#define TIMER_CLEAR_INTERRUPT 0x1c +#include <clocksource/timer-goldfish.h> struct goldfish_rtc { void __iomem *base; |