input: i8042: Make sure the keyboard is enabled
Add one more step into the init sequence. This fixes the keyboard on samus, which otherwise does not work. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
532f2435cf
commit
8226a3e99f
|
@ -134,6 +134,10 @@ static int kbd_reset(int quirk)
|
|||
kbd_read(I8042_DATA_REG) != KBD_POR)
|
||||
goto err;
|
||||
|
||||
if (kbd_write(I8042_DATA_REG, CMD_DRAIN_OUTPUT) ||
|
||||
kbd_read(I8042_DATA_REG) != KBD_ACK)
|
||||
goto err;
|
||||
|
||||
/* set AT translation and disable irq */
|
||||
config = kbd_cmd_read(CMD_RD_CONFIG);
|
||||
if (config == -1)
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#define CMD_KBD_DIS 0xad /* keyboard disable */
|
||||
#define CMD_KBD_EN 0xae /* keyboard enable */
|
||||
#define CMD_SET_KBD_LED 0xed /* set keyboard led */
|
||||
#define CMD_DRAIN_OUTPUT 0xf4 /* drain output buffer */
|
||||
#define CMD_RESET_KBD 0xff /* reset keyboard */
|
||||
|
||||
/* i8042 command result */
|
||||
|
|
Loading…
Reference in New Issue