From e7094ec40a4c31083d26d129125dc288e9f32a31 Mon Sep 17 00:00:00 2001 From: ligd Date: Tue, 5 Mar 2024 17:46:24 +0800 Subject: [PATCH] goldfish: use goldfish timer Signed-off-by: ligd --- arch/arm/src/goldfish/goldfish_timer.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm/src/goldfish/goldfish_timer.c b/arch/arm/src/goldfish/goldfish_timer.c index df5a443602330..66d976b7831f9 100644 --- a/arch/arm/src/goldfish/goldfish_timer.c +++ b/arch/arm/src/goldfish/goldfish_timer.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_timer.h" @@ -32,5 +33,20 @@ void up_timer_initialize(void) { +#if defined(CONFIG_GOLDFISH_TIMER) && defined(CONFIG_LIBC_FDT) + FAR struct oneshot_lowerhalf_s *lower; + const void *fdt = fdt_get(); + + DEBUGASSERT(fdt != NULL); + + lower = goldfish_timer_initialize( + fdt_get_reg_base_by_path(fdt, "/goldfish_rtc"), + fdt_get_irq_by_path(fdt, "/goldfish_rtc"), QEMU_SPI_IRQ_BASE); + + DEBUGASSERT(lower != NULL); + + up_alarm_set_lowerhalf(lower); +#else up_alarm_set_lowerhalf(arm_timer_initialize(0)); +#endif }