[coreboot-gerrit] Patch set updated for coreboot: intel/skylake: Disable FADT.8042 if NO_FADT_8042 is set

Jenny Tc (jenny.tc@intel.com) gerrit at coreboot.org
Thu Feb 9 11:54:55 CET 2017


Jenny Tc (jenny.tc at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18307

-gerrit

commit d0a3c18e858625084a1a1f75881816639c87d2dd
Author: Jenny TC <jenny.tc at intel.com>
Date:   Thu Feb 9 16:01:59 2017 +0530

    intel/skylake: Disable FADT.8042 if NO_FADT_8042 is set
    
    Kernel relies on FADT 8042 flag to enable/disable
    8042 interface. If FADT reports 8042 capability and
    8042 (/PS2) capability is actually disabled by coreboot,
    kernel would assume the presence of 8042 based on the
    FADT flag. This results in undesired system power off when
    kernel tries to access the 8042 memory region. To address
    this, CONFIG_NO_FADT_8042 was added to selectively
    disable 8042 on FADT.
    
    BUG=chrome-os-partner:61858
    TEST=Boot OS and verify FADT 8042 flag
    
    Change-Id: Ic80b3835cb5cccdde1203e24a58e28746b0196fc
    Signed-off-by: Jenny TC <jenny.tc at intel.com>
---
 src/soc/intel/skylake/Kconfig | 6 ++++++
 src/soc/intel/skylake/acpi.c  | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig
index 24c2e30..090fa2a 100644
--- a/src/soc/intel/skylake/Kconfig
+++ b/src/soc/intel/skylake/Kconfig
@@ -242,4 +242,10 @@ config MAX_ROOT_PORTS
 	default 24 if PLATFORM_USES_FSP2_0
 	default 20 if PLATFORM_USES_FSP1_1
 
+config NO_FADT_8042
+	bool
+	default n
+	help
+	  Choose this option if you want to disable 8042 Keyboard
+
 endif
diff --git a/src/soc/intel/skylake/acpi.c b/src/soc/intel/skylake/acpi.c
index 54468d2..2f8cf51 100644
--- a/src/soc/intel/skylake/acpi.c
+++ b/src/soc/intel/skylake/acpi.c
@@ -268,7 +268,9 @@ void acpi_fill_fadt(acpi_fadt_t *fadt)
 	fadt->day_alrm = 0xd;
 	fadt->mon_alrm = 0x00;
 	fadt->century = 0x00;
-	fadt->iapc_boot_arch = ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042;
+	fadt->iapc_boot_arch = ACPI_FADT_LEGACY_DEVICES;
+	if (!IS_ENABLED(CONFIG_NO_FADT_8042))
+		fadt->iapc_boot_arch |= ACPI_FADT_8042;
 
 	fadt->flags = ACPI_FADT_WBINVD | ACPI_FADT_C1_SUPPORTED |
 			ACPI_FADT_C2_MP_SUPPORTED | ACPI_FADT_SLEEP_BUTTON |



More information about the coreboot-gerrit mailing list