1#ifndef _DS1216_H 2#define _DS1216_H 3 4extern volatile unsigned char *ds1216_base; 5unsigned long ds1216_get_cmos_time(void); 6int 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 32