Matt DeVillier has submitted this change. ( https://review.coreboot.org/c/coreboot/+/24989 )
Change subject: mb/google/cyan: Adjust ACPI interrupt triggering for audio codecs ......................................................................
mb/google/cyan: Adjust ACPI interrupt triggering for audio codecs
The jack detect GPIOs are initialized as dual edge-triggered GPIs, and Linux doesn't care if they are set to ActiveLow, ActiveHigh, or ActiveBoth -- a single interrupt is detected on jack insertion or removal.
The Windows drivers on the other hand, will not function unless the codec and LPE ACPI interrupts entries are set as in the Intel Cherry Trail Tianocore platform reference code.
So adjust the ACPI interrupt triggers to make Windows happy, since Linux doesn't care either way.
Test: boot Linux (GalliumOS 3.1) and Windows 10 on google/edgar, observe functional audio output for both built-in speakers and headphones.
Change-Id: Ic1dd8ece610d761791c060ece2d0aa51addf97ad Signed-off-by: Matt DeVillier matt.devillier@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/24989 Reviewed-by: Aaron Durbin adurbin@chromium.org Reviewed-by: Angel Pons th3fanbus@gmail.com Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/mainboard/google/cyan/acpi/codec_maxim.asl M src/mainboard/google/cyan/acpi/codec_realtek.asl 2 files changed, 5 insertions(+), 5 deletions(-)
Approvals: build bot (Jenkins): Verified Aaron Durbin: Looks good to me, approved Angel Pons: Looks good to me, approved
diff --git a/src/mainboard/google/cyan/acpi/codec_maxim.asl b/src/mainboard/google/cyan/acpi/codec_maxim.asl index 4f69daf..a33f80a 100644 --- a/src/mainboard/google/cyan/acpi/codec_maxim.asl +++ b/src/mainboard/google/cyan/acpi/codec_maxim.asl @@ -44,7 +44,7 @@ "\_SB.PCI0.I2C2", /* ResourceSource: I2C bus controller name */ )
- GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault,, "\_SB.GPSE") { BOARD_JACK_MAXIM_GPIO_INDEX } } ) Return (SBUF) @@ -87,7 +87,7 @@ "\_SB.PCI0.I2C2", /* ResourceSource: I2C bus controller name */ )
- GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault,, "\_SB.GPSW") { BOARD_JACK_TI_GPIO_INDEX }
} ) @@ -107,7 +107,7 @@ Name (GBUF, ResourceTemplate () { /* Jack Detect (index 0) */ - GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault,, "\_SB.GPSE") { BOARD_JACK_MAXIM_GPIO_INDEX } }) } diff --git a/src/mainboard/google/cyan/acpi/codec_realtek.asl b/src/mainboard/google/cyan/acpi/codec_realtek.asl index 365f799..34bf109 100644 --- a/src/mainboard/google/cyan/acpi/codec_realtek.asl +++ b/src/mainboard/google/cyan/acpi/codec_realtek.asl @@ -36,7 +36,7 @@ )
/* Jack Detect (index 0) */ - GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault,, "\_SB.GPSW") { JACK_DETECT_GPIO_INDEX } } ) Return (SBUF) @@ -54,7 +54,7 @@ Name (GBUF, ResourceTemplate () { /* Jack Detect (index 0) */ - GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Edge, ActiveBoth, ExclusiveAndWake, PullDefault,, "\_SB.GPSW") { JACK_DETECT_GPIO_INDEX } }) }