[coreboot-gerrit] New patch to review for coreboot: lenovo/x60: workaround for keyboard issue with grub
Arthur Heymans (arthur@aheymans.xyz)
gerrit at coreboot.org
Wed Jun 15 00:06:12 CEST 2016
Arthur Heymans (arthur at aheymans.xyz) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15188
-gerrit
commit 35281401155b6c27a7053ca9ec7c4ea24f3486d3
Author: Arthur Heymans <arthur at aheymans.xyz>
Date: Tue Jun 14 23:48:05 2016 +0200
lenovo/x60: workaround for keyboard issue with grub
The issue with grub and the x60 is that very often
the ps2 keyboard does not work.
This is caused by commit 852014cf, which moves
pc_keyboard_init() from mainboard.c to h8 EC init for
later Lenovo laptops.
The x60 also uses H8 EC, but before that it did
not use pc_keyboard_init() in mainboard.c.
What this patch does is to conditionally use pc_keyboard_init().
TEST= try coreboot HEAD with grub payload and check if ps2 keyboard
works reliably, which might require multiple reboots to confirm.
Try this again with this patch.
Change-Id: Ia22ea0da5e6fd3d0dac403c184aae4a9f68a597d
Signed-off-by: Arthur Heymans <arthur at aheymans.xyz>
---
src/ec/lenovo/h8/h8.c | 2 +-
src/mainboard/lenovo/Kconfig | 4 ++++
src/mainboard/lenovo/x60/Kconfig | 4 ++++
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c
index 943bdd4..38e3221 100644
--- a/src/ec/lenovo/h8/h8.c
+++ b/src/ec/lenovo/h8/h8.c
@@ -181,7 +181,7 @@ static void h8_init(device_t dev)
struct device_operations h8_dev_ops = {
.get_smbios_strings = h8_smbios_strings,
- .init = h8_init,
+ .init = (CONFIG_H8_KEYBOARD_INIT) ? h8_init : 0,
};
static void h8_enable(struct device *dev)
diff --git a/src/mainboard/lenovo/Kconfig b/src/mainboard/lenovo/Kconfig
index a57b462..e5ac47e 100644
--- a/src/mainboard/lenovo/Kconfig
+++ b/src/mainboard/lenovo/Kconfig
@@ -7,6 +7,10 @@ source "src/mainboard/lenovo/*/Kconfig.name"
endchoice
+config H8_KEYBOARD_INIT
+ bool
+ default y
+
source "src/mainboard/lenovo/*/Kconfig"
config MAINBOARD_VENDOR
diff --git a/src/mainboard/lenovo/x60/Kconfig b/src/mainboard/lenovo/x60/Kconfig
index ab4b58e..f25bd0a 100644
--- a/src/mainboard/lenovo/x60/Kconfig
+++ b/src/mainboard/lenovo/x60/Kconfig
@@ -61,4 +61,8 @@ config SEABIOS_PS2_TIMEOUT
int
default 3000
+config H8_KEYBOARD_INIT
+ bool
+ default n
+
endif
More information about the coreboot-gerrit
mailing list