49 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #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
 |