diff options
author | Peter Stuge <peter@stuge.se> | 2010-10-13 06:23:02 +0000 |
---|---|---|
committer | Peter Stuge <peter@stuge.se> | 2010-10-13 06:23:02 +0000 |
commit | 51eafdeae621f1b04db51c3b4a690fa993aa48a0 (patch) | |
tree | e36ad669d05eecf00ce5826f8fb3fad8409ebec7 /src/southbridge/amd/cs5536 | |
parent | f2573bd23727db672b22f3840ce91d08ec3aea5d (diff) |
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
Diffstat (limited to 'src/southbridge/amd/cs5536')
-rw-r--r-- | src/southbridge/amd/cs5536/cs5536_early_setup.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/southbridge/amd/cs5536/cs5536_early_setup.c b/src/southbridge/amd/cs5536/cs5536_early_setup.c index 452e530f41..047c1a21a0 100644 --- a/src/southbridge/amd/cs5536/cs5536_early_setup.c +++ b/src/southbridge/amd/cs5536/cs5536_early_setup.c @@ -92,8 +92,9 @@ static void cs5536_setup_iobase(void) static void cs5536_setup_power_button(void) { - /* Power Button Setup */ +#if CONFIG_ENABLE_POWER_BUTTON outl(0x40020000, PMS_IO_BASE + 0x40); +#endif /* setup WORK_AUX/GPIO24, it is the external signal for 5536 * vsb_work_aux controls all voltage rails except Vstandby & Vmem. |