Enable or disable the power button in Kconfig
Some mainboards need to disable the power button to avoid turning off right after being turned on, while other boards ship with a jumper over the power button and should allow the user to configure the behavior. This adds infrastructure in the form of four mutually exclusive options which can be selected in a mainboard Kconfig (power button forced on/off, and user-controllable with default on/off) and one result bool which source code can test. (Enable the button or not.) The options have been implemented in CS5536 code and for all mainboards which select SOUTHBRIDGE_AMD_CS5536, but should be used also by other chipsets where applicable. Note that if chipset code uses the result bool ENABLE_POWER_BUTTON, then every board using that chipset must select one out of the four control options in order to build. All touched boards should have unchanged behavior, except pcengines/alix1c, traverse/geos and lippert/hurricane-lx where the power button can now be configured by the user. Build tested for alix1c, alix2d, hurricane-lx and wyse-s50. Confirmed to work as advertised on alix1c both with button enabled and disabled. Includes additional traverse/geos changes from Nathan and lippert/hurricane-lx changes from Jens to correctly use the new feature on those boards. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Aurelien Guillaume <aurelien@iwi.me> Acked-by: Nils Jacobs <njacobs8@hetnet.nl> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5948 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
39
src/Kconfig
39
src/Kconfig
@@ -736,4 +736,43 @@ config ID_SECTION_OFFSET
|
||||
hex
|
||||
default 0x10
|
||||
|
||||
# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
|
||||
# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
|
||||
# mutually exclusive. One of these options must be selected in the
|
||||
# mainboard Kconfig if the chipset supports enabling and disabling of
|
||||
# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
|
||||
# in mainboard/Kconfig to know if the button should be enabled or not.
|
||||
|
||||
config POWER_BUTTON_DEFAULT_ENABLE
|
||||
def_bool n
|
||||
help
|
||||
Select when the board has a power button which can optionally be
|
||||
disabled by the user.
|
||||
|
||||
config POWER_BUTTON_DEFAULT_DISABLE
|
||||
def_bool n
|
||||
help
|
||||
Select when the board has a power button which can optionally be
|
||||
enabled by the user, e.g. when the board ships with a jumper over
|
||||
the power switch contacts.
|
||||
|
||||
config POWER_BUTTON_FORCE_ENABLE
|
||||
def_bool n
|
||||
help
|
||||
Select when the board requires that the power button is always
|
||||
enabled.
|
||||
|
||||
config POWER_BUTTON_FORCE_DISABLE
|
||||
def_bool n
|
||||
help
|
||||
Select when the board requires that the power button is always
|
||||
disabled, e.g. when it has been hardwired to ground.
|
||||
|
||||
config POWER_BUTTON_IS_OPTIONAL
|
||||
bool
|
||||
default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
|
||||
default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
|
||||
help
|
||||
Internal option that controls ENABLE_POWER_BUTTON visibility.
|
||||
|
||||
source src/Kconfig.deprecated_options
|
||||
|
Reference in New Issue
Block a user