1/*
2 * ds1742rtc.h - register definitions for the Real-Time-Clock / CMOS RAM
3 *
4 *   Based on include/asm-mips/ds1643rtc.h.
5 *
6 * Copyright (C) 1999-2001 Toshiba Corporation
7 * It was written to be part of the Linux operating system.
8 */
9/* permission is hereby granted to copy, modify and redistribute this code
10 * in terms of the GNU Library General Public License, Version 2 or later,
11 * at your option.
12 */
13#ifndef _DS1742RTC_H
14#define _DS1742RTC_H
15
16#include <linux/rtc.h>
17#include <asm/mc146818rtc.h>	/* bad name... */
18
19#define RTC_BRAM_SIZE		0x800
20#define RTC_OFFSET		0x7f8
21
22/**********************************************************************
23 * register summary
24 **********************************************************************/
25#define RTC_CONTROL		(RTC_OFFSET + 0)
26#define RTC_CENTURY		(RTC_OFFSET + 0)
27#define RTC_SECONDS		(RTC_OFFSET + 1)
28#define RTC_MINUTES		(RTC_OFFSET + 2)
29#define RTC_HOURS		(RTC_OFFSET + 3)
30#define RTC_DAY			(RTC_OFFSET + 4)
31#define RTC_DATE		(RTC_OFFSET + 5)
32#define RTC_MONTH		(RTC_OFFSET + 6)
33#define RTC_YEAR		(RTC_OFFSET + 7)
34
35#define RTC_CENTURY_MASK	0x3f
36#define RTC_SECONDS_MASK	0x7f
37#define RTC_DAY_MASK		0x07
38
39/*
40 * Bits in the Control/Century register
41 */
42#define RTC_WRITE		0x80
43#define RTC_READ		0x40
44
45/*
46 * Bits in the Seconds register
47 */
48#define RTC_STOP		0x80
49
50/*
51 * Bits in the Day register
52 */
53#define RTC_BATT_FLAG		0x80
54#define RTC_FREQ_TEST		0x40
55
56/*
57 * Conversion between binary and BCD.
58 */
59#ifndef BCD_TO_BIN
60#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
61#endif
62
63#ifndef BIN_TO_BCD
64#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
65#endif
66
67#endif /* _DS1742RTC_H */
68