arm: armv7: solve issue for timer_rate_hz in arch timer

The current value timer_rate_hz causes a problem with function
timer_get_us() from lib time and then an issue with
readx_poll_timeout() function.

With corrected value for tbclk() = timer_rate_hz = CONFIG_SYS_HZ_CLOCK
the weak functions in lib timer can be used:
- get_timer()
- __udelay()
So the specific function in this file are removed.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
master
Patrick Delaunay 6 years ago committed by Tom Rini
parent 0e373c0ade
commit 77aace579a
  1. 22
      arch/arm/cpu/armv7/arch_timer.c

@ -17,7 +17,7 @@ int timer_init(void)
gd->arch.tbl = 0;
gd->arch.tbu = 0;
gd->arch.timer_rate_hz = CONFIG_SYS_HZ_CLOCK / CONFIG_SYS_HZ;
gd->arch.timer_rate_hz = CONFIG_SYS_HZ_CLOCK;
return 0;
}
@ -34,27 +34,9 @@ unsigned long long get_ticks(void)
}
ulong get_timer(ulong base)
{
return lldiv(get_ticks(), gd->arch.timer_rate_hz) - base;
}
ulong timer_get_boot_us(void)
{
return lldiv(get_ticks(), CONFIG_SYS_HZ_CLOCK / (CONFIG_SYS_HZ * 1000));
}
void __udelay(unsigned long usec)
{
unsigned long long endtime;
endtime = lldiv((unsigned long long)usec * gd->arch.timer_rate_hz,
1000UL);
endtime += get_ticks();
while (get_ticks() < endtime)
;
return lldiv(get_ticks(), CONFIG_SYS_HZ_CLOCK / 1000000);
}
ulong get_tbclk(void)

Loading…
Cancel
Save