diff options
author | Jonas Bonn <jonas@southpole.se> | 2011-06-04 22:18:12 +0300 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2011-07-22 18:46:32 +0200 |
commit | b731fbbd246e3aba59701bd6112a14ba02bf1c1c (patch) | |
tree | 30b11158e47c2c9d2264dcb9188178c10bd7c21b /arch/openrisc/include/asm | |
parent | a39af6f7b806f2a52962254ea8dc635b4c240810 (diff) | |
download | blackbird-op-linux-b731fbbd246e3aba59701bd6112a14ba02bf1c1c.tar.gz blackbird-op-linux-b731fbbd246e3aba59701bd6112a14ba02bf1c1c.zip |
OpenRISC: Timekeeping
Implements support for the OpenRISC timer which is a 28 bit cycle counter
that can be read out of a special purpose register. This counter is
used as a both a clock event and clocksource device.
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Cc: tglx@linutronix.de
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/openrisc/include/asm')
-rw-r--r-- | arch/openrisc/include/asm/timex.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/openrisc/include/asm/timex.h b/arch/openrisc/include/asm/timex.h new file mode 100644 index 000000000000..9935cad1b9b9 --- /dev/null +++ b/arch/openrisc/include/asm/timex.h @@ -0,0 +1,36 @@ +/* + * OpenRISC Linux + * + * Linux architectural port borrowing liberally from similar works of + * others. All original copyrights apply as per the original source + * declaration. + * + * OpenRISC implementation: + * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#ifndef __ASM_OPENRISC_TIMEX_H +#define __ASM_OPENRISC_TIMEX_H + +#define get_cycles get_cycles + +#include <asm-generic/timex.h> +#include <asm/spr.h> +#include <asm/spr_defs.h> + +static inline cycles_t get_cycles(void) +{ + return mfspr(SPR_TTCR); +} + +/* This isn't really used any more */ +#define CLOCK_TICK_RATE 1000 + +#define ARCH_HAS_READ_CURRENT_TIMER + +#endif |