diff options
author | Simon Glass <sjg@chromium.org> | 2015-03-26 09:29:41 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-04-18 11:11:16 -0600 |
commit | f9f788f0721350e594ce3e7978968847b057afc1 (patch) | |
tree | 745ae52b40fc4e81e9f4c3af7f10c07bb4278c79 /drivers/input | |
parent | 47cb8c654be8849db9035f3703bbcdd1af21c63e (diff) | |
download | u-boot-f9f788f0721350e594ce3e7978968847b057afc1.tar.gz u-boot-f9f788f0721350e594ce3e7978968847b057afc1.tar.xz u-boot-f9f788f0721350e594ce3e7978968847b057afc1.zip |
i8042: Add keyboard enable logic in kbd_reset()
This code appears to be missing a piece that is needed on some keyboards
to enable the keyboard. Add this in.
This makes the keyboard work correctly on chromebook_link.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/i8042.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c index ca1604c540..1769c5e80b 100644 --- a/drivers/input/i8042.c +++ b/drivers/input/i8042.c @@ -698,7 +698,14 @@ static int kbd_reset(void) /* Enable Keyboard */ out8(I8042_COMMAND_REG, 0xae); + if (kbd_input_empty() == 0) + return -1; + + out8(I8042_COMMAND_REG, 0x60); + if (kbd_input_empty() == 0) + return -1; + out8(I8042_DATA_REG, 0xf4); if (kbd_input_empty() == 0) return -1; |