aboutsummaryrefslogtreecommitdiff
path: root/drivers/rtc
diff options
context:
space:
mode:
authorMacpaul Lin <macpaul@andestech.com>2010-10-19 20:14:36 +0800
committerWolfgang Denk <wd@denx.de>2010-10-20 21:46:30 +0200
commit0284816e985ab8509371170f39501da0cdee75e4 (patch)
tree4ad9aefbbdfb693296d4b9f06233af19d4eb2843 /drivers/rtc
parentb76335178ed399d5843be6bf97707cc9d1b16bbd (diff)
ftrtc010.c : enhance code according to original datasheet
Add missing codes according to original datasheet. This patch also makes ftrtc010 could be adapted to PCLK and EXT_CLK. Signed-off-by: Macpaul Lin <macpaul@andestech.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r--drivers/rtc/ftrtc010.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/rtc/ftrtc010.c b/drivers/rtc/ftrtc010.c
index 7738a7aca..25e4a7bcd 100644
--- a/drivers/rtc/ftrtc010.c
+++ b/drivers/rtc/ftrtc010.c
@@ -34,6 +34,13 @@ struct ftrtc010 {
unsigned int alarm_hour; /* 0x18 */
unsigned int record; /* 0x1c */
unsigned int cr; /* 0x20 */
+ unsigned int wsec; /* 0x24 */
+ unsigned int wmin; /* 0x28 */
+ unsigned int whour; /* 0x2c */
+ unsigned int wday; /* 0x30 */
+ unsigned int intr; /* 0x34 */
+ unsigned int div; /* 0x38 */
+ unsigned int rev; /* 0x3c */
};
/*
@@ -85,7 +92,11 @@ int rtc_get(struct rtc_time *tmp)
debug("%s(): record register: %x\n",
__func__, readl(&rtc->record));
+#ifdef CONFIG_FTRTC010_PCLK
+ now = (ftrtc010_time() + readl(&rtc->record)) / RTC_DIV_COUNT;
+#else /* CONFIG_FTRTC010_EXTCLK */
now = ftrtc010_time() + readl(&rtc->record);
+#endif
to_tm(now, tmp);