Enable or disable the power button in Kconfig
authorPeter Stuge <peter@stuge.se>
Wed, 13 Oct 2010 06:23:02 +0000 (06:23 +0000)
committerPeter Stuge <peter@stuge.se>
Wed, 13 Oct 2010 06:23:02 +0000 (06:23 +0000)
commit51eafdeae621f1b04db51c3b4a690fa993aa48a0
treee36ad669d05eecf00ce5826f8fb3fad8409ebec7
parentf2573bd23727db672b22f3840ce91d08ec3aea5d
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
21 files changed:
src/Kconfig
src/mainboard/Kconfig
src/mainboard/amd/db800/Kconfig
src/mainboard/amd/norwich/Kconfig
src/mainboard/amd/rumba/Kconfig
src/mainboard/artecgroup/dbe61/Kconfig
src/mainboard/digitallogic/msm800sev/Kconfig
src/mainboard/iei/pcisa-lx-800-r10/Kconfig
src/mainboard/lippert/hurricane-lx/Kconfig
src/mainboard/lippert/hurricane-lx/romstage.c
src/mainboard/lippert/literunner-lx/Kconfig
src/mainboard/lippert/roadrunner-lx/Kconfig
src/mainboard/lippert/spacerunner-lx/Kconfig
src/mainboard/pcengines/alix1c/Kconfig
src/mainboard/pcengines/alix2d/Kconfig
src/mainboard/pcengines/alix2d/romstage.c
src/mainboard/traverse/geos/Kconfig
src/mainboard/winent/pl6064/Kconfig
src/mainboard/wyse/s50/Kconfig
src/mainboard/wyse/s50/romstage.c
src/southbridge/amd/cs5536/cs5536_early_setup.c