From 7f53b98112e42ff5bde4151b82eb08c04fd71951 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Mon, 11 Apr 2016 23:45:00 -0500 Subject: [PATCH] mb/asus/kgpe-d16|kcma-d8: Do not assign IRQ to LPC HW monitor On specific revisions of the ASUS KGPE-D16 (> 1.03G) there is a high (< 1:10) chance of lockup from spurious HW monitor IRQs during LPC configuration. This was originally erroneously identified as a bug within the SP5100 southbridge due to serial console buffering moving the hang slightly before HW monitor setup. It is currently unknown how changing the CBFS layout / code size was able to alter the frequency of the lockup occuring; this odd characteristic made debugging extremely difficult, and it also indicates testing across multiple PCB revisions will be neded to verify that the bug has been completely resolved. It is highly likely that the KCMA-D8 is also affected. As there does not seem to be a reason to keep the HW monitor IRQ enabled, simply disable it on both mainboards. This configuration has passed burn-on power cycle testing with no lockups noted. All other tests noted a lockup in under 25 power cycles or so, with failure typically occuring in under 5 power cycles; the affected Rev. 1.04 KGPE-D16 has cycled 25 times times using this patch with only one failure finally noted. This final failure may have in fact been related to SP5100 Erratum 18 as the frequency is more in line with the errata document guidelines. Change-Id: Ie9f4f37d2c7dfad0a02daff8b75cd2a1e6f1b09a Signed-off-by: Timothy Pearson Reviewed-on: https://review.coreboot.org/14333 Tested-by: build bot (Jenkins) Tested-by: Raptor Engineering Automated Test Stand Reviewed-by: Paul Menzel Reviewed-by: Martin Roth --- src/mainboard/asus/kcma-d8/devicetree.cb | 2 +- src/mainboard/asus/kgpe-d16/devicetree.cb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mainboard/asus/kcma-d8/devicetree.cb b/src/mainboard/asus/kcma-d8/devicetree.cb index 9eb38c7b94..51ff394d50 100644 --- a/src/mainboard/asus/kcma-d8/devicetree.cb +++ b/src/mainboard/asus/kcma-d8/devicetree.cb @@ -201,7 +201,7 @@ chip northbridge/amd/amdfam10/root_complex # Root complex device pnp 2e.a on end # ACPI device pnp 2e.b on # HW Monitor io 0x60 = 0x290 - irq 0x70 = 5 + # IRQ purposefully not assigned to prevent lockups end device pnp 2e.c off end # PECI device pnp 2e.d off end # VID_BUSSEL diff --git a/src/mainboard/asus/kgpe-d16/devicetree.cb b/src/mainboard/asus/kgpe-d16/devicetree.cb index 2dde5636bb..2b8230a4f6 100644 --- a/src/mainboard/asus/kgpe-d16/devicetree.cb +++ b/src/mainboard/asus/kgpe-d16/devicetree.cb @@ -208,7 +208,7 @@ chip northbridge/amd/amdfam10/root_complex # Root complex device pnp 2e.a on end # ACPI device pnp 2e.b on # HW Monitor io 0x60 = 0x290 - irq 0x70 = 5 + # IRQ purposefully not assigned to prevent lockups end device pnp 2e.c off end # PECI device pnp 2e.d off end # VID_BUSSEL