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 9extern spinlock_t rtc_lock; 10 11struct 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