[nb|sb]/amd/[amdfam10|sb700]: Add LPC bridge ACPI names for NB/SB

Adds the necessary plumbing for acpi_device_path() to find the LPC
bridge on the AMD Family10h/15h northbridges and SB700 southbridge.

This is necessary for TPM support since the acpi path to the LPC bridge
doesn't match the built-in default in tpm.c

This is a port of GIT hash d8a2c1fb by Tobias Diedrich.

BUG=https://ticket.coreboot.org/issues/102
Change-Id: I1c514e335e194b2864599e5419cfaee830b94e38
Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
Reviewed-on: https://review.coreboot.org/19282
Tested-by: build bot (Jenkins)
Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Timothy Pearson
2017-04-13 17:08:18 -05:00
parent 79a27ac8b8
commit 0f3a18ad28
2 changed files with 35 additions and 2 deletions

View File

@@ -271,6 +271,17 @@ static void southbridge_acpi_fill_ssdt_generator(device_t device) {
amd_generate_powernow(ACPI_CPU_CONTROL, 6, 1);
}
static const char *lpc_acpi_name(struct device *dev) {
if (dev->path.type != DEVICE_PATH_PCI)
return NULL;
switch (dev->path.pci.devfn) {
case PCI_DEVFN(0x14, 3):
return "LPC";
}
return NULL;
}
#endif
@@ -283,7 +294,8 @@ static struct device_operations lpc_ops = {
.set_resources = sb700_lpc_set_resources,
.enable_resources = sb700_lpc_enable_resources,
#if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES)
.write_acpi_tables = acpi_write_hpet,
.acpi_name = lpc_acpi_name,
.write_acpi_tables = acpi_write_hpet,
.acpi_fill_ssdt_generator = southbridge_acpi_fill_ssdt_generator,
#endif
.init = lpc_init,