summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv8/generic_timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu/armv8/generic_timer.c')
-rw-r--r--arch/arm/cpu/armv8/generic_timer.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/generic_timer.c b/arch/arm/cpu/armv8/generic_timer.c
index 1de7ec596fc..744ab3b91e5 100644
--- a/arch/arm/cpu/armv8/generic_timer.c
+++ b/arch/arm/cpu/armv8/generic_timer.c
@@ -19,6 +19,10 @@ DECLARE_GLOBAL_DATA_PTR;
unsigned long notrace get_tbclk(void)
{
unsigned long cntfrq;
+
+ if (IS_ENABLED(CONFIG_ARMV8_CNTFRQ_BROKEN) && gd->arch.timer_rate_hz)
+ return gd->arch.timer_rate_hz;
+
asm volatile("mrs %0, cntfrq_el0" : "=r" (cntfrq));
return cntfrq;
}