Philipp Deppenwiese (zaolin.daisuki@gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18522
-gerrit
commit 4e7f706c57a6ce8a1c013c82f8c90e08fd6f093d Author: Philipp Deppenwiese zaolin@das-labor.org Date: Wed Mar 1 02:24:33 2017 +0100
amd/pi: Add AMD fam16h TPM acpi path support
Change-Id: I5322d731a0dc655f2da14b87fa6cbc1e54b5abd5 Signed-off-by: Philipp Deppenwiese zaolin@das-labor.org --- src/northbridge/amd/pi/00730F01/northbridge.c | 9 +++++++++ src/southbridge/amd/pi/hudson/lpc.c | 16 ++++++++++++++++ src/southbridge/amd/pi/hudson/pci_devs.h | 1 + 3 files changed, 26 insertions(+)
diff --git a/src/northbridge/amd/pi/00730F01/northbridge.c b/src/northbridge/amd/pi/00730F01/northbridge.c index ed8e17a..3a2f730 100644 --- a/src/northbridge/amd/pi/00730F01/northbridge.c +++ b/src/northbridge/amd/pi/00730F01/northbridge.c @@ -864,6 +864,14 @@ static void domain_set_resources(device_t dev) } }
+static const char *domain_acpi_name(struct device *dev) +{ + if (dev->path.type == DEVICE_PATH_DOMAIN) + return "PCI0"; + + return NULL; +} + static struct device_operations pci_domain_ops = { .read_resources = domain_read_resources, .set_resources = domain_set_resources, @@ -871,6 +879,7 @@ static struct device_operations pci_domain_ops = { .init = NULL, .scan_bus = pci_domain_scan_bus, .ops_pci_bus = pci_bus_default_ops, + .acpi_name = domain_acpi_name, };
static void sysconf_init(device_t dev) // first node diff --git a/src/southbridge/amd/pi/hudson/lpc.c b/src/southbridge/amd/pi/hudson/lpc.c index 1dacfd0..061008d 100644 --- a/src/southbridge/amd/pi/hudson/lpc.c +++ b/src/southbridge/amd/pi/hudson/lpc.c @@ -29,6 +29,7 @@ #include <pc80/i8254.h> #include <pc80/i8259.h> #include "hudson.h" +#include "pci_devs.h"
static void lpc_init(device_t dev) { @@ -324,6 +325,20 @@ unsigned long acpi_fill_mcfg(unsigned long current) return current; }
+static const char *lpc_acpi_name(struct device *dev) +{ + if (dev->path.type != DEVICE_PATH_PCI) + return NULL; + + switch (dev->path.pci.devfn) { + /* DSDT: acpi/lpc.asl */ + case LPC_DEVFN: + return "LIBR"; + } + + return NULL; +} + static struct pci_operations lops_pci = { .set_subsystem = pci_dev_set_subsystem, }; @@ -338,6 +353,7 @@ static struct device_operations lpc_ops = { .init = lpc_init, .scan_bus = scan_lpc_bus, .ops_pci = &lops_pci, + .acpi_name = lpc_acpi_name, };
static const unsigned short pci_device_ids[] = { diff --git a/src/southbridge/amd/pi/hudson/pci_devs.h b/src/southbridge/amd/pi/hudson/pci_devs.h index 2caa44c..1dd2f39 100644 --- a/src/southbridge/amd/pi/hudson/pci_devs.h +++ b/src/southbridge/amd/pi/hudson/pci_devs.h @@ -86,6 +86,7 @@
/* LPC BUS */ #define PCU_DEV 0x14 +#define LPC_DEV PCU_DEV #define LPC_FUNC 3 #define LPC_DEVID 0x780E #define LPC_DEVFN PCI_DEVFN(LPC_DEV,LPC_FUNC)