arch/risc-v/src/common: Create SoC-specific initialization routine

This commits adds a function that can be implemented by any vendor
to allow SoC-specific functions to be called by `up_initialize`.
Please note that `up_initialize` is provided by the arch level, but
it doesn't allow SoC-specific initialization. Although it could be
possible to run such initialization on board-level, semantically
it isn't related to the board, but with the SoC. As an example of
such implementation, some SoCs require RTC subsystem initialization
to occur before the OS is completely initialized.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
This commit is contained in:
Tiago Medicci Serrano
2026-02-24 15:47:28 -03:00
committed by Alan C. Assis
parent 6cb6c45987
commit ba20c930f8
2 changed files with 11 additions and 0 deletions
@@ -98,5 +98,12 @@ void up_initialize(void)
riscv_netinitialize();
#ifdef CONFIG_HAVE_WEAKFUNCTIONS
if (riscv_soc_initialize)
#endif
{
riscv_soc_initialize();
}
board_autoled_on(LED_IRQSENABLED);
}
+4
View File
@@ -315,6 +315,10 @@ void riscv_pminitialize(void);
void weak_function riscv_dma_initialize(void);
#endif
/* SoC-specific CPU initialization ******************************************/
void weak_function riscv_soc_initialize(void);
/* Low level serial output **************************************************/
void riscv_lowputc(char ch);