From: Patrick Delaunay Date: Thu, 18 Apr 2019 15:32:46 +0000 (+0200) Subject: armv7: timer: init timer with bootstage X-Git-Tag: v2019.07-rc3~8^2~14 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c596877ee6e8f235b6d6a8e0d4a9366ce086a3ed;p=oweals%2Fu-boot.git armv7: timer: init timer with bootstage In initf_bootstage() we call bootstage_mark_name() which ends up calling timer_get_us() before timer_init(); that cause crash for stm32mp1. This patch solve the issue without changing the initialization sequence. See also commit 97d20f69f53e ("Enable CONFIG_TIMER_EARLY with bootstage") for other solution when DM is activated for TIMER. Signed-off-by: Patrick Delaunay --- diff --git a/arch/arm/cpu/armv7/arch_timer.c b/arch/arm/cpu/armv7/arch_timer.c index 3db31c0209..5de63053d5 100644 --- a/arch/arm/cpu/armv7/arch_timer.c +++ b/arch/arm/cpu/armv7/arch_timer.c @@ -49,6 +49,9 @@ unsigned long long get_ticks(void) ulong timer_get_boot_us(void) { + if (!gd->arch.timer_rate_hz) + timer_init(); + return lldiv(get_ticks(), gd->arch.timer_rate_hz / 1000000); }