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