Paul,

as requested I went ahead and retested a few different Chromebook
devices/platforms using upstream coreboot + SeaBIOS master, with the
stock EC firmware, to asses the current state of the PS2 keyboard
function:

google/link (IvyBridge): bad (good w/EC update)
google/wolf (Haswell): good
google/clapper (Baytrail): good (with HARDWARE_IRQ unset)
google/lulu (Broadwell): good
google/chell (Skylake): good (with HARDWARE_IRQ unset)
google/cyan (Braswell): good (with HARDWARE_IRQ unset)

so I think the patch is no longer needed, since LINK is the only board
which is problematic, and I'm not even sure the patch addresses that;
pretty sure the fix needs to be on the EC end.

regards,
Matt




On Tue, Mar 17, 2020 at 7:30 PM Kevin O'Connor <ke...@koconnor.net> wrote:
>
> On Mon, Mar 16, 2020 at 10:38:25AM +0100, Paul Menzel wrote:
> > From: Matt DeVillier <matt.devill...@gmail.com>
> > Date: Fri, 12 Aug 2016 14:21:58 -0500
> >
> > PS/2 keyboards on Chromebooks with upstream coreboot + SeaBIOS often
> > fail to init properly / register keystrokes.  Modify ps2port init
> > to match that of TianoCore, which doesn't have said issues.
> >
> > Signed-off-by: Matt DeVillier <matt.devill...@gmail.com>
> > Signed-off-by: Paul Menzel <pmen...@molgen.mpg.de>
> > ---
> > Upstream from https://github.com/MrChromebox/SeaBIOS/
> >
> >  src/hw/ps2port.c | 18 +++++++++++++-----
> >  1 file changed, 13 insertions(+), 5 deletions(-)
> >
> > diff --git a/src/hw/ps2port.c b/src/hw/ps2port.c
> > index 88b1059..2c334c0 100644
> > --- a/src/hw/ps2port.c
> > +++ b/src/hw/ps2port.c
> > @@ -465,6 +465,14 @@ ps2_keyboard_setup(void *data)
> >      if (ret)
> >          return;
> >
> > +    // Disable KB/mouse interfaces
> > +    ret = i8042_command(I8042_CMD_KBD_DISABLE, NULL);
> > +    if (ret)
> > +        return;
> > +    ret = i8042_command(I8042_CMD_AUX_DISABLE, NULL);
> > +    if (ret)
> > +        return;
> > +
>
> I do not think this change is correct.  My recollection is that the
> underlying bug that led to non-functioning keyboards was fixed as of
> dbf9dd27f.  Can someone confirm that the underlying problem is still
> present after dbf9dd27f?
>
> -Kevin
>
> >      // Controller self-test.
> >      u8 param[2];
> >      ret = i8042_command(I8042_CMD_CTL_TEST, param);
> > @@ -475,6 +483,11 @@ ps2_keyboard_setup(void *data)
> >          return;
> >      }
> >
> > +    // KB write CMD
> > +    ret = i8042_command(I8042_CMD_CTL_WCTR, NULL);
> > +    if (ret)
> > +        return;
> > +
> >      // Controller keyboard test.
> >      ret = i8042_command(I8042_CMD_KBD_TEST, param);
> >      if (ret)
> > @@ -505,11 +518,6 @@ ps2_keyboard_setup(void *data)
> >          return;
> >      }
> >
> > -    /* Disable keyboard */
> > -    ret = ps2_kbd_command(ATKBD_CMD_RESET_DIS, NULL);
> > -    if (ret)
> > -        return;
> > -
> >      // Set scancode command (mode 2)
> >      param[0] = 0x02;
> >      ret = ps2_kbd_command(ATKBD_CMD_SSCANSET, param);
> > --
> > 2.25.1
> > _______________________________________________
> > SeaBIOS mailing list -- seabios@seabios.org
> > To unsubscribe send an email to seabios-le...@seabios.org
> _______________________________________________
> SeaBIOS mailing list -- seabios@seabios.org
> To unsubscribe send an email to seabios-le...@seabios.org
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to