diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2014-04-03 10:18:31 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2014-04-03 10:18:34 +1100 |
commit | 4e7cd87f6ef453981ef6c4c7c8c06ca096a00d14 (patch) | |
tree | 126b89b809954a8de34b0a49fd9cf81691dfb6d9 /arch/arm/mach-netx/time.c | |
parent | b6a6ed84f9e21a830f58b2876b4d3a4741cf1056 (diff) | |
parent | e98cd7220a1b8adcd974781eef40651952ec5b4c (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.c | 11 |
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); } |