soc/intel/common/acpi: Fix ACPI Namespace lookup failure, AE_ALREADY_EXISTS issue
[coreboot.git] / src / include / reset.h
blobcf9d5744b28f4e6764b0325464f657fb5ed45b0b
1 #ifndef RESET_H
2 #define RESET_H
4 /* Generic reset functions. Call from code that wants to trigger a reset. */
6 /* Super-hard reset specific to some Intel SoCs. */
7 __noreturn void global_reset(void);
8 /* Full board reset. Resets SoC and most/all board components (e.g. DRAM). */
9 __noreturn void hard_reset(void);
10 /* Board reset. Resets SoC some board components (e.g. TPM but not DRAM). */
11 __noreturn void soft_reset(void);
13 /* Reset implementations. Implement these in SoC or mainboard code. Implement
14 at least hard_reset() if possible, others fall back to it if necessary. */
15 void do_global_reset(void);
16 void do_hard_reset(void);
17 void do_soft_reset(void);
19 enum reset_type { /* listed in order of softness */
20 GLOBAL_RESET,
21 HARD_RESET,
22 SOFT_RESET,
25 /* Callback that an SoC may override to perform special actions before reset.
26 Take into account that softer resets may fall back to harder resets if not
27 implemented... this will *not* trigger another callback! */
28 void soc_reset_prepare(enum reset_type reset_type);
30 #endif