linux/include/clocksource/arm_arch_timer.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2012 ARM Ltd.
   3 *
   4 * This program is free software; you can redistribute it and/or modify
   5 * it under the terms of the GNU General Public License version 2 as
   6 * published by the Free Software Foundation.
   7 *
   8 * This program is distributed in the hope that it will be useful,
   9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11 * GNU General Public License for more details.
  12 *
  13 * You should have received a copy of the GNU General Public License
  14 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  15 */
  16#ifndef __CLKSOURCE_ARM_ARCH_TIMER_H
  17#define __CLKSOURCE_ARM_ARCH_TIMER_H
  18
  19#include <linux/clocksource.h>
  20#include <linux/types.h>
  21
  22#define ARCH_TIMER_CTRL_ENABLE          (1 << 0)
  23#define ARCH_TIMER_CTRL_IT_MASK         (1 << 1)
  24#define ARCH_TIMER_CTRL_IT_STAT         (1 << 2)
  25
  26#define ARCH_TIMER_REG_CTRL             0
  27#define ARCH_TIMER_REG_TVAL             1
  28
  29#define ARCH_TIMER_PHYS_ACCESS          0
  30#define ARCH_TIMER_VIRT_ACCESS          1
  31
  32#ifdef CONFIG_ARM_ARCH_TIMER
  33
  34extern u32 arch_timer_get_rate(void);
  35extern u64 arch_timer_read_counter(void);
  36extern struct timecounter *arch_timer_get_timecounter(void);
  37
  38#else
  39
  40static inline u32 arch_timer_get_rate(void)
  41{
  42        return 0;
  43}
  44
  45static inline u64 arch_timer_read_counter(void)
  46{
  47        return 0;
  48}
  49
  50static inline struct timecounter *arch_timer_get_timecounter(void)
  51{
  52        return NULL;
  53}
  54
  55#endif
  56
  57#endif
  58