diff options
Diffstat (limited to 'src/soc/intel/xeon_sp')
-rw-r--r-- | src/soc/intel/xeon_sp/lpc_gen6.c | 24 |
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"); |