i82801gx: Use CMOS variable if available for power-on on power failure
We used a hard coded value for some reason. Don't do that, but use CMOS instead. Change-Id: Ib83aa07a3e55bed075150354a060317ebc9d5ba7 Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com> Reviewed-on: http://review.coreboot.org/443 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
5161509132
commit
c07466b287
|
@ -279,12 +279,16 @@ static void southbridge_smi_sleep(unsigned int node, smm_state_save_area_t *stat
|
||||||
u8 reg8;
|
u8 reg8;
|
||||||
u32 reg32;
|
u32 reg32;
|
||||||
u8 slp_typ;
|
u8 slp_typ;
|
||||||
/* FIXME: the power state on boot should be read from
|
|
||||||
* CMOS or even better from GNVS. Right now it's hard
|
|
||||||
* coded at compile time.
|
|
||||||
*/
|
|
||||||
u8 s5pwr = CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL;
|
u8 s5pwr = CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL;
|
||||||
|
|
||||||
|
// save and recover RTC port values
|
||||||
|
u8 tmp70, tmp72;
|
||||||
|
tmp70 = inb(0x70);
|
||||||
|
tmp72 = inb(0x72);
|
||||||
|
get_option(&s5pwr, "power_on_after_fail");
|
||||||
|
outb(tmp70, 0x70);
|
||||||
|
outb(tmp72, 0x72);
|
||||||
|
|
||||||
/* First, disable further SMIs */
|
/* First, disable further SMIs */
|
||||||
reg8 = inb(pmbase + SMI_EN);
|
reg8 = inb(pmbase + SMI_EN);
|
||||||
reg8 &= ~SLP_SMI_EN;
|
reg8 &= ~SLP_SMI_EN;
|
||||||
|
|
Loading…
Reference in New Issue