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