linux/arch/powerpc/include/asm/rtc.h
<<
>>
Prefs
   1/*
   2 * Real-time clock definitions and interfaces
   3 *
   4 * Author: Tom Rini <trini@mvista.com>
   5 *
   6 * 2002 (c) MontaVista, Software, Inc.  This file is licensed under
   7 * the terms of the GNU General Public License version 2.  This program
   8 * is licensed "as is" without any warranty of any kind, whether express
   9 * or implied.
  10 *
  11 * Based on:
  12 * include/asm-m68k/rtc.h
  13 *
  14 * Copyright Richard Zidlicky
  15 * implementation details for genrtc/q40rtc driver
  16 *
  17 * And the old drivers/macintosh/rtc.c which was heavily based on:
  18 * Linux/SPARC Real Time Clock Driver
  19 * Copyright (C) 1996 Thomas K. Dyas (tdyas@eden.rutgers.edu)
  20 *
  21 * With additional work by Paul Mackerras and Franz Sirl.
  22 */
  23
  24#ifndef __ASM_POWERPC_RTC_H__
  25#define __ASM_POWERPC_RTC_H__
  26
  27#ifdef __KERNEL__
  28
  29#include <linux/rtc.h>
  30
  31#include <asm/machdep.h>
  32#include <asm/time.h>
  33
  34#define RTC_PIE 0x40            /* periodic interrupt enable */
  35#define RTC_AIE 0x20            /* alarm interrupt enable */
  36#define RTC_UIE 0x10            /* update-finished interrupt enable */
  37
  38/* some dummy definitions */
  39#define RTC_BATT_BAD 0x100      /* battery bad */
  40#define RTC_SQWE 0x08           /* enable square-wave output */
  41#define RTC_DM_BINARY 0x04      /* all time/date values are BCD if clear */
  42#define RTC_24H 0x02            /* 24 hour mode - else hours bit 7 means pm */
  43#define RTC_DST_EN 0x01         /* auto switch DST - works f. USA only */
  44
  45static inline unsigned int get_rtc_time(struct rtc_time *time)
  46{
  47        if (ppc_md.get_rtc_time)
  48                ppc_md.get_rtc_time(time);
  49        return RTC_24H;
  50}
  51
  52/* Set the current date and time in the real time clock. */
  53static inline int set_rtc_time(struct rtc_time *time)
  54{
  55        if (ppc_md.set_rtc_time)
  56                return ppc_md.set_rtc_time(time);
  57        return -EINVAL;
  58}
  59
  60static inline unsigned int get_rtc_ss(void)
  61{
  62        struct rtc_time h;
  63
  64        get_rtc_time(&h);
  65        return h.tm_sec;
  66}
  67
  68static inline int get_rtc_pll(struct rtc_pll_info *pll)
  69{
  70        return -EINVAL;
  71}
  72static inline int set_rtc_pll(struct rtc_pll_info *pll)
  73{
  74        return -EINVAL;
  75}
  76
  77#endif /* __KERNEL__ */
  78#endif /* __ASM_POWERPC_RTC_H__ */
  79