the following patch was just integrated into master:
commit 2a66d6b804acd22fddc2e51550ba39d2561c1234
Author: Ronald G. Minnich <rminnich(a)google.com>
Date: Thu Mar 28 17:01:43 2013 -0700
FOX_WTM2: First pass at FUI.
This lights up the display. We don't get graphics but we are missing the gttsetup
at this point, so that is no shock. The real shock is that anything works at all.
Change-Id: I03fc470334e96878aeb8465044b3cc9c90378735
Signed-off-by: Ronald G. Minnich <rminnich(a)google.com>
Signed-off-by: Gabe Black <gabeblack(a)chromium.org>
Reviewed-on: http://review.coreboot.org/3634
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/3634 for details.
-gerrit
Peter Stuge (peter(a)stuge.se) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3735
-gerrit
commit 772ce730585b3e4c4c6d40b981499d6eec5866ea
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
Peter Stuge (peter(a)stuge.se) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3734
-gerrit
commit 7df6f45dfd49d58cb7d5d89b61d0b8928cdb76d5
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"
Peter Stuge (peter(a)stuge.se) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3732
-gerrit
commit bc22fa5573bb574080fe3f6a564c5ee9403dac54
Author: Peter Stuge <peter(a)stuge.se>
Date: Tue Jul 9 19:37:20 2013 +0200
SMBIOS: Clarify prompts and help texts for Serial and Version numbers
Change-Id: If1fa39db79eeecbef90c8695143d2fe2adf2f21a
Signed-off-by: Peter Stuge <peter(a)stuge.se>
---
src/mainboard/Kconfig | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/mainboard/Kconfig b/src/mainboard/Kconfig
index a8cf362..3f5c673 100644
--- a/src/mainboard/Kconfig
+++ b/src/mainboard/Kconfig
@@ -335,18 +335,18 @@ config ENABLE_POWER_BUTTON
def_bool n if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_DISABLE
config MAINBOARD_SERIAL_NUMBER
- string "Serial number"
+ string "SMBIOS Serial number"
depends on GENERATE_SMBIOS_TABLES
default "123456789"
help
- Define the used serial number which will be used by SMBIOS tables.
+ The Serial Number to store in SMBIOS structures.
config MAINBOARD_VERSION
- string "Version number"
+ string "SMBIOS Version number"
depends on GENERATE_SMBIOS_TABLES
default "1.0"
help
- Define the used version number which will be used by SMBIOS tables.
+ The Version Number to store in SMBIOS structures.
config MAINBOARD_SMBIOS_MANUFACTURER
string "SMBIOS Manufacturer"
Peter Stuge (peter(a)stuge.se) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3619
-gerrit
commit 0bda8a1a54c9916e277a7e2525907a616e51b7b1
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,
};
Peter Stuge (peter(a)stuge.se) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3620
-gerrit
commit e0bc0ed8b096de4953cf76012a765952a1e29be0
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 = {