[PATCH 3/6] Clocksource: add nuc970 clocksource driver
From: arnd@arndb.de (Arnd Bergmann)
Date: 2016-06-29 15:23:37
Also in:
linux-devicetree, lkml
On Saturday, June 25, 2016 6:37:19 PM CEST Wan Zongshun wrote:
quoted hunk ↗ jump to hunk
This patch is to add nuc970 clocksource driver support. Signed-off-by: Wan Zongshun <redacted> --- .../mach-w90x900/include/mach/nuc970-regs-timer.h | 44 +++++ drivers/clocksource/Kconfig | 8 + drivers/clocksource/Makefile | 1 + drivers/clocksource/timer-nuc900.c | 207 +++++++++++++++++++++ 4 files changed, 260 insertions(+) create mode 100644 arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h create mode 100644 drivers/clocksource/timer-nuc900.cdiff --git a/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h b/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h new file mode 100644 index 0000000..43d7e8b --- /dev/null +++ b/arch/arm/mach-w90x900/include/mach/nuc970-regs-timer.h
Please move the contents of the header file into the driver. We try to not have any new mach/*.h headers.
+
+static unsigned int timer0_load;
+static void __iomem *tmr_base;
+
+static int nuc970_clockevent_set_oneshot(struct clock_event_device *evt)
+{
+ unsigned int val;
+
+ val = __raw_readl(tmr_base + REG_TMR_TCSR0);
+ val &= ~(0x03 << 27);
+
+ val |= (ONESHOT | COUNTEN | INTEN | PRESCALE);
+
+ __raw_writel(val, tmr_base + REG_TMR_TCSR0);
+ return 0;
+}
+writel() instead of __raw_writel() Arnd