If U-Boot is not the first-stage bootloader we should not init the keyboard, since it has already been done. Check for this.
Signed-off-by: Simon Glass <s...@chromium.org> --- drivers/input/i8042.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c index 3563dc98838..e2189726674 100644 --- a/drivers/input/i8042.c +++ b/drivers/input/i8042.c @@ -6,11 +6,14 @@ /* i8042.c - Intel 8042 keyboard driver routines */ +#define LOG_CATEGORY UCLASS_KEYBOARD + #include <common.h> #include <dm.h> #include <env.h> #include <errno.h> #include <i8042.h> +#include <init.h> #include <input.h> #include <keyboard.h> #include <log.h> @@ -132,10 +135,12 @@ static int kbd_reset(int quirk) goto err; /* keyboard reset */ - if (kbd_write(I8042_DATA_REG, CMD_RESET_KBD) || - kbd_read(I8042_DATA_REG) != KBD_ACK || - kbd_read(I8042_DATA_REG) != KBD_POR) - goto err; + if (ll_boot_init()) { + if (kbd_write(I8042_DATA_REG, CMD_RESET_KBD) || + kbd_read(I8042_DATA_REG) != KBD_ACK || + 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) -- 2.39.2.637.g21b0678d19-goog