Line data Source code
1 1 : /* 2 : * Copyright (c) 2024 Intel Corporation 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : #ifndef ZEPHYR_INCLUDE_PLATFORM_PLATFORM_H_ 7 : #define ZEPHYR_INCLUDE_PLATFORM_PLATFORM_H_ 8 : 9 : /** 10 : * @file 11 : * @brief Soc and Board hooks 12 : * 13 : * This header file contains function prototypes for the interfaces between 14 : * zephyr architecture and initialization code and the SoC and board specific logic 15 : * that resides under boards/ and soc/ 16 : * 17 : * @note These are all standard soc and board interfaces that are exported from 18 : * soc and board specific logic to OS internal logic. These should never be accessed 19 : * directly from application code but may be freely used within the OS. 20 : */ 21 : 22 : 23 : /** 24 : * @brief SoC hook executed at the beginning of the reset vector. 25 : * 26 : * This hook is implemented by the SoC and can be used to perform any 27 : * SoC-specific initialization. 28 : */ 29 1 : void soc_reset_hook(void); 30 : 31 : /** 32 : * @brief SoC hook executed after the reset vector. 33 : * 34 : * This hook is implemented by the SoC and can be used to perform any 35 : * SoC-specific initialization. 36 : */ 37 1 : void soc_prep_hook(void); 38 : 39 : /** 40 : * @brief SoC hook executed before the kernel and devices are initialized. 41 : * 42 : * This hook is implemented by the SoC and can be used to perform any 43 : * SoC-specific initialization. 44 : */ 45 1 : void soc_early_init_hook(void); 46 : 47 : /** 48 : * @brief SoC hook executed after the kernel and devices are initialized. 49 : * 50 : * This hook is implemented by the SoC and can be used to perform any 51 : * SoC-specific initialization. 52 : */ 53 1 : void soc_late_init_hook(void); 54 : 55 : /** 56 : * @brief SoC per-core initialization 57 : * 58 : * This hook is implemented by the SoC and can be used to perform any 59 : * SoC-specific per-core initialization 60 : */ 61 1 : void soc_per_core_init_hook(void); 62 : 63 : /** 64 : * @brief Board hook executed before the kernel starts. 65 : * 66 : * This is called before the kernel has started. This hook 67 : * is implemented by the board and can be used to perform any board-specific 68 : * initialization. 69 : */ 70 1 : void board_early_init_hook(void); 71 : 72 : /** 73 : * @brief Board hook executed after the kernel starts. 74 : * 75 : * This is called after the kernel has started, but before the main function is 76 : * called. This hook is implemented by the board and can be used to perform 77 : * any board-specific initialization. 78 : */ 79 1 : void board_late_init_hook(void); 80 : 81 : #endif