[coreboot-gerrit] New patch to review for coreboot: drivers/pc80/tpm: Update default acpi path

Tobias Diedrich (ranma+coreboot@tdiedrich.de) gerrit at coreboot.org
Fri Feb 10 00:39:32 CET 2017


Tobias Diedrich (ranma+coreboot at tdiedrich.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18315

-gerrit

commit 60ccf606672cecb8e81b94d8b28477360e2c6c47
Author: Tobias Diedrich <ranma+openocd at tdiedrich.de>
Date:   Fri Feb 10 00:28:45 2017 +0100

    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.
    
    Change-Id: I615b4873ca829a859211403c84234d43d60f2243
    Signed-off-by: Tobias Diedrich <ranma+coreboot at tdiedrich.de>
---
 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 83dc923..3c3e491 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);
 	}
 



More information about the coreboot-gerrit mailing list