[coreboot-gerrit] Patch set updated for coreboot: lenovo/x60: Work around for keyboard issue with grub

Arthur Heymans (arthur@aheymans.xyz) gerrit at coreboot.org
Wed Jun 15 13:45:03 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 cce120152f4094f4cbfd770aea82f079fc5f2011
Author: Arthur Heymans <arthur at aheymans.xyz>
Date:   Tue Jun 14 23:48:05 2016 +0200

    lenovo/x60: Work around 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
    (lenovo: Move pc_keyboard_init to h8 init.),
    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