Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1327
-gerrit
commit 9befba2ae7ce00e230d563622d9460be635247b3
Author: Marc Jones <marc.jones(a)se-eng.com>
Date: Mon Jul 2 22:31:22 2012 -0600
Add BAR address debug information to Oxford PCIe serial driver
The Oxford PCIE Serial card has a hardcoded address at setup,
which may be moved during PCI Init. The driver re-initializes
after PCI init. Add a debug print for the new BAR address.
Initializing Oxford OXPCIe952
OXPCIe952: Class=70002 Revision ID=0
OXPCIe952: 2 UARTs detected.
OXPCIe952: Uart Bar: 0xe0800000
Change-Id: I1858d3eba09749cba3c3869060d00e621dca112a
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
---
src/drivers/oxford/oxpcie/oxpcie.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/drivers/oxford/oxpcie/oxpcie.c b/src/drivers/oxford/oxpcie/oxpcie.c
index 8afdd1f..5ce4f62 100644
--- a/src/drivers/oxford/oxpcie/oxpcie.c
+++ b/src/drivers/oxford/oxpcie/oxpcie.c
@@ -38,6 +38,7 @@ static void oxford_oxpcie_enable(device_t dev)
(read32(res->base) >> 8), (read32(res->base) & 0xff));
printk(BIOS_DEBUG, "OXPCIe952: %d UARTs detected.\n",
(read32(res->base + 4) & 3));
+ printk(BIOS_DEBUG, "OXPCIe952: UART BAR: 0x%x\n", (u32)res->base);
}
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1326
-gerrit
commit 0e8fa37a7a349594407a367bf45d42d2af4a7f55
Author: Marc Jones <marc.jones(a)se-eng.com>
Date: Fri Jun 15 23:03:15 2012 -0600
Add PCIe port disable debug message
The PCIe device enable function prints when it disables a device.
The PCIe ports(bridges) use a different routine that didn't print
the message. Add it to be consistent and to provide better debug
output.
Change-Id: I8462c48e7f4930db68703f0bfb710c01c9643a98
Signed-off-by: Marc Jones <marc.jones(a)se-eng.com>
---
src/southbridge/intel/bd82x6x/pch.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/southbridge/intel/bd82x6x/pch.c b/src/southbridge/intel/bd82x6x/pch.c
index 0913e1d..3c448de 100644
--- a/src/southbridge/intel/bd82x6x/pch.c
+++ b/src/southbridge/intel/bd82x6x/pch.c
@@ -297,6 +297,8 @@ static void pch_pcie_enable(device_t dev)
}
if (!dev->enabled) {
+ printk(BIOS_DEBUG, "%s: Disabling device\n", dev_path(dev));
+
/*
* PCIE Power Savings for PantherPoint and CougarPoint/B1+
*
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1325
-gerrit
commit 2c987a68e57477fadd78c4d1e73469d9447fde53
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Mon Jun 25 14:12:58 2012 -0700
Make MAX_PHYSICAL_CPUS invisible on non-AMD boards
It's only used on AMD based boards. Hence drop it, so we don't
accidently start using it by mistake instead of MAX_CPUS
Change-Id: Id8f522f24283129874d56e70bd00df92abe9c3cf
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
---
src/cpu/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/cpu/Kconfig b/src/cpu/Kconfig
index 5196e1a..f37bbf6 100644
--- a/src/cpu/Kconfig
+++ b/src/cpu/Kconfig
@@ -23,6 +23,7 @@ config DCACHE_RAM_GLOBAL_VAR_SIZE
# yet be dropped completely.
config MAX_PHYSICAL_CPUS
int
+ depends on CPU_AMD_MODEL_10XXX || CPU_AMD_MODEL_FXX || CPU_AMD_AGESA
default 1
config SMP
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1324
-gerrit
commit 94a72631f7e6882633773210e225f56bef4ff354
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Thu Jun 28 12:22:28 2012 -0700
bd82x6x: 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.
Modelled after http://review.coreboot.org/#/c/443 to get bd82x6x in
sync.
Change-Id: I36d715310157b9f9074f2a1c80710f85833020b4
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
---
src/southbridge/intel/bd82x6x/smihandler.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/southbridge/intel/bd82x6x/smihandler.c b/src/southbridge/intel/bd82x6x/smihandler.c
index 29f1a1e..da5b52b 100644
--- a/src/southbridge/intel/bd82x6x/smihandler.c
+++ b/src/southbridge/intel/bd82x6x/smihandler.c
@@ -29,6 +29,7 @@
#include <device/pci_def.h>
#include <cpu/x86/smm.h>
#include <elog.h>
+#include <pc80/mc146818rtc.h>
#include "pch.h"
#include "nvs.h"
@@ -324,11 +325,16 @@ static void southbridge_smi_sleep(unsigned int node, smm_state_save_area_t *stat
u8 reg8;
u32 reg32;
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;
+
+ // 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);
+
void (*mainboard_sleep)(u8 slp_typ) = mainboard_smi_sleep;
/* First, disable further SMIs */
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1323
-gerrit
commit b933096316ccc00d7801f06b0e68604bdfaad002
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Thu Jun 28 12:18:41 2012 -0700
bd82x6x: Support power-on-after-power-fail better
Changing CMOS value for power-on-after-power-fail was only honored
after reboot, which is counter intuitive (set from "enable" to
"disable",
power-off, replug device -> device turns on; and similar cases).
Modelled after http://review.coreboot.org/#/c/444
Change-Id: I2b8461dff1ae085c1ea4b4926084268b4da90321
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
---
src/southbridge/intel/bd82x6x/smihandler.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/southbridge/intel/bd82x6x/smihandler.c b/src/southbridge/intel/bd82x6x/smihandler.c
index 3716bf1..29f1a1e 100644
--- a/src/southbridge/intel/bd82x6x/smihandler.c
+++ b/src/southbridge/intel/bd82x6x/smihandler.c
@@ -373,16 +373,16 @@ static void southbridge_smi_sleep(unsigned int node, smm_state_save_area_t *stat
outl(0, pmbase + GPE0_EN);
- /* Should we keep the power state after a power loss?
- * In case the setting is "ON" or "OFF" we don't have
- * to do anything. But if it's "KEEP" we have to switch
- * to "OFF" before entering S5.
+ /* Always set the flag in case CMOS was changed on runtime. For
+ * "KEEP", switch to "OFF" - KEEP is software emulated
*/
- if (s5pwr == MAINBOARD_POWER_KEEP) {
- reg8 = pcie_read_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3);
+ reg8 = pcie_read_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3);
+ if (s5pwr == MAINBOARD_POWER_ON) {
+ reg8 &= ~1;
+ } else {
reg8 |= 1;
- pcie_write_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3, reg8);
}
+ pcie_write_config8(PCI_DEV(0, 0x1f, 0), GEN_PMCON_3, reg8);
/* also iterates over all bridges on bus 0 */
busmaster_disable_on_bus(0);
the following patch was just integrated into master:
commit 32c4db41bfa7a53adfbfcc2a4f1d4baf124c70fc
Author: Ronald G. Minnich <rminnich(a)chromium.org>
Date: Thu May 31 16:02:26 2012 -0700
Make memalign print useful messages on failure
Brevity is the soul of wit, except for error messages;
then it's a sign of witlessness. I can say this because
this error message may be my fault, although it is lost
in the 20th century code base so who knows.
Anyway, when memalign dies, it's not a bad idea to have
a lot of information about what went wrong. So instead
of the terse single bit of "something failed" this patch
changes things to be a bit more useful.
Change-Id: I8851502297e0ae9773912839ebfdf4f9574c8087
Signed-off-by: Ronald G. Minnich <rminnich(a)chromium.org>
Build-Tested: build bot (Jenkins) at Tue Jul 24 00:22:34 2012, giving +1
See http://review.coreboot.org/1270 for details.
-gerrit
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1321
-gerrit
commit 7a33471cb4802513b5349967fd5f328a9f491b13
Author: Duncan Laurie <dlaurie(a)chromium.org>
Date: Sat Jun 23 17:33:30 2012 -0700
ELOG: Log events for Chrome OS developer/recovery mode
If a Chrome OS device is in developer mode log an event.
When the device is in recovery mode also log an event
and provide the recovery reason.
Enable developer mode and trigger recovery mode and
verify that the events are logged:
238 | 2012-06-23 17:31:56 | Chrome OS Developer Mode
239 | 2012-06-23 17:31:56 | Chrome OS Recovery Mode | User Requested from Developer Screen
Change-Id: I14d41f44e04fd91340569617c7314da7e35a154f
Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
---
src/vendorcode/google/chromeos/gnvs.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/src/vendorcode/google/chromeos/gnvs.c b/src/vendorcode/google/chromeos/gnvs.c
index aaca95a..c8ccfe4 100644
--- a/src/vendorcode/google/chromeos/gnvs.c
+++ b/src/vendorcode/google/chromeos/gnvs.c
@@ -21,6 +21,9 @@
#include <string.h>
#include <cbfs.h>
#include <console/console.h>
+#include <elog.h>
+
+#include "chromeos.h"
#include "gnvs.h"
chromeos_acpi_t *vboot_data = NULL;
@@ -32,6 +35,14 @@ void chromeos_init_vboot(chromeos_acpi_t *chromeos)
/* Copy saved ME hash into NVS */
memcpy(vboot_data->mehh, me_hash_saved, sizeof(vboot_data->mehh));
+
+#if CONFIG_ELOG
+ if (developer_mode_enabled())
+ elog_add_event(ELOG_TYPE_CROS_DEVELOPER_MODE);
+ if (recovery_mode_enabled())
+ elog_add_event_byte(ELOG_TYPE_CROS_RECOVERY_MODE,
+ get_recovery_mode_from_vbnv());
+#endif
}
void chromeos_set_me_hash(u32 *hash, int len)
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1320
-gerrit
commit 85c8a36b7d8c2a838fb275eeaa02d60e080e941e
Author: Duncan Laurie <dlaurie(a)chromium.org>
Date: Sat Jun 23 17:30:19 2012 -0700
ELOG: Log run-time SMI southbridge events
Events are logged for SMIs that trigger ACPI sleeps state
entry and when the power button press triggers an SMI such
as at the developer/recovery screens.
Generate ACPI sleep state events and power button
events and verify they show up in the log:
153 | 2012-06-23 17:12:59 | ACPI Enter | S5
184 | 2012-06-23 17:15:50 | ACPI Enter | S3
216 | 2012-06-23 17:28:58 | Power Button
Change-Id: Iba134d619780e459bce189d36d57844997ffb009
Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
---
src/southbridge/intel/bd82x6x/smihandler.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/southbridge/intel/bd82x6x/smihandler.c b/src/southbridge/intel/bd82x6x/smihandler.c
index 715a82f..3716bf1 100644
--- a/src/southbridge/intel/bd82x6x/smihandler.c
+++ b/src/southbridge/intel/bd82x6x/smihandler.c
@@ -346,6 +346,12 @@ static void southbridge_smi_sleep(unsigned int node, smm_state_save_area_t *stat
if (mainboard_sleep)
mainboard_sleep(slp_typ);
+#if CONFIG_ELOG_GSMI
+ /* Log S3, S4, and S5 entry */
+ if (slp_typ >= 5)
+ elog_add_event_byte(ELOG_TYPE_ACPI_ENTER, slp_typ-2);
+#endif
+
/* Next, do the deed.
*/
@@ -526,6 +532,9 @@ static void southbridge_smi_pm1(unsigned int node, smm_state_save_area_t *state_
// power button pressed
u32 reg32;
reg32 = (7 << 10) | (1 << 13);
+#if CONFIG_ELOG_GSMI
+ elog_add_event(ELOG_TYPE_POWER_BUTTON);
+#endif
outl(reg32, pmbase + PM1_CNT);
}
}