aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake/smihandler.c
diff options
context:
space:
mode:
authorSubrata Banik <subrata.banik@intel.com>2017-12-19 10:27:45 +0530
committerSubrata Banik <subrata.banik@intel.com>2017-12-21 03:48:13 +0000
commit7f4ec968695e918da49fc9b9163188188b71f05b (patch)
tree7a6ad392a585451eec8086562cea9fa44e06a5e6 /src/soc/intel/skylake/smihandler.c
parent9b98febe7a9126ab4a323c8eeedb1427e959f7d9 (diff)
soc/intel/skylake: Implement pmc_soc_restore_power_failure as per EDS
TEST=KBL_RVP is able to power on after reconnecting power supply. Change-Id: Ic707164a576ffb25418eb6553843cd8edc608800 Signed-off-by: Subrata Banik <subrata.banik@intel.com> Reviewed-on: https://review.coreboot.org/22839 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/soc/intel/skylake/smihandler.c')
-rw-r--r--src/soc/intel/skylake/smihandler.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/src/soc/intel/skylake/smihandler.c b/src/soc/intel/skylake/smihandler.c
index 211432cd35..9ec6b87ca6 100644
--- a/src/soc/intel/skylake/smihandler.c
+++ b/src/soc/intel/skylake/smihandler.c
@@ -120,21 +120,10 @@ static void busmaster_disable_on_bus(int bus)
}
}
-
static void southbridge_smi_sleep(void)
{
- u8 reg8;
u32 reg32;
u8 slp_typ;
- 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 */
pmc_disable_smi(SLP_SMI_EN);
@@ -173,21 +162,10 @@ static void southbridge_smi_sleep(void)
break;
case ACPI_S5:
printk(BIOS_DEBUG, "SMI#: Entering S5 (Soft Power off)\n");
- /*TODO: cmos_layout.bin need to verify; cause wrong CMOS setup*/
- s5pwr = MAINBOARD_POWER_ON;
/* Disable all GPE */
pmc_disable_all_gpe();
- /*
- * Always set the flag in case CMOS was changed on runtime. For
- * "KEEP", switch to "OFF" - KEEP is software emulated
- */
- reg8 = pci_read_config8(PCH_DEV_PMC, GEN_PMCON_B);
- if (s5pwr == MAINBOARD_POWER_ON)
- reg8 &= ~1;
- else
- reg8 |= 1;
- pci_write_config8(PCH_DEV_PMC, GEN_PMCON_B, reg8);
+ pmc_soc_restore_power_failure();
/* also iterates over all bridges on bus 0 */
busmaster_disable_on_bus(0);