diff options
author | Macpaul Lin <macpaul@andestech.com> | 2010-10-19 20:14:36 +0800 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-10-20 21:46:30 +0200 |
commit | 0284816e985ab8509371170f39501da0cdee75e4 (patch) | |
tree | 4ad9aefbbdfb693296d4b9f06233af19d4eb2843 /drivers | |
parent | b76335178ed399d5843be6bf97707cc9d1b16bbd (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')
-rw-r--r-- | drivers/rtc/ftrtc010.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/rtc/ftrtc010.c b/drivers/rtc/ftrtc010.c index 7738a7acaa..25e4a7bcdb 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); |