]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
ftrtc010.c : enhance code according to original datasheet
authorMacpaul Lin <macpaul@andestech.com>
Tue, 19 Oct 2010 12:14:36 +0000 (20:14 +0800)
committerWolfgang Denk <wd@denx.de>
Wed, 20 Oct 2010 19:46:30 +0000 (21:46 +0200)
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>
drivers/rtc/ftrtc010.c

index 7738a7acaa0c79054d67a835945fdf30a5810cef..25e4a7bcdb8222cb58e457283296176533bb0f79 100644 (file)
@@ -34,6 +34,13 @@ struct ftrtc010 {
        unsigned int alarm_hour;        /* 0x18 */
        unsigned int record;            /* 0x1c */
        unsigned int cr;                /* 0x20 */
        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));
 
        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);
        now = ftrtc010_time() + readl(&rtc->record);
+#endif
 
        to_tm(now, tmp);
 
 
        to_tm(now, tmp);