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
							 |