1 /*
2  *  Registers for the SGS-Thomson M48T35 Timekeeper RAM chip
3  */
4 #ifndef _ASM_M48T35_H
5 #define _ASM_M48T35_H
6 
7 #include <linux/spinlock.h>
8 
9 extern spinlock_t rtc_lock;
10 
11 struct m48t35_rtc {
12 	volatile u8	pad[0x7ff8];    /* starts at 0x7ff8 */
13 	volatile u8	control;
14 	volatile u8	sec;
15 	volatile u8	min;
16 	volatile u8	hour;
17 	volatile u8	day;
18 	volatile u8	date;
19 	volatile u8	month;
20 	volatile u8	year;
21 };
22 
23 #define M48T35_RTC_SET		0x80
24 #define M48T35_RTC_STOPPED	0x80
25 #define M48T35_RTC_READ		0x40
26 
27 #define BCD_TO_BIN(x)		((x)=((x)&15) + ((x)>>4)*10)
28 #define BIN_TO_BCD(x)		((x)=(((x)/10)<<4) + (x)%10)
29 
30 #endif /* _ASM_M48T35_H */
31