#ifndef _SUN3_INTERSIL_H
#define _SUN3_INTERSIL_H
/* bits 0 and 1 */
#define INTERSIL_FREQ_32K        0x00
#define INTERSIL_FREQ_1M         0x01
#define INTERSIL_FREQ_2M         0x02
#define INTERSIL_FREQ_4M         0x03

/* bit 2 */
#define INTERSIL_12H_MODE   0x00
#define INTERSIL_24H_MODE   0x04

/* bit 3 */
#define INTERSIL_STOP            0x00
#define INTERSIL_RUN             0x08

/* bit 4 */
#define INTERSIL_INT_ENABLE     0x10
#define INTERSIL_INT_DISABLE    0x00

/* bit 5 */
#define INTERSIL_MODE_NORMAL     0x00
#define INTERSIL_MODE_TEST       0x20

#define INTERSIL_HZ_100_MASK	 0x02

struct intersil_dt {
	unsigned char	csec;
	unsigned char	hour;
	unsigned char	minute;
	unsigned char	second;
	unsigned char	month;
	unsigned char	day;
	unsigned char	year;
	unsigned char	weekday;
};

struct intersil_7170 {
	struct intersil_dt counter;
	struct intersil_dt alarm;
	unsigned char	int_reg;
	unsigned char	cmd_reg;
};

extern volatile char* clock_va;
#define intersil_clock ((volatile struct intersil_7170 *) clock_va)
#define intersil_clear() (void)intersil_clock->int_reg
#endif
