The tmu_bit value evaluates to (ffs(4) >> 1) - 1 = (3 >> 1) - 1 = 0.
Just drop the tmu_bit completely as well as CONFIG_SYS_TMU_CLK_DIV.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
#include <sh_tmu.h>
#define TCR_TPSC 0x07
-#define CONFIG_SYS_TMU_CLK_DIV 4
static struct tmu_regs *tmu = (struct tmu_regs *)TMU_BASE;
unsigned long get_tbclk(void)
{
- u16 tmu_bit = (ffs(CONFIG_SYS_TMU_CLK_DIV) >> 1) - 1;
- return get_tmu0_clk_rate() >> ((tmu_bit + 1) * 2);
+ return get_tmu0_clk_rate() >> 2;
}
unsigned long timer_read_counter(void)
int timer_init(void)
{
- u16 tmu_bit = (ffs(CONFIG_SYS_TMU_CLK_DIV) >> 1) - 1;
- writew((readw(&tmu->tcr0) & ~TCR_TPSC) | tmu_bit, &tmu->tcr0);
+ writew(readw(&tmu->tcr0) & ~TCR_TPSC, &tmu->tcr0);
tmu_timer_stop(0);
tmu_timer_start(0);