soc: silabs: move init code from SYS_INIT to hooks

Replace SYS_INIT with SoC hooks and adapt SoC init code

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2024-09-10 09:42:44 -04:00 committed by Henrik Brix Andersen
commit a018f9d5ec
6 changed files with 6 additions and 10 deletions

View file

@ -206,7 +206,7 @@ static void swo_init(void)
* *
* @return 0 * @return 0
*/ */
static int silabs_init(void) void soc_early_init_hook(void)
{ {
/* handle chip errata */ /* handle chip errata */
CHIP_Init(); CHIP_Init();
@ -240,8 +240,4 @@ static int silabs_init(void)
swo_init(); swo_init();
#endif #endif
#endif /* !CONFIG_SOC_GECKO_DEV_INIT */ #endif /* !CONFIG_SOC_GECKO_DEV_INIT */
return 0;
} }
SYS_INIT(silabs_init, PRE_KERNEL_1, 0);

View file

@ -7,6 +7,7 @@ if SOC_FAMILY_SILABS_S0
config SOC_FAMILY_SILABS_S0 config SOC_FAMILY_SILABS_S0
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
select BUILD_OUTPUT_HEX select BUILD_OUTPUT_HEX
select SOC_EARLY_INIT_HOOK
rsource "*/Kconfig" rsource "*/Kconfig"

View file

@ -7,6 +7,7 @@ if SOC_FAMILY_SILABS_S1
config SOC_FAMILY_SILABS_S1 config SOC_FAMILY_SILABS_S1
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
select BUILD_OUTPUT_HEX select BUILD_OUTPUT_HEX
select SOC_EARLY_INIT_HOOK
rsource "*/Kconfig" rsource "*/Kconfig"

View file

@ -7,6 +7,7 @@ if SOC_FAMILY_SILABS_S2
config SOC_FAMILY_SILABS_S2 config SOC_FAMILY_SILABS_S2
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
select BUILD_OUTPUT_HEX select BUILD_OUTPUT_HEX
select SOC_EARLY_INIT_HOOK
rsource "*/Kconfig" rsource "*/Kconfig"

View file

@ -8,3 +8,4 @@ config SOC_SERIES_SIM3U
select CPU_CORTEX_M3 select CPU_CORTEX_M3
select CPU_CORTEX_M_HAS_SYSTICK select CPU_CORTEX_M_HAS_SYSTICK
select HAS_SILABS_SI32 select HAS_SILABS_SI32
select SOC_EARLY_INIT_HOOK

View file

@ -108,7 +108,7 @@ __no_optimization static void busy_delay(uint32_t cycles)
} }
} }
static int silabs_sim3u_init(void) void soc_early_init_hook(void)
{ {
uint32_t key; uint32_t key;
@ -130,8 +130,4 @@ static int silabs_sim3u_init(void)
vmon_init(); vmon_init();
irq_unlock(key); irq_unlock(key);
return 0;
} }
SYS_INIT(silabs_sim3u_init, PRE_KERNEL_1, 0);