soc/amd: factor out acpi_add_fsp_tables
Factor out acpi_add_fsp_tables from the soc_acpi_write_tables function and move the remaining parts of the soc_acpi_write_tables function to the SoC's acpi.c. This aligns the other family 17h/19h SoCs more with Genoa and only leaves the FSP-specific code in agesa_acpi.c which will be made common in a following patch. I decided against also renaming agesa_acpi.c to acpi_fsp.c, since that would have made the diff less readable and the files get deleted in a following patch anyway. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: Ia87ac0e77c5e673e694703b85a4bab85a34b980e Reviewed-on: https://review.coreboot.org/c/coreboot/+/80224 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
This commit is contained in:
parent
39feb7f0f9
commit
26577d2ecb
|
@ -13,6 +13,7 @@
|
|||
#include <arch/smp/mpspec.h>
|
||||
#include <console/console.h>
|
||||
#include <cpu/amd/cpuid.h>
|
||||
#include <device/device.h>
|
||||
#include <soc/iomap.h>
|
||||
#include <types.h>
|
||||
#include "chip.h"
|
||||
|
@ -54,6 +55,19 @@ void acpi_fill_fadt(acpi_fadt_t *fadt)
|
|||
fadt->flags |= cfg->common_config.fadt_flags; /* additional board-specific flags */
|
||||
}
|
||||
|
||||
unsigned long soc_acpi_write_tables(const struct device *device, unsigned long current,
|
||||
acpi_rsdp_t *rsdp)
|
||||
{
|
||||
/* TODO: look into adding CRAT */
|
||||
|
||||
/* IVRS */
|
||||
current = acpi_add_ivrs_table(current, rsdp);
|
||||
|
||||
current = acpi_add_fsp_tables(current, rsdp);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
const acpi_cstate_t cstate_cfg_table[] = {
|
||||
[0] = {
|
||||
.ctype = 1,
|
||||
|
|
|
@ -2,21 +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)
|
||||
{
|
||||
/* TODO: look into adding CRAT */
|
||||
|
||||
/* 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);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -55,6 +55,8 @@ struct chipset_power_state {
|
|||
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);
|
||||
|
||||
unsigned long southbridge_write_acpi_tables(const struct device *device, unsigned long current,
|
||||
struct acpi_rsdp *rsdp);
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include <arch/smp/mpspec.h>
|
||||
#include <console/console.h>
|
||||
#include <cpu/amd/cpuid.h>
|
||||
#include <device/device.h>
|
||||
#include <soc/iomap.h>
|
||||
#include <types.h>
|
||||
#include "chip.h"
|
||||
|
@ -57,6 +58,19 @@ void acpi_fill_fadt(acpi_fadt_t *fadt)
|
|||
fadt->flags |= cfg->common_config.fadt_flags; /* additional board-specific flags */
|
||||
}
|
||||
|
||||
unsigned long soc_acpi_write_tables(const struct device *device, unsigned long current,
|
||||
acpi_rsdp_t *rsdp)
|
||||
{
|
||||
/* TODO: look into adding CRAT */
|
||||
|
||||
/* IVRS */
|
||||
current = acpi_add_ivrs_table(current, rsdp);
|
||||
|
||||
current = acpi_add_fsp_tables(current, rsdp);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
const acpi_cstate_t cstate_cfg_table[] = {
|
||||
[0] = {
|
||||
.ctype = 1,
|
||||
|
|
|
@ -4,21 +4,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)
|
||||
{
|
||||
/* TODO: look into adding CRAT */
|
||||
|
||||
/* 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);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include <arch/smp/mpspec.h>
|
||||
#include <console/console.h>
|
||||
#include <cpu/amd/cpuid.h>
|
||||
#include <device/device.h>
|
||||
#include <soc/iomap.h>
|
||||
#include <types.h>
|
||||
#include "chip.h"
|
||||
|
@ -56,6 +57,19 @@ void acpi_fill_fadt(acpi_fadt_t *fadt)
|
|||
fadt->flags |= cfg->common_config.fadt_flags; /* additional board-specific flags */
|
||||
}
|
||||
|
||||
unsigned long soc_acpi_write_tables(const struct device *device, unsigned long current,
|
||||
acpi_rsdp_t *rsdp)
|
||||
{
|
||||
/* TODO: look into adding CRAT */
|
||||
|
||||
/* IVRS */
|
||||
current = acpi_add_ivrs_table(current, rsdp);
|
||||
|
||||
current = acpi_add_fsp_tables(current, rsdp);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
const acpi_cstate_t cstate_cfg_table[] = {
|
||||
[0] = {
|
||||
.ctype = 1,
|
||||
|
|
|
@ -4,21 +4,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)
|
||||
{
|
||||
/* TODO: look into adding CRAT */
|
||||
|
||||
/* 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);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include <arch/smp/mpspec.h>
|
||||
#include <console/console.h>
|
||||
#include <cpu/amd/cpuid.h>
|
||||
#include <device/device.h>
|
||||
#include <soc/iomap.h>
|
||||
#include <types.h>
|
||||
#include "chip.h"
|
||||
|
@ -57,6 +58,19 @@ void acpi_fill_fadt(acpi_fadt_t *fadt)
|
|||
fadt->flags |= cfg->common_config.fadt_flags; /* additional board-specific flags */
|
||||
}
|
||||
|
||||
unsigned long soc_acpi_write_tables(const struct device *device, unsigned long current,
|
||||
acpi_rsdp_t *rsdp)
|
||||
{
|
||||
/* TODO: look into adding CRAT */
|
||||
|
||||
/* IVRS */
|
||||
current = acpi_add_ivrs_table(current, rsdp);
|
||||
|
||||
current = acpi_add_fsp_tables(current, rsdp);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
const acpi_cstate_t cstate_cfg_table[] = {
|
||||
[0] = {
|
||||
.ctype = 1,
|
||||
|
|
|
@ -5,21 +5,14 @@
|
|||
#include <acpi/acpi.h>
|
||||
#include <amdblocks/acpi.h>
|
||||
#include <commonlib/bsd/helpers.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)
|
||||
{
|
||||
/* TODO: look into adding CRAT */
|
||||
|
||||
/* 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);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue