diff options
Diffstat (limited to 'src/soc/amd/picasso')
-rw-r--r-- | src/soc/amd/picasso/acpi.c | 17 | ||||
-rw-r--r-- | src/soc/amd/picasso/agesa_acpi.c | 12 |
2 files changed, 18 insertions, 11 deletions
diff --git a/src/soc/amd/picasso/acpi.c b/src/soc/amd/picasso/acpi.c index d864053f19..94721073cf 100644 --- a/src/soc/amd/picasso/acpi.c +++ b/src/soc/amd/picasso/acpi.c @@ -19,6 +19,7 @@ #include <amdblocks/chip.h> #include <amdblocks/cpu.h> #include <amdblocks/ioapic.h> +#include <device/device.h> #include <soc/pci_devs.h> #include <soc/southbridge.h> #include "chip.h" @@ -58,6 +59,22 @@ void acpi_fill_fadt(acpi_fadt_t *fadt) fadt->flags |= cfg->fadt_flags; /* additional board-specific flags */ } +unsigned long soc_acpi_write_tables(const struct device *device, unsigned long current, + acpi_rsdp_t *rsdp) +{ + /* CRAT */ + current = acpi_add_crat_table(current, rsdp); + + /* IVRS */ + current = acpi_add_ivrs_table(current, rsdp); + + /* Add SRAT, MSCT, SLIT if needed in the future */ + + current = acpi_add_fsp_tables(current, rsdp); + + return current; +} + const acpi_cstate_t cstate_cfg_table[] = { [0] = { .ctype = 1, diff --git a/src/soc/amd/picasso/agesa_acpi.c b/src/soc/amd/picasso/agesa_acpi.c index 8feda807ca..a5057bf59f 100644 --- a/src/soc/amd/picasso/agesa_acpi.c +++ b/src/soc/amd/picasso/agesa_acpi.c @@ -2,24 +2,14 @@ #include <acpi/acpi.h> #include <amdblocks/acpi.h> -#include <device/device.h> #include <FspGuids.h> #include <types.h> -unsigned long soc_acpi_write_tables(const struct device *device, unsigned long current, - acpi_rsdp_t *rsdp) +unsigned long acpi_add_fsp_tables(unsigned long current, acpi_rsdp_t *rsdp) { - /* CRAT */ - current = acpi_add_crat_table(current, rsdp); - /* add ALIB SSDT from HOB */ current = acpi_align_current(current); current = add_agesa_fsp_acpi_table(AMD_FSP_ACPI_ALIB_HOB_GUID, "ALIB", rsdp, current); - /* IVRS */ - current = acpi_add_ivrs_table(current, rsdp); - - /* Add SRAT, MSCT, SLIT if needed in the future */ - return current; } |