summaryrefslogtreecommitdiff
path: root/src/soc/intel/xeon_sp
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/xeon_sp')
-rw-r--r--src/soc/intel/xeon_sp/lpc_gen6.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/soc/intel/xeon_sp/lpc_gen6.c b/src/soc/intel/xeon_sp/lpc_gen6.c
index d2aaec1888..d4045a877d 100644
--- a/src/soc/intel/xeon_sp/lpc_gen6.c
+++ b/src/soc/intel/xeon_sp/lpc_gen6.c
@@ -6,6 +6,30 @@
#include <intelblocks/pcr.h>
#include <soc/pcr_ids.h>
+#include <acpi/acpigen.h>
+#include <acpi/acpigen_pci.h>
+
+void lpc_soc_fill_ssdt(const struct device *dev)
+{
+ const char *scope = acpi_device_scope(dev);
+ const char *name = acpi_device_name(dev);
+
+ if (!scope || !name) {
+ printk(BIOS_ERR, "%s: Missing ACPI path/scope\n", dev_path(dev));
+ return;
+ }
+
+ /* Device */
+ acpigen_write_scope(scope);
+ acpigen_write_device(name);
+
+ printk(BIOS_DEBUG, "%s.%s: %s\n", scope, name, dev_path(dev));
+ acpigen_write_ADR_pci_device(dev);
+
+ acpigen_write_device_end(); /* Device */
+ acpigen_write_scope_end(); /* Scope */
+}
+
void lpc_soc_init(struct device *dev)
{
printk(BIOS_SPEW, "pch: lpc_init\n");