aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake/elog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/skylake/elog.c')
-rw-r--r--src/soc/intel/skylake/elog.c36
1 files changed, 12 insertions, 24 deletions
diff --git a/src/soc/intel/skylake/elog.c b/src/soc/intel/skylake/elog.c
index 8cbc3e70b6..3ae0890c33 100644
--- a/src/soc/intel/skylake/elog.c
+++ b/src/soc/intel/skylake/elog.c
@@ -2,6 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2014 Google Inc.
+ * Copyright (C) 2015 Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,7 +15,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * Foundation, Inc.
*/
#include <bootstate.h>
@@ -22,8 +23,8 @@
#include <console/console.h>
#include <stdint.h>
#include <elog.h>
-#include <soc/lpc.h>
#include <soc/pm.h>
+#include <soc/pmc.h>
static void pch_log_gpio_gpe(u32 gpe0_sts, u32 gpe0_en, int start)
{
@@ -75,26 +76,17 @@ static void pch_log_wake_source(struct chipset_power_state *ps)
static void pch_log_power_and_resets(struct chipset_power_state *ps)
{
- /* Thermal Trip Status */
- if (ps->gen_pmcon2 & THERMTRIP_STS)
- elog_add_event(ELOG_TYPE_THERM_TRIP);
+ /* TODO: Thermal Trip Status. There is a thermal device and
+ * other status registers. */
/* PWR_FLR Power Failure */
- if (ps->gen_pmcon2 & PWROK_FLR)
+ if (ps->gen_pmcon_b & PWR_FLR)
elog_add_event(ELOG_TYPE_POWER_FAIL);
/* SUS Well Power Failure */
- if (ps->gen_pmcon3 & SUS_PWR_FLR)
+ if (ps->gen_pmcon_b & SUS_PWR_FLR)
elog_add_event(ELOG_TYPE_SUS_POWER_FAIL);
- /* SYS_PWROK Failure */
- if (ps->gen_pmcon2 & SYSPWR_FLR)
- elog_add_event(ELOG_TYPE_SYS_PWROK_FAIL);
-
- /* PWROK Failure */
- if (ps->gen_pmcon2 & PWROK_FLR)
- elog_add_event(ELOG_TYPE_PWROK_FAIL);
-
/* TCO Timeout */
if (ps->prev_sleep_state != 3 &&
ps->tco2_sts & TCO2_STS_SECOND_TO)
@@ -105,15 +97,11 @@ static void pch_log_power_and_resets(struct chipset_power_state *ps)
elog_add_event(ELOG_TYPE_POWER_BUTTON_OVERRIDE);
/* RTC reset */
- if (ps->gen_pmcon3 & RTC_BATTERY_DEAD)
+ if (ps->gen_pmcon_b & RTC_BATTERY_DEAD)
elog_add_event(ELOG_TYPE_RTC_RESET);
- /* System Reset Status (reset button pushed) */
- if (ps->gen_pmcon2 & SYSTEM_RESET_STS)
- elog_add_event(ELOG_TYPE_RESET_BUTTON);
-
- /* General Reset Status */
- if (ps->gen_pmcon3 & GEN_RST_STS)
+ /* Host Reset Status */
+ if (ps->gen_pmcon_b & HOST_RST_STS)
elog_add_event(ELOG_TYPE_SYSTEM_RESET);
/* ACPI Wake Event */
@@ -126,8 +114,8 @@ static void pch_log_state(void *unused)
struct chipset_power_state *ps = cbmem_find(CBMEM_ID_POWER_STATE);
if (ps == NULL) {
- printk(BIOS_ERR, "Not logging power state information. "
- "Power state not found in cbmem.\n");
+ printk(BIOS_ERR,
+ "Not logging power state information. Power state not found in cbmem.\n");
return;
}