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
16 #include <asm/mc146818rtc.h>
17
18 /**********************************************************************
19 * register summary
20 **********************************************************************/
21 #define RTC_HUNDREDTH_SECOND 0
22 #define RTC_SECONDS 1
23 #define RTC_MINUTES 2
24 #define RTC_MINUTES_ALARM 3
25 #define RTC_HOURS 4
26 #define RTC_HOURS_ALARM 5
27 #define RTC_DAY 6
28 #define RTC_DAY_ALARM 7
29 #define RTC_DATE 8
30 #define RTC_MONTH 9
31 #define RTC_YEAR 10
32 #define RTC_CMD 11
33 #define RTC_WHSEC 12
34 #define RTC_WSEC 13
35 #define RTC_UNUSED 14
36
37 /* RTC_*_alarm is always true if 2 MSBs are set */
38 # define RTC_ALARM_DONT_CARE 0xC0
39
40
41 /*
42 * Bits in the month register
43 */
44 #define RTC_EOSC 0x80
45 #define RTC_ESQW 0x40
46
47 /*
48 * Bits in the Command register
49 */
50 #define RTC_TDF 0x01
51 #define RTC_WAF 0x02
52 #define RTC_TDM 0x04
53 #define RTC_WAM 0x08
54 #define RTC_PU_LVL 0x10
55 #define RTC_IBH_LO 0x20
56 #define RTC_IPSW 0x40
57 #define RTC_TE 0x80
58
59 /*
60 * Conversion between binary and BCD.
61 */
62 #ifndef BCD_TO_BIN
63 #define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
64 #endif
65
66 #ifndef BIN_TO_BCD
67 #define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
68 #endif
69
70 #endif /* _ASM_DS1286_h */
Cache object: c2386f527c3616d0fffd3a3d677c6698
|