1 |
1275 |
phoenix |
/*
|
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 |
|
|
* Copyright (C) 1996, 2001-2003 Silicon Graphics, Inc. All rights reserved.
|
7 |
|
|
* Copyright (C) 2001 by Ralf Baechle
|
8 |
|
|
*/
|
9 |
|
|
#ifndef _ASM_IA64_SN_KLCLOCK_H
|
10 |
|
|
#define _ASM_IA64_SN_KLCLOCK_H
|
11 |
|
|
|
12 |
|
|
#include <asm/sn/ioc3.h>
|
13 |
|
|
#include <asm/sn/ioc4.h>
|
14 |
|
|
|
15 |
|
|
#define RTC_BASE_ADDR (unsigned char *)(nvram_base)
|
16 |
|
|
|
17 |
|
|
/* Defines for the SGS-Thomson M48T35 clock */
|
18 |
|
|
#define RTC_SGS_WRITE_ENABLE 0x80
|
19 |
|
|
#define RTC_SGS_READ_PROTECT 0x40
|
20 |
|
|
#define RTC_SGS_YEAR_ADDR (RTC_BASE_ADDR + 0x7fffL)
|
21 |
|
|
#define RTC_SGS_MONTH_ADDR (RTC_BASE_ADDR + 0x7ffeL)
|
22 |
|
|
#define RTC_SGS_DATE_ADDR (RTC_BASE_ADDR + 0x7ffdL)
|
23 |
|
|
#define RTC_SGS_DAY_ADDR (RTC_BASE_ADDR + 0x7ffcL)
|
24 |
|
|
#define RTC_SGS_HOUR_ADDR (RTC_BASE_ADDR + 0x7ffbL)
|
25 |
|
|
#define RTC_SGS_MIN_ADDR (RTC_BASE_ADDR + 0x7ffaL)
|
26 |
|
|
#define RTC_SGS_SEC_ADDR (RTC_BASE_ADDR + 0x7ff9L)
|
27 |
|
|
#define RTC_SGS_CONTROL_ADDR (RTC_BASE_ADDR + 0x7ff8L)
|
28 |
|
|
|
29 |
|
|
/* Defines for the Dallas DS1386 */
|
30 |
|
|
#define RTC_DAL_UPDATE_ENABLE 0x80
|
31 |
|
|
#define RTC_DAL_UPDATE_DISABLE 0x00
|
32 |
|
|
#define RTC_DAL_YEAR_ADDR (RTC_BASE_ADDR + 0xaL)
|
33 |
|
|
#define RTC_DAL_MONTH_ADDR (RTC_BASE_ADDR + 0x9L)
|
34 |
|
|
#define RTC_DAL_DATE_ADDR (RTC_BASE_ADDR + 0x8L)
|
35 |
|
|
#define RTC_DAL_DAY_ADDR (RTC_BASE_ADDR + 0x6L)
|
36 |
|
|
#define RTC_DAL_HOUR_ADDR (RTC_BASE_ADDR + 0x4L)
|
37 |
|
|
#define RTC_DAL_MIN_ADDR (RTC_BASE_ADDR + 0x2L)
|
38 |
|
|
#define RTC_DAL_SEC_ADDR (RTC_BASE_ADDR + 0x1L)
|
39 |
|
|
#define RTC_DAL_CONTROL_ADDR (RTC_BASE_ADDR + 0xbL)
|
40 |
|
|
#define RTC_DAL_USER_ADDR (RTC_BASE_ADDR + 0xeL)
|
41 |
|
|
|
42 |
|
|
/* Defines for the Dallas DS1742 */
|
43 |
|
|
#define RTC_DS1742_WRITE_ENABLE 0x80
|
44 |
|
|
#define RTC_DS1742_READ_ENABLE 0x40
|
45 |
|
|
#define RTC_DS1742_UPDATE_DISABLE 0x00
|
46 |
|
|
#define RTC_DS1742_YEAR_ADDR (RTC_BASE_ADDR + 0x7ffL)
|
47 |
|
|
#define RTC_DS1742_MONTH_ADDR (RTC_BASE_ADDR + 0x7feL)
|
48 |
|
|
#define RTC_DS1742_DATE_ADDR (RTC_BASE_ADDR + 0x7fdL)
|
49 |
|
|
#define RTC_DS1742_DAY_ADDR (RTC_BASE_ADDR + 0x7fcL)
|
50 |
|
|
#define RTC_DS1742_HOUR_ADDR (RTC_BASE_ADDR + 0x7fbL)
|
51 |
|
|
#define RTC_DS1742_MIN_ADDR (RTC_BASE_ADDR + 0x7faL)
|
52 |
|
|
#define RTC_DS1742_SEC_ADDR (RTC_BASE_ADDR + 0x7f9L)
|
53 |
|
|
#define RTC_DS1742_CONTROL_ADDR (RTC_BASE_ADDR + 0x7f8L)
|
54 |
|
|
#define RTC_DS1742_USER_ADDR (RTC_BASE_ADDR + 0x0L)
|
55 |
|
|
|
56 |
|
|
#define BCD_TO_INT(x) (((x>>4) * 10) + (x & 0xf))
|
57 |
|
|
#define INT_TO_BCD(x) (((x / 10)<<4) + (x % 10))
|
58 |
|
|
|
59 |
|
|
#define YRREF 1970
|
60 |
|
|
|
61 |
|
|
#endif /* _ASM_IA64_SN_KLCLOCK_H */
|