mb/google/skyrim: Use edge (vs level) triggering for PS2K
For reasons currently unknown, using a level triggered interrupt for the PS2 keyboard causes an IRQ storm under Windows when any key is pressed, leading to audio distortion/dropouts. Work around this by using an edge triggered interrupt instead. BUG=none TEST=build/boot Win11, Linux on google/skyrim (frostflow), verify kb functionality, verify no IRQ storm or audio stutter/distortion under Windows. Change-Id: I6de426c5780b2f05571415e8e411e379de45b5bf Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/77679 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Raul Rangel <rrangel@chromium.org>
This commit is contained in:
parent
0c3f304d5a
commit
2c9596555b
1 changed files with 6 additions and 1 deletions
|
|
@ -69,7 +69,12 @@
|
|||
#define SIO_EC_MEMMAP_ENABLE /* EC Memory Map Resources */
|
||||
#define SIO_EC_HOST_ENABLE /* EC Host Interface Resources */
|
||||
#define SIO_EC_ENABLE_PS2K /* Enable PS/2 Keyboard */
|
||||
#define SIO_EC_PS2K_IRQ Interrupt(ResourceConsumer, Level, ActiveLow, Shared) {1}
|
||||
/*
|
||||
* This interrupt should technically be level, since that is the contract between the EC
|
||||
* and the AP, but under Windows it produces an IRQ storm so Edge needs to be used instead.
|
||||
* Both Windows and Linux are happy with Edge, so we'll use it for now.
|
||||
*/
|
||||
#define SIO_EC_PS2K_IRQ Interrupt(ResourceConsumer, Edge, ActiveLow, Shared) {1}
|
||||
|
||||
/* Enable EC sync interrupt */
|
||||
#define EC_ENABLE_SYNC_IRQ_GPIO
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue