From ac8261ce3b32f0d450ccb35235e2285ba3c56f39 Mon Sep 17 00:00:00 2001 From: Tobias Diedrich Date: Fri, 10 Feb 2017 00:28:45 +0100 Subject: [PATCH] UPSTREAM: drivers/pc80/tpm: Update default acpi path The existing default path of PCI0.LPCB is missing the \_SB prefix and prevents Linux from detecting the TPM. This is assuming that normally the LPCB device is most commonly on \_SB.PCI0.LPCB. SSDT excerpt without the patch: """ DefinitionBlock ("", "SSDT", 2, "CORE ", "COREBOOT", 0x0000002A) { External (_SB_.PCI0.GFX0, DeviceObj) [...] External (_SB_.PCI0.SATA, DeviceObj) External (PCI0.LPCB, DeviceObj) [...] Scope (PCI0.LPCB) { Device (TPM) [...] Scope (\_SB.PCI0.GFX0) { Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices [...] """ SSDT excerpt with the patch: """ DefinitionBlock ("", "SSDT", 2, "CORE ", "COREBOOT", 0x0000002A) { External (_SB_.PCI0.GFX0, DeviceObj) [...] External (_SB_.PCI0.LPCB, DeviceObj) [...] External (_SB_.PCI0.SATA, DeviceObj) [...] Scope (\_SB.PCI0.LPCB) { Device (TPM) [...] Scope (\_SB.PCI0.GFX0) { Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices [...] """ After the patch the TPM shows up in /sys/bus/acpi/devices/PNP0C31:00. Previously it was missing and not detected by the kernel. BUG=none BRANCH=none TEST=none Change-Id: I239b934fb5ec1f320cc02cafa20f8756e4c6bf68 Signed-off-by: Furquan Shaikh Original-Commit-Id: 36537f113cf38f3b29cf5a51d563e8278f4683d8 Original-Change-Id: I615b4873ca829a859211403c84234d43d60f2243 Original-Signed-off-by: Tobias Diedrich Original-Reviewed-on: https://review.coreboot.org/18315 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Nicola Corna Original-Reviewed-by: Philipp Deppenwiese Original-Reviewed-by: Duncan Laurie Reviewed-on: https://chromium-review.googlesource.com/443680 --- src/drivers/pc80/tpm/tpm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/pc80/tpm/tpm.c b/src/drivers/pc80/tpm/tpm.c index 83dc92348f..3c3e491aa3 100644 --- a/src/drivers/pc80/tpm/tpm.c +++ b/src/drivers/pc80/tpm/tpm.c @@ -876,7 +876,7 @@ static void lpc_tpm_fill_ssdt(struct device *dev) CONFIG_TPM_TIS_BASE_ADDRESS, 0x5000); if (!path) { - path = "PCI0.LPCB"; + path = "\\_SB_.PCI0.LPCB"; printk(BIOS_DEBUG, "Using default TPM ACPI path: '%s'\n", path); }