From 02d241245c6beadcfa6cf71e4c44521ef916c616 Mon Sep 17 00:00:00 2001 From: Felix Held Date: Wed, 10 Jan 2024 21:54:22 +0100 Subject: sb/amd/pi/hudson/Kconfig: replace HUDSON_LEGACY_FREE option HUDSON_LEGACY_FREE controlled both if the legacy devices and the 8042 flags are set in the IA-PC boot architecture filed of the FADT. Since some systems have legacy devices on the LPC bus, but no 8042-compatible keyboard controller, replace this option with the two new options HUDSON_FADT_LEGACY_DEVICES and HUDSON_FADT_8042. TEST=The FACP table doesn't change on APU2 Signed-off-by: Felix Held Change-Id: Id4ff85630c90fb2ae8c8826bbc9049a08668210d Reviewed-on: https://review.coreboot.org/c/coreboot/+/79893 Tested-by: build bot (Jenkins) Reviewed-by: Arthur Heymans --- src/southbridge/amd/pi/hudson/Kconfig | 13 +++++++++---- src/southbridge/amd/pi/hudson/fadt.c | 14 +++++++------- 2 files changed, 16 insertions(+), 11 deletions(-) (limited to 'src/southbridge') diff --git a/src/southbridge/amd/pi/hudson/Kconfig b/src/southbridge/amd/pi/hudson/Kconfig index 04d77fd89c1b..4630df9cca5e 100644 --- a/src/southbridge/amd/pi/hudson/Kconfig +++ b/src/southbridge/amd/pi/hudson/Kconfig @@ -129,11 +129,16 @@ comment "AHCI7804" comment "IDE to AHCI7804" depends on HUDSON_SATA_MODE = 6 -config HUDSON_LEGACY_FREE - bool "System is legacy free" +config HUDSON_FADT_LEGACY_DEVICES + bool + help + Select if there are legacy devices on the LPC bus. + +config HUDSON_FADT_8042 + bool help - Select y if there is no keyboard controller in the system. - This sets variables in AGESA and ACPI. + Select if there is an 8042-compatible keyboard controller in the + system. config AMDFW_OUTSIDE_CBFS def_bool n diff --git a/src/southbridge/amd/pi/hudson/fadt.c b/src/southbridge/amd/pi/hudson/fadt.c index 34d67b408d1f..f76a0549a1da 100644 --- a/src/southbridge/amd/pi/hudson/fadt.c +++ b/src/southbridge/amd/pi/hudson/fadt.c @@ -11,12 +11,6 @@ #include "hudson.h" #include "smi.h" -#if CONFIG(HUDSON_LEGACY_FREE) - #define FADT_BOOT_ARCH ACPI_FADT_LEGACY_FREE -#else - #define FADT_BOOT_ARCH (ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042) -#endif - /* * Reference section 5.2.9 Fixed ACPI Description Table (FADT) * in the ACPI 3.0b specification. @@ -40,7 +34,13 @@ void acpi_fill_fadt(acpi_fadt_t *fadt) fadt->duty_offset = 1; /* CLK_VAL bits 3:1 */ fadt->duty_width = 3; /* CLK_VAL bits 3:1 */ - fadt->iapc_boot_arch = FADT_BOOT_ARCH; /* See table 5-10 */ + + fadt->iapc_boot_arch = ACPI_FADT_LEGACY_FREE; /* See table 5-10 */ + if (CONFIG(HUDSON_FADT_LEGACY_DEVICES)) + fadt->iapc_boot_arch |= ACPI_FADT_LEGACY_DEVICES; + if (CONFIG(HUDSON_FADT_8042)) + fadt->iapc_boot_arch |= ACPI_FADT_8042; + fadt->res2 = 0; /* reserved, MUST be 0 ACPI 3.0 */ fadt->flags |= ACPI_FADT_WBINVD | /* See table 5-10 ACPI 3.0a spec */ ACPI_FADT_C1_SUPPORTED | -- cgit v1.2.3