Commit | Line | Data |
---|---|---|
c066a32a TB |
1 | #ifndef _DS1216_H |
2 | #define _DS1216_H | |
3 | ||
4 | extern volatile unsigned char *ds1216_base; | |
5 | unsigned long ds1216_get_cmos_time(void); | |
6 | int ds1216_set_rtc_mmss(unsigned long nowtime); | |
7 | ||
8 | #define DS1216_SEC_BYTE 1 | |
9 | #define DS1216_MIN_BYTE 2 | |
10 | #define DS1216_HOUR_BYTE 3 | |
11 | #define DS1216_HOUR_MASK (0x1f) | |
12 | #define DS1216_AMPM_MASK (1<<5) | |
13 | #define DS1216_1224_MASK (1<<7) | |
14 | #define DS1216_DAY_BYTE 4 | |
15 | #define DS1216_DAY_MASK (0x7) | |
16 | #define DS1216_DATE_BYTE 5 | |
17 | #define DS1216_DATE_MASK (0x3f) | |
18 | #define DS1216_MONTH_BYTE 6 | |
19 | #define DS1216_MONTH_MASK (0x1f) | |
20 | #define DS1216_YEAR_BYTE 7 | |
21 | ||
22 | #define DS1216_SEC(buf) (buf[DS1216_SEC_BYTE]) | |
23 | #define DS1216_MIN(buf) (buf[DS1216_MIN_BYTE]) | |
24 | #define DS1216_HOUR(buf) (buf[DS1216_HOUR_BYTE] & DS1216_HOUR_MASK) | |
25 | #define DS1216_AMPM(buf) (buf[DS1216_HOUR_BYTE] & DS1216_AMPM_MASK) | |
26 | #define DS1216_1224(buf) (buf[DS1216_HOUR_BYTE] & DS1216_1224_MASK) | |
27 | #define DS1216_DATE(buf) (buf[DS1216_DATE_BYTE] & DS1216_DATE_MASK) | |
28 | #define DS1216_MONTH(buf) (buf[DS1216_MONTH_BYTE] & DS1216_MONTH_MASK) | |
29 | #define DS1216_YEAR(buf) (buf[DS1216_YEAR_BYTE]) | |
30 | ||
31 | #endif |