]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
nds32: ag101/ag102: Fix setting lastdec and now values
authorAxel Lin <axel.lin@ingics.com>
Mon, 8 Jul 2013 06:29:52 +0000 (14:29 +0800)
committerMacpaul Lin <macpaul@gmail.com>
Wed, 24 Jul 2013 03:50:28 +0000 (11:50 +0800)
The timer3 counter unit for lastdesc and now values are inconsistent in current
code. The unit of "readl(&tmr->timer3_counter) / (CONFIG_SYS_CLK_FREQ / 2)" is
second. However, CONFIG_SYS_HZ is defined as 1000 in board config file.
This means the accuracy of "lastdec" and "now" should be in millisecond,
thus fix the equation to set lastdec and now variables accordingly.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
arch/nds32/cpu/n1213/ag101/timer.c
arch/nds32/cpu/n1213/ag102/timer.c

index caa36b8be83881bf7b17222527a547330d4f6c3a..926091f744308ac7345da56c4a9d8eac0e419710 100644 (file)
@@ -86,7 +86,8 @@ void reset_timer_masked(void)
 #ifdef CONFIG_FTTMR010_EXT_CLK
        lastdec = readl(&tmr->timer3_counter) / (TIMER_CLOCK / CONFIG_SYS_HZ);
 #else
-       lastdec = readl(&tmr->timer3_counter) / (CONFIG_SYS_CLK_FREQ / 2);
+       lastdec = readl(&tmr->timer3_counter) /
+                       (CONFIG_SYS_CLK_FREQ / 2 / CONFIG_SYS_HZ);
 #endif
        timestamp = 0;          /* start "advancing" time stamp from 0 */
 
@@ -110,8 +111,8 @@ ulong get_timer_masked(void)
 #ifdef CONFIG_FTTMR010_EXT_CLK
        ulong now = readl(&tmr->timer3_counter) / (TIMER_CLOCK / CONFIG_SYS_HZ);
 #else
-       ulong now = readl(&tmr->timer3_counter) / \
-                       (CONFIG_SYS_CLK_FREQ / 2 / 1024);
+       ulong now = readl(&tmr->timer3_counter) /
+                       (CONFIG_SYS_CLK_FREQ / 2 / CONFIG_SYS_HZ);
 #endif
 
        debug("%s(): now = %lx, lastdec = %lx\n", __func__, now, lastdec);
index caa36b8be83881bf7b17222527a547330d4f6c3a..926091f744308ac7345da56c4a9d8eac0e419710 100644 (file)
@@ -86,7 +86,8 @@ void reset_timer_masked(void)
 #ifdef CONFIG_FTTMR010_EXT_CLK
        lastdec = readl(&tmr->timer3_counter) / (TIMER_CLOCK / CONFIG_SYS_HZ);
 #else
-       lastdec = readl(&tmr->timer3_counter) / (CONFIG_SYS_CLK_FREQ / 2);
+       lastdec = readl(&tmr->timer3_counter) /
+                       (CONFIG_SYS_CLK_FREQ / 2 / CONFIG_SYS_HZ);
 #endif
        timestamp = 0;          /* start "advancing" time stamp from 0 */
 
@@ -110,8 +111,8 @@ ulong get_timer_masked(void)
 #ifdef CONFIG_FTTMR010_EXT_CLK
        ulong now = readl(&tmr->timer3_counter) / (TIMER_CLOCK / CONFIG_SYS_HZ);
 #else
-       ulong now = readl(&tmr->timer3_counter) / \
-                       (CONFIG_SYS_CLK_FREQ / 2 / 1024);
+       ulong now = readl(&tmr->timer3_counter) /
+                       (CONFIG_SYS_CLK_FREQ / 2 / CONFIG_SYS_HZ);
 #endif
 
        debug("%s(): now = %lx, lastdec = %lx\n", __func__, now, lastdec);