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
 |