summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2018-11-14 00:00:35 +0100
committerNico Huber <nico.h@gmx.de>2019-01-06 15:54:19 +0000
commit9faae2b939d0c83632baeefe80bef1739e125018 (patch)
treea3d62f5f14994f1facc2389d189796a836bd8e81 /src/mainboard
parentd2f678d3bd6ca4c05fa5c652d6cdf4623543e576 (diff)
Kconfig: Unify power-after-failure options
The newest and most useful incarnation was hiding in soc/intel/common/. We move it into the Mainboard menu and extend it with various flags to be selected to control the default and which options are visible. Also add a new `int` config MAINBOARD_POWER_FAILURE_STATE that moves the boolean to int conversion into Kconfig: 0 - S5 1 - S0 2 - previous state This patch focuses on the Kconfig code. The C code could be unified as well, e.g. starting with a common enum and safe wrapper around the get_option() call. TEST=Did what-jenkins-does with and without this commit and compared binaries. Nothing changed for the default configurations. Change-Id: I61259f864c8a8cfc7099cc2699059f972fa056c0 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/29680 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/Kconfig54
-rw-r--r--src/mainboard/asrock/h81m-hds/Kconfig5
-rw-r--r--src/mainboard/asus/kcma-d8/Kconfig5
-rw-r--r--src/mainboard/asus/kfsn4-dre/Kconfig5
-rw-r--r--src/mainboard/asus/kgpe-d16/Kconfig5
-rw-r--r--src/mainboard/msi/ms9652_fam10/Kconfig5
-rw-r--r--src/mainboard/samsung/lumpy/Kconfig4
-rw-r--r--src/mainboard/samsung/stumpy/Kconfig4
8 files changed, 58 insertions, 29 deletions
diff --git a/src/mainboard/Kconfig b/src/mainboard/Kconfig
index 2de807026b..363df55da2 100644
--- a/src/mainboard/Kconfig
+++ b/src/mainboard/Kconfig
@@ -177,3 +177,57 @@ config ENABLE_POWER_BUTTON
config ENABLE_POWER_BUTTON
def_bool y if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_ENABLE
def_bool n if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_DISABLE
+
+config HAVE_POWER_STATE_AFTER_FAILURE
+ bool
+
+if HAVE_POWER_STATE_AFTER_FAILURE
+
+config HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE
+ bool
+
+config POWER_STATE_DEFAULT_ON_AFTER_FAILURE
+ bool
+ help
+ Selected by platforms or mainboards that want a "default on"
+ behaviour.
+
+choice
+ prompt "System Power State after Failure"
+ default POWER_STATE_ON_AFTER_FAILURE \
+ if POWER_STATE_DEFAULT_ON_AFTER_FAILURE
+ default POWER_STATE_OFF_AFTER_FAILURE
+ help
+ Provides a default for the power state the system should
+ go into after G3 (power loss). On many boards this can be
+ overridden by an NVRAM option.
+
+config POWER_STATE_OFF_AFTER_FAILURE
+ bool "S5 Soft Off"
+ help
+ Choose this option if you want to put system into
+ S5 after reapplying power after failure.
+
+config POWER_STATE_ON_AFTER_FAILURE
+ bool "S0 Full On"
+ help
+ Choose this option if you want to keep system in
+ S0 after reapplying power after failure.
+
+config POWER_STATE_PREVIOUS_AFTER_FAILURE
+ bool "Keep Previous State"
+ depends on HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE
+ help
+ Choose this option if you want to keep system in the
+ same power state as before failure after reapplying
+ power.
+
+endchoice
+
+config MAINBOARD_POWER_FAILURE_STATE
+ int
+ default 2 if POWER_STATE_PREVIOUS_AFTER_FAILURE
+ default 1 if POWER_STATE_ON_AFTER_FAILURE
+ default 0
+
+endif # HAVE_POWER_STATE_AFTER_FAILURE
diff --git a/src/mainboard/asrock/h81m-hds/Kconfig b/src/mainboard/asrock/h81m-hds/Kconfig
index 5299c21b03..55f163769f 100644
--- a/src/mainboard/asrock/h81m-hds/Kconfig
+++ b/src/mainboard/asrock/h81m-hds/Kconfig
@@ -64,11 +64,6 @@ config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
hex
default 0x1849
-# This is overridden if CMOS is used for configuration values.
-config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
- bool
- default n
-
config MAX_CPUS
int
default 8
diff --git a/src/mainboard/asus/kcma-d8/Kconfig b/src/mainboard/asus/kcma-d8/Kconfig
index 7d66707bee..1a2dd904e3 100644
--- a/src/mainboard/asus/kcma-d8/Kconfig
+++ b/src/mainboard/asus/kcma-d8/Kconfig
@@ -31,6 +31,7 @@ config BOARD_SPECIFIC_OPTIONS
select DRIVERS_I2C_W83795
select DRIVERS_ASPEED_AST2050
select MAINBOARD_FORCE_NATIVE_VGA_INIT
+ select POWER_STATE_DEFAULT_ON_AFTER_FAILURE
config MAINBOARD_DIR
string
@@ -89,10 +90,6 @@ config ONBOARD_VGA_IS_PRIMARY
bool
default y
-config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
- bool
- default y
-
config MAX_REBOOT_CNT
int
default 10
diff --git a/src/mainboard/asus/kfsn4-dre/Kconfig b/src/mainboard/asus/kfsn4-dre/Kconfig
index d81eb3a2ea..ff980807dd 100644
--- a/src/mainboard/asus/kfsn4-dre/Kconfig
+++ b/src/mainboard/asus/kfsn4-dre/Kconfig
@@ -19,6 +19,7 @@ config BOARD_SPECIFIC_OPTIONS
select ENABLE_APIC_EXT_ID
select DRIVERS_I2C_W83793
select DRIVERS_XGI_Z9S
+ select POWER_STATE_DEFAULT_ON_AFTER_FAILURE
config MAINBOARD_DIR
string
@@ -80,10 +81,6 @@ config ONBOARD_VGA_IS_PRIMARY
bool
default y
-config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
- bool
- default y
-
config MAX_REBOOT_CNT
int
default 10
diff --git a/src/mainboard/asus/kgpe-d16/Kconfig b/src/mainboard/asus/kgpe-d16/Kconfig
index efdade8eac..32c4dbc85a 100644
--- a/src/mainboard/asus/kgpe-d16/Kconfig
+++ b/src/mainboard/asus/kgpe-d16/Kconfig
@@ -32,6 +32,7 @@ config BOARD_SPECIFIC_OPTIONS
select DRIVERS_I2C_W83795
select DRIVERS_ASPEED_AST2050
select MAINBOARD_FORCE_NATIVE_VGA_INIT
+ select POWER_STATE_DEFAULT_ON_AFTER_FAILURE
config MAINBOARD_DIR
string
@@ -94,10 +95,6 @@ config VGA_BIOS_ID
string
default "1a03,2000"
-config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
- bool
- default y
-
config MAX_REBOOT_CNT
int
default 10
diff --git a/src/mainboard/msi/ms9652_fam10/Kconfig b/src/mainboard/msi/ms9652_fam10/Kconfig
index 29c1d40d2d..22f655a116 100644
--- a/src/mainboard/msi/ms9652_fam10/Kconfig
+++ b/src/mainboard/msi/ms9652_fam10/Kconfig
@@ -20,6 +20,7 @@ config BOARD_SPECIFIC_OPTIONS
select LIFT_BSP_APIC_ID
select IOAPIC
select SMP
+ select POWER_STATE_DEFAULT_ON_AFTER_FAILURE
config MAINBOARD_DIR
string
@@ -59,10 +60,6 @@ config DEFAULT_CONSOLE_LOGLEVEL
int
default 9
-config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
- bool
- default y
-
config USBDEBUG
bool
default n
diff --git a/src/mainboard/samsung/lumpy/Kconfig b/src/mainboard/samsung/lumpy/Kconfig
index 33ee21b651..fdfd763753 100644
--- a/src/mainboard/samsung/lumpy/Kconfig
+++ b/src/mainboard/samsung/lumpy/Kconfig
@@ -44,10 +44,6 @@ config VGA_BIOS_FILE
string
default "pci8086,0106.rom"
-config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
- bool
- default n
-
if EARLY_PCI_BRIDGE
config EARLY_PCI_BRIDGE_DEVICE
diff --git a/src/mainboard/samsung/stumpy/Kconfig b/src/mainboard/samsung/stumpy/Kconfig
index 2deed529bd..2fca957705 100644
--- a/src/mainboard/samsung/stumpy/Kconfig
+++ b/src/mainboard/samsung/stumpy/Kconfig
@@ -42,8 +42,4 @@ config VGA_BIOS_FILE
string
default "pci8086,0106.rom"
-config MAINBOARD_POWER_ON_AFTER_POWER_FAIL
- bool
- default n
-
endif # BOARD_SAMSUNG_STUMPY