summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/lib/time.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/arch/sh/lib/time.c b/arch/sh/lib/time.c
index 302f6bed83..6273f39f21 100644
--- a/arch/sh/lib/time.c
+++ b/arch/sh/lib/time.c
@@ -16,6 +16,7 @@
#include <sh_tmu.h>
#define TCR_TPSC 0x07
+#define TSTR_STR0 BIT(0)
static struct tmu_regs *tmu = (struct tmu_regs *)TMU_BASE;
@@ -29,26 +30,11 @@ unsigned long timer_read_counter(void)
return ~readl(&tmu->tcnt0);
}
-static void tmu_timer_start(unsigned int timer)
-{
- if (timer > 2)
- return;
- writeb(readb(&tmu->tstr) | (1 << timer), &tmu->tstr);
-}
-
-static void tmu_timer_stop(unsigned int timer)
-{
- if (timer > 2)
- return;
- writeb(readb(&tmu->tstr) & ~(1 << timer), &tmu->tstr);
-}
-
int timer_init(void)
{
writew(readw(&tmu->tcr0) & ~TCR_TPSC, &tmu->tcr0);
-
- tmu_timer_stop(0);
- tmu_timer_start(0);
+ writeb(readb(&tmu->tstr) & ~TSTR_STR0, &tmu->tstr);
+ writeb(readb(&tmu->tstr) | TSTR_STR0, &tmu->tstr);
return 0;
}