soc: nrf54: Port SYS_INIT to use soc_early_init_hook
Port SYS_INIT to use soc_early_init_hook as SYS_INITs are legacy. Due to moving dmm_init() from PRE_KERNEL_1 SYS_INIT to soc_early_init_hook(), the DMM test is also updated to ensure that its setup function runs before dmm_init(). Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no> Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
This commit is contained in:
parent
2ba5d469f8
commit
c0c4170c42
3 changed files with 5 additions and 9 deletions
|
@ -7,6 +7,7 @@ config SOC_SERIES_NRF54HX
|
||||||
select HAS_NRFS
|
select HAS_NRFS
|
||||||
select HAS_NRFX
|
select HAS_NRFX
|
||||||
select HAS_NORDIC_DRIVERS
|
select HAS_NORDIC_DRIVERS
|
||||||
|
select SOC_EARLY_INIT_HOOK if ARM
|
||||||
select NRF_PLATFORM_HALTIUM
|
select NRF_PLATFORM_HALTIUM
|
||||||
|
|
||||||
config SOC_NRF54H20_CPUAPP_COMMON
|
config SOC_NRF54H20_CPUAPP_COMMON
|
||||||
|
|
|
@ -126,7 +126,7 @@ bool z_arm_on_enter_cpu_idle(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int nordicsemi_nrf54h_init(void)
|
void soc_early_init_hook(void)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
@ -138,9 +138,7 @@ static int nordicsemi_nrf54h_init(void)
|
||||||
trim_hsfll();
|
trim_hsfll();
|
||||||
|
|
||||||
err = dmm_init();
|
err = dmm_init();
|
||||||
if (err < 0) {
|
__ASSERT_NO_MSG(err == 0);
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ccm030))
|
#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(ccm030))
|
||||||
/* DMASEC is set to non-secure by default, which prevents CCM from
|
/* DMASEC is set to non-secure by default, which prevents CCM from
|
||||||
|
@ -156,13 +154,9 @@ static int nordicsemi_nrf54h_init(void)
|
||||||
DT_PROP_OR(DT_NODELABEL(nfct), nfct_pins_as_gpios, 0)) {
|
DT_PROP_OR(DT_NODELABEL(nfct), nfct_pins_as_gpios, 0)) {
|
||||||
nrf_nfct_pad_config_enable_set(NRF_NFCT, false);
|
nrf_nfct_pad_config_enable_set(NRF_NFCT, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void arch_busy_wait(uint32_t time_us)
|
void arch_busy_wait(uint32_t time_us)
|
||||||
{
|
{
|
||||||
nrfx_coredep_delay_us(time_us);
|
nrfx_coredep_delay_us(time_us);
|
||||||
}
|
}
|
||||||
|
|
||||||
SYS_INIT(nordicsemi_nrf54h_init, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
|
|
||||||
|
|
|
@ -228,4 +228,5 @@ int dmm_test_prepare(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SYS_INIT(dmm_test_prepare, PRE_KERNEL_1, 0);
|
/* Needs to execute before DMM initialization. */
|
||||||
|
SYS_INIT(dmm_test_prepare, EARLY, 0);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue