diff mbox series

[U-Boot,11/16] armv7: timer: init timer with bootstage

Message ID 1555601571-3257-12-git-send-email-patrick.delaunay@st.com
State Accepted
Commit c596877ee6e8f235b6d6a8e0d4a9366ce086a3ed
Delegated to: Patrice Chotard
Headers show
Series patches for stm32 support | expand

Commit Message

Patrick DELAUNAY April 18, 2019, 3:32 p.m. UTC
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 <patrick.delaunay@st.com>
---

 arch/arm/cpu/armv7/arch_timer.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series

Patch

diff --git a/arch/arm/cpu/armv7/arch_timer.c b/arch/arm/cpu/armv7/arch_timer.c
index 3db31c0..5de6305 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);
 }