Patrick Georgi | ac95903 | 2020-05-05 22:49:26 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
Patrick Rudolph | f677d17 | 2018-10-01 19:17:11 +0200 | [diff] [blame] | 2 | |
| 3 | #ifndef _INTEL_COMMON_RESET_H_ |
| 4 | #define _INTEL_COMMON_RESET_H_ |
| 5 | |
Furquan Shaikh | b13bd1e | 2020-09-21 22:44:27 +0000 | [diff] [blame] | 6 | /* |
| 7 | * Implement SoC specific global reset (i.e. a reset of both host and |
| 8 | * ME partitions). Usually the ME is asked to perform the reset first. |
| 9 | * If that doesn't work out, fall back to a manual global reset. |
| 10 | */ |
| 11 | void do_global_reset(void); |
| 12 | |
| 13 | /* Prepare for reset, run do_global_reset(), halt. */ |
Patrick Rudolph | f677d17 | 2018-10-01 19:17:11 +0200 | [diff] [blame] | 14 | __noreturn void global_reset(void); |
| 15 | |
Subrata Banik | da7d00e | 2023-04-26 16:31:56 +0530 | [diff] [blame] | 16 | /* |
| 17 | * Return PCH Reset Status |
| 18 | * The return status can be between EfiResetCold, EfiResetWarm, EfiResetShutdown |
| 19 | * or EfiResetPlatformSpecific. |
| 20 | * |
| 21 | * If reset type if `EfiResetPlatformSpecific` then relying on pch_reset_data structure |
| 22 | * to know if the reset type is a global reset. |
| 23 | */ |
| 24 | uint32_t fsp_get_pch_reset_status(void); |
| 25 | |
Patrick Rudolph | f677d17 | 2018-10-01 19:17:11 +0200 | [diff] [blame] | 26 | #endif /* _INTEL_COMMON_RESET_H_ */ |