ds1286.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * mc146818rtc.h - register definitions for the Real-Time-Clock / CMOS RAM
  7.  * Copyright Torsten Duwe <duwe@informatik.uni-erlangen.de> 1993
  8.  * derived from Data Sheet, Copyright Motorola 1984 (!).
  9.  * It was written to be part of the Linux operating system.
  10.  *
  11.  * Copyright (C) 1998, 1999 Ralf Baechle
  12.  */
  13. #ifndef _ASM_DS1286_h
  14. #define _ASM_DS1286_h
  15. #include <asm/mc146818rtc.h>
  16. /**********************************************************************
  17.  * register summary
  18.  **********************************************************************/
  19. #define RTC_HUNDREDTH_SECOND 0
  20. #define RTC_SECONDS 1
  21. #define RTC_MINUTES 2
  22. #define RTC_MINUTES_ALARM 3
  23. #define RTC_HOURS 4
  24. #define RTC_HOURS_ALARM 5
  25. #define RTC_DAY 6
  26. #define RTC_DAY_ALARM 7
  27. #define RTC_DATE 8
  28. #define RTC_MONTH 9
  29. #define RTC_YEAR 10
  30. #define RTC_CMD 11
  31. #define RTC_WHSEC 12
  32. #define RTC_WSEC 13
  33. #define RTC_UNUSED 14
  34. /* RTC_*_alarm is always true if 2 MSBs are set */
  35. # define RTC_ALARM_DONT_CARE  0xC0
  36. /*
  37.  * Bits in the month register
  38.  */
  39. #define RTC_EOSC 0x80
  40. #define RTC_ESQW 0x40
  41. /*
  42.  * Bits in the Command register
  43.  */
  44. #define RTC_TDF 0x01
  45. #define RTC_WAF 0x02
  46. #define RTC_TDM 0x04
  47. #define RTC_WAM 0x08
  48. #define RTC_PU_LVL 0x10
  49. #define RTC_IBH_LO 0x20
  50. #define RTC_IPSW 0x40
  51. #define RTC_TE 0x80
  52. /*
  53.  * Conversion between binary and BCD.
  54.  */
  55. #ifndef BCD_TO_BIN
  56. #define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
  57. #endif
  58. #ifndef BIN_TO_BCD
  59. #define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
  60. #endif
  61. #endif /* _ASM_DS1286_h */