diff options
author | Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | 2015-10-09 16:40:09 +0900 |
---|---|---|
committer | Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | 2016-08-17 10:25:28 +0900 |
commit | badbb63c2c29738a2956504126a30ddb14ca34c1 (patch) | |
tree | 29cb6dbc3cf6b34944b987e0a3619776905a59aa /arch/arm/cpu/armv7/rmobile/timer.c | |
parent | 59d07ee08e858bf2c121d0cdc6c8ddd3b26ee5b1 (diff) |
ARM: rmobile: Move SoC sources to mach-rmobile
Move from arch/arm/cpu/armv7/rmobile/ to arch/arm/mach-rmobile/.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Diffstat (limited to 'arch/arm/cpu/armv7/rmobile/timer.c')
-rw-r--r-- | arch/arm/cpu/armv7/rmobile/timer.c | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/arch/arm/cpu/armv7/rmobile/timer.c b/arch/arm/cpu/armv7/rmobile/timer.c deleted file mode 100644 index 04700e7d34..0000000000 --- a/arch/arm/cpu/armv7/rmobile/timer.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * (C) Copyright 2012 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> - * (C) Copyright 2012 Renesas Solutions Corp. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <div64.h> -#include <asm/io.h> -#include <asm/arch-armv7/globaltimer.h> -#include <asm/arch/rmobile.h> - -static struct globaltimer *global_timer = \ - (struct globaltimer *)GLOBAL_TIMER_BASE_ADDR; - -#define CLK2MHZ(clk) (clk / 1000 / 1000) -static u64 get_cpu_global_timer(void) -{ - u32 low, high; - u64 timer; - - u32 old = readl(&global_timer->cnt_h); - while (1) { - low = readl(&global_timer->cnt_l); - high = readl(&global_timer->cnt_h); - if (old == high) - break; - else - old = high; - } - - timer = high; - return (u64)((timer << 32) | low); -} - -static u64 get_time_us(void) -{ - u64 timer = get_cpu_global_timer(); - - timer = ((timer << 2) + (CLK2MHZ(CONFIG_SYS_CPU_CLK) >> 1)); - do_div(timer, CLK2MHZ(CONFIG_SYS_CPU_CLK)); - return timer; -} - -static ulong get_time_ms(void) -{ - u64 us = get_time_us(); - - do_div(us, 1000); - return us; -} - -int timer_init(void) -{ - writel(0x01, &global_timer->ctl); - return 0; -} - -void __udelay(unsigned long usec) -{ - u64 start, current; - u64 wait; - - start = get_cpu_global_timer(); - wait = (u64)((usec * CLK2MHZ(CONFIG_SYS_CPU_CLK)) >> 2); - do { - current = get_cpu_global_timer(); - } while ((current - start) < wait); -} - -ulong get_timer(ulong base) -{ - return get_time_ms() - base; -} - -unsigned long long get_ticks(void) -{ - return get_cpu_global_timer(); -} - -ulong get_tbclk(void) -{ - return (ulong)(CONFIG_SYS_CPU_CLK >> 2); -} |