diff options
author | Gabe Black <gabeblack@chromium.org> | 2011-10-24 23:10:17 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@chromium.org> | 2011-10-25 16:03:48 -0700 |
commit | 363d828671362aab1f8b6facbc1d6ad220891bf2 (patch) | |
tree | 4e11ebecf00764973ba4775ae5d364482d4a75fb /board/chromebook-x86 | |
parent | 5c255380893e305bf336c301b08d43293e6d7cc2 (diff) |
Implement board_i8042_skip for coreboot boards
This implementation, which overrides the default for chromeos/coreboot boards,
skips initializing the i8042 controller if the skip-i8042 config parameter is
non-zero in the flattened device tree.
BUG=chrome-os-partner:6585
TEST=Built and booted on Stumpy. Built and booted on Alex and verified that
keyboard input still works.
Change-Id: I6d4c64fe3d1c007f4f3d8f0556c8c5a0528e0928
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: http://gerrit.chromium.org/gerrit/10625
Commit-Ready: Gabe Black <gabeblack@chromium.org>
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
Diffstat (limited to 'board/chromebook-x86')
-rw-r--r-- | board/chromebook-x86/coreboot/coreboot.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/board/chromebook-x86/coreboot/coreboot.c b/board/chromebook-x86/coreboot/coreboot.c index aae70a4739..9f7d6e091a 100644 --- a/board/chromebook-x86/coreboot/coreboot.c +++ b/board/chromebook-x86/coreboot/coreboot.c @@ -27,6 +27,7 @@ #include <asm/u-boot-x86.h> #include <cbfs.h> #include <flash.h> +#include <fdt_decode.h> #include <malloc.h> #include <netdev.h> #include <asm/ic/coreboot/tables.h> @@ -34,6 +35,7 @@ #include <chromeos/power_management.h> #include <chromeos/fdt_decode.h> #include <chromeos/firmware_storage.h> +#include <chromeos/cros_gpio.h> #include <chromeos/common.h> #include <asm/io.h> #include <coreboot/timestamp.h> @@ -178,6 +180,16 @@ int misc_init_r(void) return 0; } +int board_i8042_skip(void) +{ + cros_gpio_t devsw; + + cros_gpio_fetch(CROS_GPIO_DEVSW, &devsw); + if (devsw.value) + return 0; + return fdt_decode_get_config_int(gd->blob, "skip-i8042", 0); +} + #ifdef CONFIG_HW_WATCHDOG void hw_watchdog_reset(void) { |