soc: intel: 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:
parent
e6506619ca
commit
c344771d8b
@ -15,6 +15,8 @@ config SOC_SERIES_INTEL_ADSP_ACE
|
||||
select XTENSA_CPU_HAS_HIFI3
|
||||
select XTENSA_CPU_HAS_HIFI4
|
||||
select ARCH_HAS_RESERVED_PAGE_FRAMES if MMU
|
||||
select SOC_LATE_INIT_HOOK
|
||||
select SOC_EARLY_INIT_HOOK
|
||||
|
||||
config SOC_INTEL_COMM_WIDGET
|
||||
bool "Intel Communication Widget driver"
|
||||
|
||||
@ -108,11 +108,11 @@ void soc_mp_init(void)
|
||||
soc_cpus_active[0] = true;
|
||||
}
|
||||
|
||||
static int host_runtime_get(void)
|
||||
void soc_late_init_hook(void)
|
||||
{
|
||||
return pm_device_runtime_get(INTEL_ADSP_HST_DOMAIN_DEV);
|
||||
pm_device_runtime_get(INTEL_ADSP_HST_DOMAIN_DEV);
|
||||
}
|
||||
SYS_INIT(host_runtime_get, POST_KERNEL, 99);
|
||||
|
||||
|
||||
#ifdef CONFIG_ADSP_IMR_CONTEXT_SAVE
|
||||
/*
|
||||
|
||||
@ -11,6 +11,7 @@ config SOC_SERIES_INTEL_ADSP_CAVS
|
||||
select ATOMIC_OPERATIONS_ARCH if "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "xcc"
|
||||
select ARCH_HAS_COHERENCE
|
||||
select HAS_PM
|
||||
select SOC_EARLY_INIT_HOOK
|
||||
|
||||
config SOC_INTEL_CAVS_V25
|
||||
select XTENSA_WAITI_BUG
|
||||
|
||||
@ -28,5 +28,3 @@ int boot_complete(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(boot_complete, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEVICE);
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
#include <zephyr/init.h>
|
||||
#include <zephyr/linker/section_tags.h>
|
||||
|
||||
extern int boot_complete(void);
|
||||
extern void power_init(void);
|
||||
extern void adsp_clock_init(void);
|
||||
|
||||
@ -13,8 +14,9 @@ extern void adsp_clock_init(void);
|
||||
extern void soc_mp_init(void);
|
||||
#endif
|
||||
|
||||
static __imr int soc_init(void)
|
||||
void soc_early_init_hook(void)
|
||||
{
|
||||
(void)boot_complete();
|
||||
power_init();
|
||||
|
||||
#ifdef CONFIG_ADSP_CLOCK
|
||||
@ -24,8 +26,4 @@ static __imr int soc_init(void)
|
||||
#if CONFIG_MP_MAX_NUM_CPUS > 1
|
||||
soc_mp_init();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(soc_init, PRE_KERNEL_1, 99);
|
||||
|
||||
@ -13,3 +13,4 @@ config SOC_FAMILY_INTEL_ISH
|
||||
select INTEL_HAL
|
||||
select HAS_PM
|
||||
select HAS_COVERAGE_SUPPORT
|
||||
select SOC_EARLY_INIT_HOOK
|
||||
|
||||
@ -72,11 +72,7 @@ void sys_arch_reboot(int type)
|
||||
|
||||
extern void sedi_pm_init(void);
|
||||
|
||||
static int ish_sedi_pm_init(void)
|
||||
void soc_early_init_hook(void)
|
||||
{
|
||||
sedi_pm_init();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(ish_sedi_pm_init, PRE_KERNEL_2, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
|
||||
|
||||
@ -11,13 +11,9 @@
|
||||
#include "sedi_driver_hpet.h"
|
||||
#endif
|
||||
|
||||
static int intel_ish_init(void)
|
||||
void soc_early_init_hook(void)
|
||||
{
|
||||
#if defined(CONFIG_HPET_TIMER)
|
||||
sedi_hpet_set_min_delay(HPET_CMP_MIN_DELAY);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(intel_ish_init, PRE_KERNEL_2, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
|
||||
|
||||
@ -7,3 +7,4 @@ config SOC_SERIES_CYCLONEV
|
||||
select ARM_AARCH32_MMU
|
||||
select ARM_ARCH_TIMER_ERRATUM_740657 if ARM_ARCH_TIMER
|
||||
select ARCH_HAS_RESERVED_PAGE_FRAMES
|
||||
select SOC_EARLY_INIT_HOOK
|
||||
|
||||
@ -70,16 +70,12 @@ const struct arm_mmu_config mmu_config = {
|
||||
*
|
||||
* @return 0
|
||||
*/
|
||||
static int soc_intel_cyclonev_init(void)
|
||||
void soc_early_init_hook(void)
|
||||
{
|
||||
unsigned int sctlr = __get_SCTLR(); /* modifying some registers prior to initialization */
|
||||
|
||||
sctlr &= ~SCTLR_A_Msk;
|
||||
__set_SCTLR(sctlr);
|
||||
__set_VBAR(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(soc_intel_cyclonev_init, PRE_KERNEL_1,
|
||||
CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
|
||||
/* EOF */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user