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