blob: 47ca5f23754a43dcdca001312c0f8851e8614dec [file] [log] [blame]
Felix Held144c7aa2021-05-04 21:06:04 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <acpi/acpi.h>
4#include <amdblocks/acpi.h>
5#include <device/device.h>
Felix Held8143d032021-05-04 21:20:06 +02006#include <FspGuids.h>
Felix Held144c7aa2021-05-04 21:06:04 +02007#include <soc/acpi.h>
8#include <types.h>
9
10uintptr_t agesa_write_acpi_tables(const struct device *device, uintptr_t current,
11 acpi_rsdp_t *rsdp)
12{
Jason Glenesk8d354282021-07-20 05:21:54 -070013 acpi_ivrs_t *ivrs;
14
Felix Held8143d032021-05-04 21:20:06 +020015 /* add ALIB SSDT from HOB */
16 current = add_agesa_fsp_acpi_table(AMD_FSP_ACPI_ALIB_HOB_GUID, "ALIB", rsdp, current);
17
Jason Glenesk8d354282021-07-20 05:21:54 -070018 /* IVRS */
19 current = ALIGN(current, 8);
20 ivrs = (acpi_ivrs_t *) current;
21 acpi_create_ivrs(ivrs, acpi_fill_ivrs);
22 current += ivrs->header.length;
23 acpi_add_table(rsdp, ivrs);
24
Felix Held144c7aa2021-05-04 21:06:04 +020025 return current;
26}