Commit Graph

3 Commits (2c12e70cfe5e6fd636e399b3306e311ca8e9196b)

Author SHA1 Message Date
Nicholas Chin f4e8b7efaa
Revert "Fix GRUB handling of the E6400 keyboard"
This reverts commit 1497ae0451.

The blanket GRUB patch seems to break PS/2 keyboard handling across
other platforms, so revert it.
2023-04-20 12:13:54 -06:00
Nicholas Chin 1497ae0451
Fix GRUB handling of the E6400 keyboard
This introduces a patch to grub which disables the coreboot
specific handling, allowing PS/2 keyboards to be handled the
same as i386-pc.  However this alone breaks the keyboard in
Linux, requiring coreboot to perform PS/2 initialization.

I think GRUB may be restoring the original configuration of
the PS/2 controller once it exits, and if coreboot doesn't
initialize the controller then it's restored to the default
state which Linux doesn't seem to like. I think the emulated
keyboard interface provided by the EC on the E6400 behaves
in a non-standard way that is incompatible with the old
coreboot specific handling.
2023-04-19 22:15:06 -06:00
Nicholas Chin d8222c0175
Add configs for the Latitude E6400
Tested the 4MiB ROMs but not the 8 or 16 MiB ones. This uses the same
board.cfg as the GM45 ThinkPads with an IFD+GBE from ich9gen.

Known issues:
- The internal keyboard does not work properly in GRUB. It seems like
  the keyboard controller is outputing set 1 (XT) scancodes, but GRUB
  is interpreting them as set 2 (AT) scancodes. This may also have
  something to do with scancode translation. However, the keyboard works
  fine in SeaBIOS and Linux. USB keyboards also work properly.
- The subsystem IDs in the GBE region are hardcoded for a Thinkpad in
  ich9gen, though this doesn't seem to cause issues in Linux. The vendor
  IFD and GBE region do have some differences from the generated
  binaries, though they do not appear to be critical.
2023-04-19 00:04:53 -06:00