1 /* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * mc146818rtc.h - register definitions for the Real-Time-Clock / CMOS RAM 7 * Copyright Torsten Duwe <duwe@informatik.uni-erlangen.de> 1993 8 * derived from Data Sheet, Copyright Motorola 1984 (!). 9 * It was written to be part of the Linux operating system. 10 * 11 * Copyright (C) 1998, 1999 Ralf Baechle 12 */ 13 #ifndef _ASM_DS1286_h 14 #define _ASM_DS1286_h 15 16 #include <asm/mc146818rtc.h> 17 18 /********************************************************************** 19 * register summary 20 **********************************************************************/ 21 #define RTC_HUNDREDTH_SECOND 0 22 #define RTC_SECONDS 1 23 #define RTC_MINUTES 2 24 #define RTC_MINUTES_ALARM 3 25 #define RTC_HOURS 4 26 #define RTC_HOURS_ALARM 5 27 #define RTC_DAY 6 28 #define RTC_DAY_ALARM 7 29 #define RTC_DATE 8 30 #define RTC_MONTH 9 31 #define RTC_YEAR 10 32 #define RTC_CMD 11 33 #define RTC_WHSEC 12 34 #define RTC_WSEC 13 35 #define RTC_UNUSED 14 36 37 /* RTC_*_alarm is always true if 2 MSBs are set */ 38 # define RTC_ALARM_DONT_CARE 0xC0 39 40 41 /* 42 * Bits in the month register 43 */ 44 #define RTC_EOSC 0x80 45 #define RTC_ESQW 0x40 46 47 /* 48 * Bits in the Command register 49 */ 50 #define RTC_TDF 0x01 51 #define RTC_WAF 0x02 52 #define RTC_TDM 0x04 53 #define RTC_WAM 0x08 54 #define RTC_PU_LVL 0x10 55 #define RTC_IBH_LO 0x20 56 #define RTC_IPSW 0x40 57 #define RTC_TE 0x80 58 59 /* 60 * Conversion between binary and BCD. 61 */ 62 #ifndef BCD_TO_BIN 63 #define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) 64 #endif 65 66 #ifndef BIN_TO_BCD 67 #define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10) 68 #endif 69 70 #endif /* _ASM_DS1286_h */ 71