blob: 52b0c2dba979c8a40c6747bb42e7720ba00d66df [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _ASM_RTC_H
2#define _ASM_RTC_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
Paul Mundtfa439722008-09-04 18:53:58 +09004void time_init(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -07005extern void (*board_time_init)(void);
Paul Mundtaf514ca2006-09-27 17:11:32 +09006extern void (*rtc_sh_get_time)(struct timespec *);
7extern int (*rtc_sh_set_time)(const time_t);
Linus Torvalds1da177e2005-04-16 15:20:36 -07008
Paul Mundt47c8a082009-04-27 17:34:39 +09009/* some dummy definitions */
10#define RTC_BATT_BAD 0x100 /* battery bad */
11#define RTC_SQWE 0x08 /* enable square-wave output */
12#define RTC_DM_BINARY 0x04 /* all time/date values are BCD if clear */
13#define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */
14#define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */
15
16struct rtc_time;
17unsigned int get_rtc_time(struct rtc_time *);
18int set_rtc_time(struct rtc_time *);
19
Paul Mundtad89f872007-08-03 14:19:58 +090020#define RTC_CAP_4_DIGIT_YEAR (1 << 0)
21
22struct sh_rtc_platform_info {
23 unsigned long capabilities;
24};
25
Paul Mundtf15cbe62008-07-29 08:09:44 +090026#include <cpu/rtc.h>
Paul Mundtc019fd82007-11-28 19:14:23 +090027
Linus Torvalds1da177e2005-04-16 15:20:36 -070028#endif /* _ASM_RTC_H */