home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-powerpc / rtc.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.0 KB  |  79 lines

  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.  
  45. static 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. */
  53. static 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.  
  60. static 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.  
  68. static inline int get_rtc_pll(struct rtc_pll_info *pll)
  69. {
  70.     return -EINVAL;
  71. }
  72. static 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.