the following patch was just integrated into master:
commit c65001fcda55758d3be1f8bc0571672263f9ab57
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Wed Jun 19 10:41:18 2013 +0300
Fix CBMEM console use with CAR_MIGRATION
With EARLY_CBMEM_INIT and CAR_MIGRATION selected, cbmemc_reinit()
was called twice during romstage. This effectively deleted output
of romstage in CBMEM console.
Change-Id: I21072a319c0e4a5f695b0573bc017bf7921fc663
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/3609
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin(a)google.com>
See http://review.coreboot.org/3609 for details.
-gerrit
Christoph Grenz (christophg+cb(a)grenz-bonn.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2942
-gerrit
commit 493451ace545b1ccaa51e9c4b3776cfc533dbc88
Author: Christoph Grenz <christophg+cb(a)grenz-bonn.de>
Date: Sat Jul 6 17:09:39 2013 +0200
w83627hf/acpi: Make `AddressMax` a multiple of `AddressAlignment`
The parallel port of the W83627HF can be configured on any port
between 0x100 and 0xFFC with 4 byte alignment for traditional modes
and 8 byte alignment for EPP mode. As the ACPI specification says
that the maximum acceptable starting address has to be a multiple
of the alignment granularity, correct the maximum starting address
from 0xFFC to 0xFF8.
Change-Id: I272e09d091149791f2867b1d06e4fc27bc1bb2cd
Signed-off-by: Christoph Grenz <christophg+cb(a)grenz-bonn.de>
---
src/superio/winbond/w83627hf/acpi/superio.asl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/superio/winbond/w83627hf/acpi/superio.asl b/src/superio/winbond/w83627hf/acpi/superio.asl
index 05b570b..8f68c70 100644
--- a/src/superio/winbond/w83627hf/acpi/superio.asl
+++ b/src/superio/winbond/w83627hf/acpi/superio.asl
@@ -564,7 +564,7 @@ Device(SIO) {
/* Any configurable address (EPP mode) */
StartDependentFn (2,0)
{
- IO (Decode16, 0x0100, 0x0FFC, 0x08, 0x08)
+ IO (Decode16, 0x0100, 0x0FF8, 0x08, 0x08)
IRQNoFlags () {3,4,5,7,9,10,11,12}
}
/* Any configurable address (No EPP mode) */
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3735
-gerrit
commit eb049fe0d3e55eac13d421fb67294eae76bea075
Author: Peter Stuge <peter(a)stuge.se>
Date: Tue Jul 9 20:17:28 2013 +0200
lenovo/t60 lenovo/x60: Default SEABIOS_PS2_TIMEOUT to 3 seconds
The ThinkPad keyboard controller sometimes needs a while in order
to initialize, so let's ask SeaBIOS to wait for it.
This change ensures that the internal keyboard always functions
correctly on the ThinkPad when coreboot is built with SeaBIOS as
payload.
Change-Id: I562475ec98b0c1f5d0debf6e9b597748a420f068
Signed-off-by: Peter Stuge <peter(a)stuge.se>
---
src/mainboard/lenovo/t60/Kconfig | 4 ++++
src/mainboard/lenovo/x60/Kconfig | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/src/mainboard/lenovo/t60/Kconfig b/src/mainboard/lenovo/t60/Kconfig
index e5d17b8..0f0670e 100644
--- a/src/mainboard/lenovo/t60/Kconfig
+++ b/src/mainboard/lenovo/t60/Kconfig
@@ -54,4 +54,8 @@ config MAINBOARD_SMBIOS_MANUFACTURER
string
default "LENOVO"
+config SEABIOS_PS2_TIMEOUT
+ int
+ default 3000
+
endif
diff --git a/src/mainboard/lenovo/x60/Kconfig b/src/mainboard/lenovo/x60/Kconfig
index 1a765fb..72aeef8 100644
--- a/src/mainboard/lenovo/x60/Kconfig
+++ b/src/mainboard/lenovo/x60/Kconfig
@@ -58,4 +58,8 @@ config MAINBOARD_SMBIOS_MANUFACTURER
string
default "LENOVO"
+config SEABIOS_PS2_TIMEOUT
+ int
+ default 3000
+
endif
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3734
-gerrit
commit cfd888d855d44f79714cd7bd1d90262e7e75d937
Author: Peter Stuge <peter(a)stuge.se>
Date: Tue Jul 9 19:43:09 2013 +0200
payload/SeaBIOS: Add SEABIOS_PS2_TIMEOUT Kconfig variable
This allows mainboards to preconfigure a ps2-keyboard-spinup
timeout when SeaBIOS is chosen as the payload.
The Kconfig option can be changed manually if CONFIG_EXPERT is set.
Change-Id: I5732b18ef04f4bdef6236f35039656ad02011aec
Signed-off-by: Peter Stuge <peter(a)stuge.se>
---
src/Kconfig | 9 +++++++++
src/arch/x86/Makefile.inc | 6 ++++++
2 files changed, 15 insertions(+)
diff --git a/src/Kconfig b/src/Kconfig
index fdf40e5..e3b2728 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -572,6 +572,15 @@ config SEABIOS_MASTER
Newest SeaBIOS version
endchoice
+config SEABIOS_PS2_TIMEOUT
+ prompt "PS/2 keyboard controller initialization timeout (milliseconds)" if PAYLOAD_SEABIOS
+ depends on EXPERT
+ int
+ help
+ Some PS/2 keyboard controllers don't respond to commands immediately
+ after powering on. This specifies how long SeaBIOS will wait for the
+ keyboard controller to become ready before giving up.
+
choice
prompt "FILO version"
default FILO_STABLE
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 7f1b7b2..0989adf 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -87,6 +87,12 @@ endif
ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
@printf " PAYLOAD SeaBIOS (internal, compression: $(CBFS_PAYLOAD_COMPRESS_FLAG))\n"
$(CBFSTOOL) $@.tmp add-payload -f $(CONFIG_PAYLOAD_FILE) -n $(CONFIG_CBFS_PREFIX)/payload -c $(CBFS_PAYLOAD_COMPRESS_FLAG)
+ifneq ($(CONFIG_SEABIOS_PS2_TIMEOUT),)
+ifneq ($(CONFIG_SEABIOS_PS2_TIMEOUT),0)
+ @printf " SeaBIOS Wait up to $(CONFIG_SEABIOS_PS2_TIMEOUT) ms for PS/2 keyboard controller initialization\n"
+ $(CBFSTOOL) $@.tmp add-int -i $(CONFIG_SEABIOS_PS2_TIMEOUT) -n etc/ps2-keyboard-spinup
+endif
+endif
endif
ifeq ($(CONFIG_PAYLOAD_FILO),y)
@printf " PAYLOAD FILO (internal, compression: $(CBFS_PAYLOAD_COMPRESS_FLAG))\n"
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3620
-gerrit
commit 92107e5e61896c9c89e92f10362394a9b4727014
Author: Peter Stuge <peter(a)stuge.se>
Date: Sat Jul 6 20:10:36 2013 +0200
lenovo/x60: Add "IBM ThinkPad Embedded Controller" SMBIOS OEM String
The Linux thinkpad_acpi.c driver looks for this string while
reading information about the system it is running on.
This commit does not make the module load but it is one of
several things that the module looks for on a ThinkPad.
Change-Id: Ief5f28d2e27bf959cb579c4c8eea9eecc9a89a7c
Signed-off-by: Peter Stuge <peter(a)stuge.se>
---
src/mainboard/lenovo/x60/mainboard.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/mainboard/lenovo/x60/mainboard.c b/src/mainboard/lenovo/x60/mainboard.c
index b344ccb..f4c5a34 100644
--- a/src/mainboard/lenovo/x60/mainboard.c
+++ b/src/mainboard/lenovo/x60/mainboard.c
@@ -36,6 +36,7 @@
#include <pc80/mc146818rtc.h>
#include "dock.h"
#include <arch/x86/include/arch/acpigen.h>
+#include <smbios.h>
#include <x86emu/x86emu.h>
#define PANEL INT15_5F35_CL_DISPLAY_DEFAULT
@@ -133,9 +134,24 @@ static void mainboard_init(device_t dev)
}
}
+static int mainboard_smbios_data(device_t dev, int *handle, unsigned long *current)
+{
+ int len;
+ char tpec[] = "IBM ThinkPad Embedded Controller -[ ]-";
+ const char *oem_strings[] = {
+ tpec,
+ };
+
+ h8_build_id_and_function_spec_version(tpec + 35, 17);
+ len = smbios_write_type11(current, (*handle)++, oem_strings, ARRAY_SIZE(oem_strings));
+
+ return len;
+}
+
static void mainboard_enable(device_t dev)
{
dev->ops->init = mainboard_init;
+ dev->ops->get_smbios_data = mainboard_smbios_data;
}
struct chip_operations mainboard_ops = {
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3619
-gerrit
commit 313e88dce55c600b29c3f760356c62a5299f7f9f
Author: Peter Stuge <peter(a)stuge.se>
Date: Sat Jul 6 20:05:13 2013 +0200
lenovo/x60: Move mainboard_enable() code into a mainboard_init()
mainboard_enable() is now modelled after google/parrot where the
enable function only sets dev->ops->init for the root device to
point to a mainboard_init() function, which in turn is called in a
later pass over the device tree to do the actual initialization.
Change-Id: Iaf9187532a1e432b991260201b95dda85cc312c5
Signed-off-by: Peter Stuge <peter(a)stuge.se>
---
src/mainboard/lenovo/x60/mainboard.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/lenovo/x60/mainboard.c b/src/mainboard/lenovo/x60/mainboard.c
index d2d0733..b344ccb 100644
--- a/src/mainboard/lenovo/x60/mainboard.c
+++ b/src/mainboard/lenovo/x60/mainboard.c
@@ -85,7 +85,7 @@ int get_cst_entries(acpi_cstate_t **entries)
return ARRAY_SIZE(cst_entries);
}
-static void mainboard_enable(device_t dev)
+static void mainboard_init(device_t dev)
{
device_t dev0, idedev, sdhci_dev;
@@ -133,6 +133,11 @@ static void mainboard_enable(device_t dev)
}
}
+static void mainboard_enable(device_t dev)
+{
+ dev->ops->init = mainboard_init;
+}
+
struct chip_operations mainboard_ops = {
.enable_dev = mainboard_enable,
};