summaryrefslogtreecommitdiffstats
path: root/src/southbridge/nvidia/mcp55/lpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/nvidia/mcp55/lpc.c')
-rw-r--r--src/southbridge/nvidia/mcp55/lpc.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/southbridge/nvidia/mcp55/lpc.c b/src/southbridge/nvidia/mcp55/lpc.c
index 585232d712ee..312348c1fa69 100644
--- a/src/southbridge/nvidia/mcp55/lpc.c
+++ b/src/southbridge/nvidia/mcp55/lpc.c
@@ -34,7 +34,13 @@
#include <arch/io.h>
#include <arch/ioapic.h>
#include <cpu/x86/lapic.h>
+#include <arch/acpi.h>
#include <stdlib.h>
+#if IS_ENABLED(CONFIG_GENERATE_ACPI_TABLES)
+#include <arch/acpi.h>
+#include <arch/acpigen.h>
+#endif
+#include <cpu/amd/model_fxx_powernow.h>
#include "mcp55.h"
#define NMI_OFF 0
@@ -275,10 +281,23 @@ static const struct pci_driver lpc_driver __pci_driver = {
.devices = lpc_ids,
};
+#if IS_ENABLED(CONFIG_GENERATE_ACPI_TABLES) && IS_ENABLED(CONFIG_PER_DEVICE_ACPI_TABLES)
+
+static void southbridge_acpi_fill_ssdt_generator(void)
+{
+ amd_model_fxx_generate_powernow(0, 0, 0);
+}
+
+#endif
+
static struct device_operations lpc_slave_ops = {
.read_resources = mcp55_lpc_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
+#if IS_ENABLED(CONFIG_GENERATE_ACPI_TABLES) && IS_ENABLED(CONFIG_PER_DEVICE_ACPI_TABLES)
+ .acpi_fill_ssdt_generator = southbridge_acpi_fill_ssdt_generator,
+ .write_acpi_tables = acpi_write_hpet,
+#endif
.init = lpc_slave_init,
// .enable = mcp55_enable,
.ops_pci = &mcp55_pci_ops,