aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Żygowski <michal.zygowski@3mdeb.com>2024-02-13 15:36:25 +0100
committerFelix Held <felix-coreboot@felixheld.de>2024-04-26 11:54:45 +0000
commitfb2c09d5162719a72f0fbc533bec0aa3e8458b93 (patch)
tree8c5bbcbfe299066888eddfcd27d2660c2657a739
parent7c587f2d59cc0c7f59a5ae91fee8910da783d680 (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.c5
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