summaryrefslogtreecommitdiff
path: root/arch/arm/mach-netx/time.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2014-04-03 10:18:31 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2014-04-03 10:18:34 +1100
commit4e7cd87f6ef453981ef6c4c7c8c06ca096a00d14 (patch)
tree126b89b809954a8de34b0a49fd9cf81691dfb6d9 /arch/arm/mach-netx/time.c
parentb6a6ed84f9e21a830f58b2876b4d3a4741cf1056 (diff)
parente98cd7220a1b8adcd974781eef40651952ec5b4c (diff)
Merge remote-tracking branch 'arm-soc/for-next'
Conflicts: Documentation/devicetree/bindings/iio/adc/at91_adc.txt Documentation/devicetree/bindings/phy/samsung-phy.txt arch/arm/boot/dts/imx53-qsb.dts arch/arm/boot/dts/keystone-clocks.dtsi arch/arm/boot/dts/sun7i-a20.dtsi arch/arm/mach-imx/pm-imx6q.c arch/arm/mach-shmobile/Kconfig arch/arm/mach-tegra/Kconfig arch/arm/mach-zynq/Kconfig arch/arm/mach-zynq/common.c drivers/clocksource/Kconfig drivers/phy/Kconfig drivers/watchdog/Kconfig drivers/watchdog/orion_wdt.c include/asm-generic/vmlinux.lds.h sound/soc/kirkwood/Kconfig
Diffstat (limited to 'arch/arm/mach-netx/time.c')
-rw-r--r--arch/arm/mach-netx/time.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/mach-netx/time.c b/arch/arm/mach-netx/time.c
index 3177c7a40930..5fb2a590ec17 100644
--- a/arch/arm/mach-netx/time.c
+++ b/arch/arm/mach-netx/time.c
@@ -28,6 +28,9 @@
#include <asm/mach/time.h>
#include <mach/netx-regs.h>
+#define NETX_CLOCK_FREQ 100000000
+#define NETX_LATCH DIV_ROUND_CLOSEST(NETX_CLOCK_FREQ, HZ)
+
#define TIMER_CLOCKEVENT 0
#define TIMER_CLOCKSOURCE 1
@@ -41,7 +44,7 @@ static void netx_set_mode(enum clock_event_mode mode,
switch (mode) {
case CLOCK_EVT_MODE_PERIODIC:
- writel(LATCH, NETX_GPIO_COUNTER_MAX(TIMER_CLOCKEVENT));
+ writel(NETX_LATCH, NETX_GPIO_COUNTER_MAX(TIMER_CLOCKEVENT));
tmode = NETX_GPIO_COUNTER_CTRL_RST_EN |
NETX_GPIO_COUNTER_CTRL_IRQ_EN |
NETX_GPIO_COUNTER_CTRL_RUN;
@@ -114,7 +117,7 @@ void __init netx_timer_init(void)
/* Reset the timer value to zero */
writel(0, NETX_GPIO_COUNTER_CURRENT(0));
- writel(LATCH, NETX_GPIO_COUNTER_MAX(0));
+ writel(NETX_LATCH, NETX_GPIO_COUNTER_MAX(0));
/* acknowledge interrupt */
writel(COUNTER_BIT(0), NETX_GPIO_IRQ);
@@ -137,11 +140,11 @@ void __init netx_timer_init(void)
NETX_GPIO_COUNTER_CTRL(TIMER_CLOCKSOURCE));
clocksource_mmio_init(NETX_GPIO_COUNTER_CURRENT(TIMER_CLOCKSOURCE),
- "netx_timer", CLOCK_TICK_RATE, 200, 32, clocksource_mmio_readl_up);
+ "netx_timer", NETX_CLOCK_FREQ, 200, 32, clocksource_mmio_readl_up);
/* with max_delta_ns >= delta2ns(0x800) the system currently runs fine.
* Adding some safety ... */
netx_clockevent.cpumask = cpumask_of(0);
- clockevents_config_and_register(&netx_clockevent, CLOCK_TICK_RATE,
+ clockevents_config_and_register(&netx_clockevent, NETX_CLOCK_FREQ,
0xa00, 0xfffffffe);
}