Merge branch 'from-linus'
[linux-2.6] / include / asm-m68k / intersil.h
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