1#ifndef _SUN3_INTERSIL_H 2#define _SUN3_INTERSIL_H 3/* bits 0 and 1 */ 4#define INTERSIL_FREQ_32K 0x00 5#define INTERSIL_FREQ_1M 0x01 6#define INTERSIL_FREQ_2M 0x02 7#define INTERSIL_FREQ_4M 0x03 8 9/* bit 2 */ 10#define INTERSIL_12H_MODE 0x00 11#define INTERSIL_24H_MODE 0x04 12 13/* bit 3 */ 14#define INTERSIL_STOP 0x00 15#define INTERSIL_RUN 0x08 16 17/* bit 4 */ 18#define INTERSIL_INT_ENABLE 0x10 19#define INTERSIL_INT_DISABLE 0x00 20 21/* bit 5 */ 22#define INTERSIL_MODE_NORMAL 0x00 23#define INTERSIL_MODE_TEST 0x20 24 25#define INTERSIL_HZ_100_MASK 0x02 26 27struct intersil_dt { 28 unsigned char csec; 29 unsigned char hour; 30 unsigned char minute; 31 unsigned char second; 32 unsigned char month; 33 unsigned char day; 34 unsigned char year; 35 unsigned char weekday; 36}; 37 38struct intersil_7170 { 39 struct intersil_dt counter; 40 struct intersil_dt alarm; 41 unsigned char int_reg; 42 unsigned char cmd_reg; 43}; 44 45extern volatile char* clock_va; 46#define intersil_clock ((volatile struct intersil_7170 *) clock_va) 47#define intersil_clear() (void)intersil_clock->int_reg 48#endif 49