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 27 struct 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 38 struct intersil_7170 { 39 struct intersil_dt counter; 40 struct intersil_dt alarm; 41 unsigned char int_reg; 42 unsigned char cmd_reg; 43 }; 44 45 extern 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