Allow SoC to implement their custom per-core initialization function by selecting `CONFIG_SOC_PER_CORE_INIT_HOOK` and implement `soc_per_core_init_hook()`. Signed-off-by: Maxim Adelman <imax@meta.com> Signed-off-by: Yong Cong Sin <ycsin@meta.com> Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
82 lines
2.2 KiB
C
82 lines
2.2 KiB
C
/*
|
|
* Copyright (c) 2024 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
#ifndef ZEPHYR_INCLUDE_PLATFORM_PLATFORM_H_
|
|
#define ZEPHYR_INCLUDE_PLATFORM_PLATFORM_H_
|
|
|
|
/**
|
|
* @file
|
|
* @brief Soc and Board hooks
|
|
*
|
|
* This header file contains function prototypes for the interfaces between
|
|
* zephyr architecture and initialization code and the SoC and board specific logic
|
|
* that resides under boards/ and soc/
|
|
*
|
|
* @note These are all standard soc and board interfaces that are exported from
|
|
* soc and board specific logic to OS internal logic. These should never be accessed
|
|
* directly from application code but may be freely used within the OS.
|
|
*/
|
|
|
|
|
|
/**
|
|
* @brief SoC hook executed at the beginning of the reset vector.
|
|
*
|
|
* This hook is implemented by the SoC and can be used to perform any
|
|
* SoC-specific initialization.
|
|
*/
|
|
void soc_reset_hook(void);
|
|
|
|
/**
|
|
* @brief SoC hook executed after the reset vector.
|
|
*
|
|
*
|
|
* This hook is implemented by the SoC and can be used to perform any
|
|
* SoC-specific initialization.
|
|
*/
|
|
void soc_prep_hook(void);
|
|
|
|
/*
|
|
* @brief SoC hook executed before the kernel and devices are initialized.
|
|
*
|
|
* This hook is implemented by the SoC and can be used to perform any
|
|
* SoC-specific initialization.
|
|
*/
|
|
void soc_early_init_hook(void);
|
|
|
|
/*
|
|
* @brief SoC hook executed after the kernel and devices are initialized.
|
|
*
|
|
* This hook is implemented by the SoC and can be used to perform any
|
|
* SoC-specific initialization.
|
|
*/
|
|
void soc_late_init_hook(void);
|
|
|
|
/**
|
|
* @brief SoC per-core initialization
|
|
*
|
|
* This hook is implemented by the SoC and can be used to perform any
|
|
* SoC-specific per-core initialization
|
|
*/
|
|
void soc_per_core_init_hook(void);
|
|
|
|
/*
|
|
* @brief Board hook executed before the kernel starts.
|
|
*
|
|
* This is called before the kernel has started. This hook
|
|
* is implemented by the board and can be used to perform any board-specific
|
|
* initialization.
|
|
*/
|
|
void board_early_init_hook(void);
|
|
|
|
/*
|
|
* @brief Board hook executed after the kernel starts.
|
|
|
|
* This is called after the kernel has started, but before the main function is
|
|
* called. This hook is implemented by the board and can be used to perform
|
|
* any board-specific initialization.
|
|
*/
|
|
void board_late_init_hook(void);
|
|
|
|
#endif
|