Damien Zammit (damien@zamaudio.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12795
-gerrit
commit 0e7867505b568a2ed61c4caa5eda56a4a6976b26 Author: Damien Zammit damien@zamaudio.com Date: Wed Dec 23 16:54:29 2015 +1100
southbridge/intel/i82801gx: Add option to skip MADT irq override
Provides Kconfig option IRQ9_MADT_OVERRIDE to skip overriding IRQ9 in MADT. Required on GA-G41M-ES2L mainboard.
Without skipping this irq override, the above board reports: "irq9: nobody cared" in Linux kernel log and irq 9 gets disabled.
Change-Id: I865ad79c7c89f6eaf91653fbda5762542702274c Signed-off-by: Damien Zammit damien@zamaudio.com --- src/southbridge/intel/i82801gx/Kconfig | 6 ++++++ src/southbridge/intel/i82801gx/lpc.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/southbridge/intel/i82801gx/Kconfig b/src/southbridge/intel/i82801gx/Kconfig index c435b99..4d747fc 100644 --- a/src/southbridge/intel/i82801gx/Kconfig +++ b/src/southbridge/intel/i82801gx/Kconfig @@ -25,6 +25,12 @@ config SOUTHBRIDGE_INTEL_I82801GX
if SOUTHBRIDGE_INTEL_I82801GX
+config IRQ9_MADT_OVERRIDE + bool + default y + help + When unset, prevents ACPI from overriding IRQ9 in MADT + config EHCI_BAR hex default 0xfef00000 diff --git a/src/southbridge/intel/i82801gx/lpc.c b/src/southbridge/intel/i82801gx/lpc.c index 4e9711c..407d336 100644 --- a/src/southbridge/intel/i82801gx/lpc.c +++ b/src/southbridge/intel/i82801gx/lpc.c @@ -474,9 +474,13 @@ unsigned long acpi_fill_madt(unsigned long current) /* INT_SRC_OVR */ current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *) current, 0, 0, 2, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_EDGE); - current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *) - current, 0, 9, 9, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_LEVEL);
+ if (IS_ENABLED(CONFIG_IRQ9_MADT_OVERRIDE)) { + current += acpi_create_madt_irqoverride( + (acpi_madt_irqoverride_t *) current, + 0, 9, 9, MP_IRQ_POLARITY_HIGH + | MP_IRQ_TRIGGER_LEVEL); + }
return current; }