Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7890
-gerrit
commit 309d3050d389576e51836c88d389957cade27a34
Author: Gabe Black <gabeblack(a)google.com>
Date: Wed Apr 30 21:37:14 2014 -0700
rtc: Add an RTC driver for the AS3722 PMIC.
The AS3722 PMIC, like many PMICs, has an RTC built into it. This change adds a
driver for it which implements the new RTC API.
BUG=None
TEST=Built and booted with the event log code modified to use this interface.
Verified that events had accurate timestamps.
BRANCH=nyan
Original-Change-Id: I400adccbf84221dcba8d520276bb91b389f72268
Original-Signed-off-by: Gabe Black <gabeblack(a)google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/197796
Original-Reviewed-by: Gabe Black <gabeblack(a)chromium.org>
Original-Tested-by: Gabe Black <gabeblack(a)chromium.org>
Original-Commit-Queue: Gabe Black <gabeblack(a)chromium.org>
(cherry picked from commit 011e49beba3a99abbd122866891e3c20bf1188d2)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Change-Id: Ibc1d342062c7853a30d195496c077e37a02b35b0
---
src/drivers/Kconfig | 1 +
src/drivers/Makefile.inc | 1 +
src/drivers/ams/Kconfig | 11 ++++++
src/drivers/ams/Makefile.inc | 1 +
src/drivers/ams/as3722rtc.c | 91 ++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 105 insertions(+)
diff --git a/src/drivers/Kconfig b/src/drivers/Kconfig
index 12f9a79..08de415 100644
--- a/src/drivers/Kconfig
+++ b/src/drivers/Kconfig
@@ -17,6 +17,7 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
+source src/drivers/ams/Kconfig
source src/drivers/ati/Kconfig
source src/drivers/dec/Kconfig
source src/drivers/elog/Kconfig
diff --git a/src/drivers/Makefile.inc b/src/drivers/Makefile.inc
index 7ae3eb2..151e3f7 100644
--- a/src/drivers/Makefile.inc
+++ b/src/drivers/Makefile.inc
@@ -17,6 +17,7 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
+subdirs-y += ams
subdirs-y += ati
subdirs-y += dec
subdirs-y += emulation
diff --git a/src/drivers/ams/Kconfig b/src/drivers/ams/Kconfig
new file mode 100644
index 0000000..44b89c5
--- /dev/null
+++ b/src/drivers/ams/Kconfig
@@ -0,0 +1,11 @@
+config DRIVERS_AS3722_RTC
+ bool "AS3722 RTC support"
+ default n
+
+config DRIVERS_AS3722_RTC_BUS
+ int "AS3722 RTC bus"
+ depends on DRIVERS_AS3722_RTC
+
+config DRIVERS_AS3722_RTC_ADDR
+ hex "AS3722 RTC chip address"
+ depends on DRIVERS_AS3722_RTC
diff --git a/src/drivers/ams/Makefile.inc b/src/drivers/ams/Makefile.inc
new file mode 100644
index 0000000..cf51831
--- /dev/null
+++ b/src/drivers/ams/Makefile.inc
@@ -0,0 +1 @@
+ramstage-$(CONFIG_DRIVERS_AS3722_RTC) += as3722rtc.c
diff --git a/src/drivers/ams/as3722rtc.c b/src/drivers/ams/as3722rtc.c
new file mode 100644
index 0000000..8fe5748
--- /dev/null
+++ b/src/drivers/ams/as3722rtc.c
@@ -0,0 +1,91 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2014 The Chromium OS Authors. All rights reserved.
+ *
+ * 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
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+ */
+
+#include <bcd.h>
+#include <console/console.h>
+#include <device/i2c.h>
+#include <rtc.h>
+#include <stdint.h>
+
+enum AS3722_RTC_REG
+{
+ AS3722_RTC_CONTROL = 0x60,
+ AS3722_RTC_SECOND = 0x61,
+ AS3722_RTC_MINUTE = 0x62,
+ AS3722_RTC_HOUR = 0x63,
+ AS3722_RTC_DAY = 0x64,
+ AS3722_RTC_MONTH = 0x65,
+ AS3722_RTC_YEAR = 0x66
+};
+
+enum {
+ AS3722_RTC_CONTROL_ON = 0x1 << 2
+};
+
+static uint8_t as3722_read(enum AS3722_RTC_REG reg)
+{
+ uint8_t val;
+ i2c_readb(CONFIG_DRIVERS_AS3722_RTC_BUS,
+ CONFIG_DRIVERS_AS3722_RTC_ADDR, reg, &val);
+ return val;
+}
+
+static void as3722_write(enum AS3722_RTC_REG reg, uint8_t val)
+{
+ i2c_writeb(CONFIG_DRIVERS_AS3722_RTC_BUS,
+ CONFIG_DRIVERS_AS3722_RTC_ADDR, reg, val);
+}
+
+static void as3722rtc_init(void)
+{
+ static int initialized;
+ if (initialized)
+ return;
+
+ uint8_t control = as3722_read(AS3722_RTC_CONTROL);
+ as3722_write(AS3722_RTC_CONTROL, control | AS3722_RTC_CONTROL_ON);
+
+ initialized = 1;
+}
+
+int rtc_set(const struct rtc_time *time)
+{
+ as3722rtc_init();
+
+ as3722_write(AS3722_RTC_SECOND, bin2bcd(time->sec));
+ as3722_write(AS3722_RTC_MINUTE, bin2bcd(time->min));
+ as3722_write(AS3722_RTC_HOUR, bin2bcd(time->hour));
+ as3722_write(AS3722_RTC_DAY, bin2bcd(time->mday));
+ as3722_write(AS3722_RTC_MONTH, bin2bcd(time->mon + 1));
+ as3722_write(AS3722_RTC_YEAR, bin2bcd(time->year));
+ return 0;
+}
+
+int rtc_get(struct rtc_time *time)
+{
+ as3722rtc_init();
+
+ time->sec = bcd2bin(as3722_read(AS3722_RTC_SECOND) & 0x7f);
+ time->min = bcd2bin(as3722_read(AS3722_RTC_MINUTE) & 0x7f);
+ time->hour = bcd2bin(as3722_read(AS3722_RTC_HOUR) & 0x3f);
+ time->mday = bcd2bin(as3722_read(AS3722_RTC_DAY) & 0x3f);
+ time->mon = bcd2bin(as3722_read(AS3722_RTC_MONTH) & 0x1f) - 1;
+ time->year = bcd2bin(as3722_read(AS3722_RTC_YEAR) & 0x7f);
+ return 0;
+}
Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7891
-gerrit
commit 618142df46ffea5685b153368311b65f4d146960
Author: Gabe Black <gabeblack(a)google.com>
Date: Wed Apr 30 21:41:23 2014 -0700
elog: Use the RTC driver interface instead of reading CMOS directly.
Use the RTC driver interface to find the timestamp for events instead of
reading the CMOS based RTC directly on x86 or punting on ARM. This makes
timestamps available on both architectures, assuming an RTC driver is
available.
BUG=None
TEST=Built and booted on nyan_big and link and verified that the timestamps
in the event log were accurate.
BRANCH=nyan
Original-Change-Id: Id45da53bc7ddfac8dd0978e7f2a3b8bc2c7ea753
Original-Signed-off-by: Gabe Black <gabeblack(a)google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/197798
Original-Reviewed-by: David Hendricks <dhendrix(a)chromium.org>
Original-Tested-by: Gabe Black <gabeblack(a)chromium.org>
Original-Commit-Queue: Gabe Black <gabeblack(a)chromium.org>
(cherry picked from commit 493b05e06dd461532c9366fb09025efb3568a975)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Change-Id: I4fad296ecfeff8987e4a18054661190239245f32
---
src/drivers/elog/elog.c | 25 +++++++++++--------------
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c
index 92d5af3..85198e2 100644
--- a/src/drivers/elog/elog.c
+++ b/src/drivers/elog/elog.c
@@ -25,6 +25,8 @@
#if CONFIG_ARCH_X86
#include <pc80/mc146818rtc.h>
#endif
+#include <bcd.h>
+#include <rtc.h>
#include <smbios.h>
#include <spi-generic.h>
#include <spi_flash.h>
@@ -637,20 +639,15 @@ int elog_init(void)
*/
static void elog_fill_timestamp(struct event_header *event)
{
-#if CONFIG_ARCH_X86
- event->second = cmos_read(RTC_CLK_SECOND);
- event->minute = cmos_read(RTC_CLK_MINUTE);
- event->hour = cmos_read(RTC_CLK_HOUR);
- event->day = cmos_read(RTC_CLK_DAYOFMONTH);
- event->month = cmos_read(RTC_CLK_MONTH);
- event->year = cmos_read(RTC_CLK_YEAR);
-#else
- /*
- * FIXME: We need to abstract the CMOS stuff on non-x86 platforms.
- * Until then, use bogus data here to force the values to 0.
- */
- event->month = 0xff;
-#endif
+ struct rtc_time time;
+
+ rtc_get(&time);
+ event->second = bin2bcd(time.sec);
+ event->minute = bin2bcd(time.min);
+ event->hour = bin2bcd(time.hour);
+ event->day = bin2bcd(time.mday);
+ event->month = bin2bcd(time.mon);
+ event->year = bin2bcd(time.year) & 0xff;
/* Basic sanity check of expected ranges */
if (event->month > 0x12 || event->day > 0x31 || event->hour > 0x23 ||
Marc Jones (marc.jones(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7889
-gerrit
commit 683b9d739854f90d5e8b1c6ce3fdfa84668fc6ff
Author: Marc Jones <marc.jones(a)se-eng.com>
Date: Mon Dec 29 21:31:44 2014 -0700
rtc: Add an RTC API, and implement it for x86.
This CL adds an API for RTC drivers, and implements its two functions,
rtc_get and rtc_set, for x86's RTC. The function which resets the clock when the
CMOS as lost state now uses the RTC driver instead of accessing the those
registers directly.
BUG=None
TEST=Built and booted on Link with the event log code modified to use
the RTC interface. Verified that the event times were accurate.
BRANCH=nyan
Original-Change-Id: Ifa807898e583254e57167fd44932ea86627a02ee
Original-Signed-off-by: Gabe Black <gabeblack(a)google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/197795
Original-Reviewed-by: David Hendricks <dhendrix(a)chromium.org>
Original-Tested-by: Gabe Black <gabeblack(a)chromium.org>
Original-Commit-Queue: Gabe Black <gabeblack(a)chromium.org>
This is the first half of the patch.
(cherry picked from commit 9e0fd75142d29afe34f6c6b9ce0099f478ca5a93)
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
Change-Id: I159f9b4872a0bb932961b4168b180c087dfb1883
---
src/drivers/pc80/Kconfig | 4 ++
src/drivers/pc80/Makefile.inc | 9 +++--
src/drivers/pc80/mc146818rtc.c | 87 ++++++++++++++++++++++++++++++++----------
src/include/bcd.h | 35 +++++++++++++++++
src/include/rtc.h | 37 ++++++++++++++++++
5 files changed, 149 insertions(+), 23 deletions(-)
diff --git a/src/drivers/pc80/Kconfig b/src/drivers/pc80/Kconfig
index 5fad3a5..f8ac5c5 100644
--- a/src/drivers/pc80/Kconfig
+++ b/src/drivers/pc80/Kconfig
@@ -22,3 +22,7 @@ config LPC_TPM
Enable this option to enable TPM support in coreboot.
If unsure, say N.
+
+config DRIVERS_MC146818
+ bool
+ default y if ARCH_X86
diff --git a/src/drivers/pc80/Makefile.inc b/src/drivers/pc80/Makefile.inc
index fe6d11f..1d28152 100644
--- a/src/drivers/pc80/Makefile.inc
+++ b/src/drivers/pc80/Makefile.inc
@@ -1,5 +1,5 @@
-romstage-y += mc146818rtc.c
-ramstage-y += mc146818rtc.c
+romstage-$(CONFIG_DRIVERS_MC146818) += mc146818rtc.c
+ramstage-$(CONFIG_DRIVERS_MC146818) += mc146818rtc.c
ramstage-y += isa-dma.c
ramstage-y += i8254.c
ramstage-y += i8259.c
@@ -7,7 +7,10 @@ ramstage-$(CONFIG_UDELAY_IO) += udelay_io.c
ramstage-y += keyboard.c
ramstage-$(CONFIG_SPKMODEM) += spkmodem.c
+ifeq ($(CONFIG_DRIVERS_MC146818),y)
romstage-$(CONFIG_USE_OPTION_TABLE) += mc146818rtc_early.c
+endif
+
romstage-$(CONFIG_LPC_TPM) += tpm.c
romstage-$(CONFIG_SPKMODEM) += spkmodem.c
@@ -17,4 +20,4 @@ cbfs-files-$(CONFIG_HAVE_CMOS_DEFAULT) += cmos.default
cmos.default-file = $(CONFIG_CMOS_DEFAULT_FILE):nvramtool
cmos.default-type = 0xaa
-smm-y += mc146818rtc.c
+smm-$(CONFIG_DRIVERS_MC146818) += mc146818rtc.c
diff --git a/src/drivers/pc80/mc146818rtc.c b/src/drivers/pc80/mc146818rtc.c
index 014a8c9..84abd43 100644
--- a/src/drivers/pc80/mc146818rtc.c
+++ b/src/drivers/pc80/mc146818rtc.c
@@ -1,28 +1,51 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2014 The Chromium OS Authors. All rights reserved.
+ *
+ * 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
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+ */
+
+#include <arch/acpi.h>
+#include <bcd.h>
#include <stdint.h>
#include <version.h>
#include <console/console.h>
#include <pc80/mc146818rtc.h>
#include <boot/coreboot_tables.h>
+#include <rtc.h>
#include <string.h>
#if CONFIG_USE_OPTION_TABLE
#include "option_table.h"
#include <cbfs.h>
#endif
-#include <arch/acpi.h>
-static void cmos_update_date(u8 has_century)
+static void cmos_reset_date(u8 has_century)
{
/* Now setup a default date equals to the build date */
- cmos_write(0, RTC_CLK_SECOND);
- cmos_write(0, RTC_CLK_MINUTE);
- cmos_write(1, RTC_CLK_HOUR);
- cmos_write(coreboot_build_date.weekday + 1, RTC_CLK_DAYOFWEEK);
- cmos_write(coreboot_build_date.day, RTC_CLK_DAYOFMONTH);
- cmos_write(coreboot_build_date.month, RTC_CLK_MONTH);
- cmos_write(coreboot_build_date.year, RTC_CLK_YEAR);
- if (has_century)
- cmos_write(coreboot_build_date.century, RTC_CLK_ALTCENTURY);
+ struct rtc_time time = {
+ .sec = 0,
+ .min = 0,
+ .hour = 1,
+ .mday = bcd2bin(coreboot_build_date.day),
+ .mon = bcd2bin(coreboot_build_date.month),
+ .year = (bcd2bin(coreboot_build_date.century) * 100) +
+ bcd2bin(coreboot_build_date.year),
+ .wday = bcd2bin(coreboot_build_date.weekday)
+ };
+ rtc_set(&time, has_century);
}
#if CONFIG_USE_OPTION_TABLE
@@ -50,15 +73,8 @@ static void cmos_set_checksum(int range_start, int range_end, int cks_loc)
}
#endif
-#if CONFIG_ARCH_X86
#define RTC_CONTROL_DEFAULT (RTC_24H)
#define RTC_FREQ_SELECT_DEFAULT (RTC_REF_CLCK_32KHZ | RTC_RATE_1024HZ)
-#else
-#if CONFIG_ARCH_ALPHA
-#define RTC_CONTROL_DEFAULT (RTC_SQWE | RTC_24H)
-#define RTC_FREQ_SELECT_DEFAULT (RTC_REF_CLCK_32KHZ | RTC_RATE_1024HZ)
-#endif
-#endif
#ifndef __SMM__
void cmos_init(int invalid)
@@ -107,7 +123,7 @@ void cmos_init(int invalid)
cmos_write(0, i);
#endif
if (cmos_invalid)
- cmos_update_date(RTC_HAS_NO_ALTCENTURY);
+ cmos_reset_date(RTC_HAS_NO_ALTCENTURY);
printk(BIOS_WARNING, "RTC:%s%s%s%s\n",
invalid?" Clear requested":"",
@@ -323,5 +339,36 @@ void cmos_check_update_date(u8 has_century)
* if the date is valid.
*/
if (century > 0x99 || year > 0x99) /* Invalid date */
- cmos_update_date(has_century);
+ cmos_reset_date(has_century);
+}
+
+int rtc_set(const struct rtc_time *time, u8 has_century)
+{
+ cmos_write(bin2bcd(time->sec), RTC_CLK_SECOND);
+ cmos_write(bin2bcd(time->min), RTC_CLK_MINUTE);
+ cmos_write(bin2bcd(time->hour), RTC_CLK_HOUR);
+ cmos_write(bin2bcd(time->mday), RTC_CLK_DAYOFMONTH);
+ cmos_write(bin2bcd(time->mon), RTC_CLK_MONTH);
+ cmos_write(bin2bcd(time->year % 100), RTC_CLK_YEAR);
+ if (has_century)
+ cmos_write(bin2bcd(time->year / 100),
+ RTC_CLK_ALTCENTURY);
+ cmos_write(bin2bcd(time->wday + 1), RTC_CLK_DAYOFWEEK);
+ return 0;
+}
+
+int rtc_get(struct rtc_time *time, u8 has_century)
+{
+ time->sec = bcd2bin(cmos_read(RTC_CLK_SECOND));
+ time->min = bcd2bin(cmos_read(RTC_CLK_MINUTE));
+ time->hour = bcd2bin(cmos_read(RTC_CLK_HOUR));
+ time->mday = bcd2bin(cmos_read(RTC_CLK_DAYOFMONTH));
+ time->mon = bcd2bin(cmos_read(RTC_CLK_MONTH));
+ time->year = bcd2bin(cmos_read(RTC_CLK_YEAR));
+ if (has_century)
+ time->year += bcd2bin(cmos_read(RTC_CLK_ALTCENTURY)) * 100;
+ else
+ time->year += 2000;
+ time->wday = bcd2bin(cmos_read(RTC_CLK_DAYOFWEEK)) - 1;
+ return 0;
}
diff --git a/src/include/bcd.h b/src/include/bcd.h
new file mode 100644
index 0000000..a085027
--- /dev/null
+++ b/src/include/bcd.h
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2014 Google, Inc.
+ *
+ * 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
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+ */
+
+#ifndef _BCD_H_
+#define _BCD_H_
+
+#include <stdint.h>
+
+static inline uint8_t bcd2bin(uint8_t val)
+{
+ return ((val >> 4) & 0xf) * 10 + (val & 0xf);
+}
+
+static inline uint8_t bin2bcd(uint8_t val)
+{
+ return ((val / 10) << 4) | (val % 10);
+}
+
+#endif /* _BCD_H_ */
diff --git a/src/include/rtc.h b/src/include/rtc.h
new file mode 100644
index 0000000..ed32b69
--- /dev/null
+++ b/src/include/rtc.h
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2014 Google, Inc.
+ *
+ * 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
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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
+ */
+
+#ifndef _RTC_H_
+#define _RTC_H_
+
+struct rtc_time
+{
+ int sec;
+ int min;
+ int hour;
+ int mday;
+ int mon;
+ int year;
+ int wday;
+};
+
+int rtc_set(const struct rtc_time *time, u8 has_century);
+int rtc_get(struct rtc_time *time, u8 has_century);
+
+#endif /* _RTC_H_ */
the following patch was just integrated into master:
commit 773485b8920145443da8b09712553c10c954fed1
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Mon Dec 22 16:33:24 2014 +0200
intel CAR: Fix DCACHE_RAM_BASE for old sockets
When using fixed MTRRs for CAR setup, CONFIG_DCACHE_RAM_BASE is ignored
and was not correctly set on affected sockets and boards. It was still
referenced in romstage linker script. This was discovered by clang builds
failing for cases where DCACHE_RAM_BASE = 0, while gcc builds passed.
The actual DCACHE_RAM_BASE programming is base = 0xd0000 - size, as taken
from intel/cpu/cache_as_ram.inc.
Change-Id: Ied5ab2e9683f12990f1aad48ee15eaf91133121c
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/7887
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
See http://review.coreboot.org/7887 for details.
-gerrit
the following patch was just integrated into master:
commit 2b9814629b4b7d96340033fc38c5003e6a8db93e
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Mon Dec 29 11:31:59 2014 +0200
Intel FSP: Fix GPI status output
Propagate commit 07c3fc089 to Intel FSP.
Change-Id: Ie3e05df7fc06cb0ed6142edfedafab0cde74a68c
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/7966
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
See http://review.coreboot.org/7966 for details.
-gerrit