diff options
author | Jonas Bonn <jonas@southpole.se> | 2011-06-04 15:18:12 -0400 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2011-07-22 12:46:32 -0400 |
commit | b731fbbd246e3aba59701bd6112a14ba02bf1c1c (patch) | |
tree | 30b11158e47c2c9d2264dcb9188178c10bd7c21b /arch/openrisc/include | |
parent | a39af6f7b806f2a52962254ea8dc635b4c240810 (diff) |
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')
-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 @@ | |||
1 | /* | ||
2 | * OpenRISC Linux | ||
3 | * | ||
4 | * Linux architectural port borrowing liberally from similar works of | ||
5 | * others. All original copyrights apply as per the original source | ||
6 | * declaration. | ||
7 | * | ||
8 | * OpenRISC implementation: | ||
9 | * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License as published by | ||
13 | * the Free Software Foundation; either version 2 of the License, or | ||
14 | * (at your option) any later version. | ||
15 | */ | ||
16 | |||
17 | #ifndef __ASM_OPENRISC_TIMEX_H | ||
18 | #define __ASM_OPENRISC_TIMEX_H | ||
19 | |||
20 | #define get_cycles get_cycles | ||
21 | |||
22 | #include <asm-generic/timex.h> | ||
23 | #include <asm/spr.h> | ||
24 | #include <asm/spr_defs.h> | ||
25 | |||
26 | static inline cycles_t get_cycles(void) | ||
27 | { | ||
28 | return mfspr(SPR_TTCR); | ||
29 | } | ||
30 | |||
31 | /* This isn't really used any more */ | ||
32 | #define CLOCK_TICK_RATE 1000 | ||
33 | |||
34 | #define ARCH_HAS_READ_CURRENT_TIMER | ||
35 | |||
36 | #endif | ||