summaryrefslogtreecommitdiffstats
path: root/src/southbridge
diff options
context:
space:
mode:
authorFelix Held <felix-coreboot@felixheld.de>2024-01-10 21:54:22 +0100
committerFelix Held <felix-coreboot@felixheld.de>2024-01-12 00:36:47 +0000
commit02d241245c6beadcfa6cf71e4c44521ef916c616 (patch)
tree9f6d40c4afec14070c3d6ccf7fcb8bdfdb80f67c /src/southbridge
parentc0a4c895e96a2539c308a35228c3ab9088af84db (diff)
downloadcoreboot-02d241245c6beadcfa6cf71e4c44521ef916c616.tar.gz
coreboot-02d241245c6beadcfa6cf71e4c44521ef916c616.tar.bz2
coreboot-02d241245c6beadcfa6cf71e4c44521ef916c616.zip
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 <felix-coreboot@felixheld.de> Change-Id: Id4ff85630c90fb2ae8c8826bbc9049a08668210d Reviewed-on: https://review.coreboot.org/c/coreboot/+/79893 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/southbridge')
-rw-r--r--src/southbridge/amd/pi/hudson/Kconfig13
-rw-r--r--src/southbridge/amd/pi/hudson/fadt.c14
2 files changed, 16 insertions, 11 deletions
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 |