Subrata Banik has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/86417?usp=email )
Change subject: lib: Introduce early power off support Kconfig option ......................................................................
lib: Introduce early power off support Kconfig option
This commit introduces the `HAVE_EARLY_POWEROFF_SUPPORT` Kconfig option and the `platform_do_early_poweroff()` API.
The Kconfig option enables platform-specific early power off support, which is often required on Intel platforms. The corresponding API allows platforms to implement the necessary hardware operations for early power off, typically before memory initialization.
BUG=b:339673254 TEST=Able to build and boot google/brox.
Change-Id: I05b9882e100825a4fb733163a65f820c8c943361 Signed-off-by: Subrata Banik subratabanik@google.com --- M src/include/reset.h M src/lib/Kconfig 2 files changed, 31 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/86417/1
diff --git a/src/include/reset.h b/src/include/reset.h index 95fe066..a5d5aec 100644 --- a/src/include/reset.h +++ b/src/include/reset.h @@ -41,4 +41,19 @@ */ void do_board_reset(void);
+/* + * Performs platform-specific actions for early power off. + * + * This function handles the necessary steps to initiate an early power off + * sequence. This might involve configuring specific hardware registers, + * sending commands to power management controllers, or performing other + * platform-specific operations. It is crucial that this + * function is implemented correctly to ensure a clean and controlled shutdown. + * + * Note: Issuing power off early before memory initialization is not supported use case on + * Intel chipset, therefore, it might need a special platform specific handing + * to power-off the platform early. + */ +void platform_do_early_poweroff(void); + #endif diff --git a/src/lib/Kconfig b/src/lib/Kconfig index 2c1a93c..ad70626 100644 --- a/src/lib/Kconfig +++ b/src/lib/Kconfig @@ -159,3 +159,19 @@ config HAVE_CUSTOM_BMP_LOGO def_bool n depends on BMP_LOGO + +config HAVE_EARLY_POWEROFF_SUPPORT + bool + help + Enable platform-specific early power off support. + + This option should be selected if the platform requires special handling + to power off the system before memory initialization. This is often + necessary on Intel platforms, as directly powering off before memory + initialization is typically not supported by the chipset. + + Selecting this option indicates that the platform implements the + `platform_do_early_poweroff()` function, which performs the + necessary hardware operations to initiate an early power off sequence. + This might involve configuring hardware registers, sending commands to + power management controllers, or other platform-specific operations.