xref: /openbmc/linux/arch/m68k/include/asm/intersil.h (revision 56a0eccd)
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