[PATCH 3/4] firmware: zynqmp: Bind TPM2 driver for Versal Gen 2

Padmarao Begari padmarao.begari at amd.com
Fri Mar 27 13:52:57 CET 2026


Wire up tpm2_versal2_smc in zynqmp_firmware_bind() so the driver is
probed automatically when PLM confirms both EXTEND_HWPCR and
GET_HWPCR APIs are available.

Signed-off-by: Padmarao Begari <padmarao.begari at amd.com>
---
 drivers/firmware/firmware-zynqmp.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c
index 2315d5932d1..4a0e4eaeb51 100644
--- a/drivers/firmware/firmware-zynqmp.c
+++ b/drivers/firmware/firmware-zynqmp.c
@@ -623,6 +623,19 @@ static int zynqmp_firmware_bind(struct udevice *dev)
 		}
 	}
 
+	if (IS_ENABLED(CONFIG_TPM2_VERSAL2_SMC)) {
+		ret = zynqmp_pm_xilocp_is_feature_supported(XOCP_API_EXTEND_HWPCR);
+		if (!ret)
+			ret = zynqmp_pm_xilocp_is_feature_supported(XOCP_API_GET_HWPCR);
+
+		if (!ret) {
+			ret = device_bind_driver(dev, "tpm2_versal2_smc",
+						 "tpm2_versal2_smc", &child);
+			if (ret)
+				printf("TPM2 Versal Gen 2 driver bind failed: %d\n", ret);
+		}
+	}
+
 	return 0;
 }
 
-- 
2.34.1



More information about the U-Boot mailing list