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