diff options
author | Michał Żygowski <michal.zygowski@3mdeb.com> | 2024-02-13 15:36:25 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2024-04-26 11:54:45 +0000 |
commit | fb2c09d5162719a72f0fbc533bec0aa3e8458b93 (patch) | |
tree | 8c5bbcbfe299066888eddfcd27d2660c2657a739 | |
parent | 7c587f2d59cc0c7f59a5ae91fee8910da783d680 (diff) |
drivers/crb: Disable device if CRB TPM not present
If CRB TPM is not detected in the system it may mean it is inactive
due to disabled or neutered ME. In such case, the chipset will route
the TPM traffic to LPC/SPI on Intel systems.
If CRB TPM is not probed, disable the CRB TPM device driver, so that
coreboot will not generate improper SMBIOS/SSDT ACPI tables.
Change-Id: Ie0928536d9042b1f680d585e1ca9ad2cadf0c8ef
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80454
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
-rw-r--r-- | src/drivers/crb/tis.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/drivers/crb/tis.c b/src/drivers/crb/tis.c index 5e81935d49..df45125f01 100644 --- a/src/drivers/crb/tis.c +++ b/src/drivers/crb/tis.c @@ -207,6 +207,11 @@ static struct device_operations __maybe_unused crb_ops = { static void enable_dev(struct device *dev) { + if (crb_tis_probe(NULL) == NULL) { + dev->enabled = 0; + return; + } + #if !DEVTREE_EARLY dev->ops = &crb_ops; #endif |