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
|