Qualcomm platforms with a discrete TPM (dTPM) talked to it directly over a non-secure SPI channel from the kernel. Arm's Base Boot Security Requirements (BBSR) v1.4 require that access to go through TrustZone instead, so on affected Qualcomm platforms the TPM 2.0 instance is now fronted by a Trusted Application (TA) running inside Qualcomm's Trusted Execution Environment (QTEE), which talks to the dTPM (or implements an fTPM) on the kernel's behalf.
This series adds a kernel driver for that TA, built on the QCOMTEE object-IPC transport (drivers/tee/qcomtee/) already used to reach other QTEE services.
This patch series functionally depends on below(first 5 changes specially) for qtee service discovery. - https://lore.kernel.org/lkml/20261015-qcom_uefisecapp_migrate_qcomtee-v5-0-1...
Tested on Glymur-crd target with tpm2-tools utility.
Validations: - Get capabilities - Random number generator - RSA key creation, encryption and decryption.
Signed-off-by: Kuldeep Singh kuldeep.singh@oss.qualcomm.com --- Changes in v4: - Add new line before goto label(Jarkko). - Link to v3: https://patch.msgid.link/20261015-tpm_qcom_driver-v3-0-247c8e50250e@qti.qual...
Changes in v3: - Merge tpm_qcom.h into tpm_qcom.c(Amir comments) - Update return values of functions and drop certain error prints. - Define locality_arg as default value. - Add Jarkko's tag on all but drop from 2/3 as significant changes done. - Link to v2: https://patch.msgid.link/20260907-tpm_qcom_driver-v2-0-71a6b1752da8@oss.qual...
Changes in v2: - Use QCOMTEE_TPM_UID as 81 for service discovery in patch 1. - Use FIELD_GET, zero initialised array and log improvement (Konrad) - Improve commit title and other fixes (Jarkko) - Split MAINTAINERS entry as separate patch. - Link to v1: https://patch.msgid.link/20260831-tpm_qcom_driver-v1-0-6f16fa6924fa@oss.qual...
To: Amirreza Zarrabi amirreza.zarrabi@oss.qualcomm.com To: Jens Wiklander jenswi@kernel.org To: Sumit Garg sumit.garg@kernel.org To: Peter Huewe peterhuewe@gmx.de To: Jarkko Sakkinen jarkko@kernel.org To: Jason Gunthorpe jgg@ziepe.ca To: Kuldeep Singh kuldeep.singh@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org Cc: op-tee@lists.trustedfirmware.org Cc: linux-kernel@vger.kernel.org Cc: linux-integrity@vger.kernel.org
--- Kuldeep Singh (3): tee: qcomtee: Register qcom.tz.tpm service for discovery tpm: Introduce Qualcomm TPM driver MAINTAINERS: Add Qualcomm TPM driver entry
MAINTAINERS | 6 + drivers/char/tpm/Kconfig | 9 + drivers/char/tpm/Makefile | 1 + drivers/char/tpm/tpm_qcom.c | 414 ++++++++++++++++++++++++++++++++++++++ drivers/tee/qcomtee/call.c | 4 +- drivers/tee/qcomtee/qcomtee_msg.h | 2 + 6 files changed, 435 insertions(+), 1 deletion(-) --- base-commit: 2efb7a11f1aa4d2dc285fe2680cca22cb9f72f64 change-id: 20260831-tpm_qcom_driver-d21c720e73b2 prerequisite-change-id: 20260408-qcom_uefisecapp_migrate_qcomtee-13869d45e014:v5 prerequisite-patch-id: faf4520d818abf0d7533f71d9c8b9a8aade34626 prerequisite-patch-id: b487dfe2fbc076f4815dc6c73b9e68b0b78c961f prerequisite-patch-id: 9f2c4ee37ba173bdc860f253d44974379f2cf125 prerequisite-patch-id: e86905ac6289821db30fd9a17f73e276e0a88363 prerequisite-patch-id: 8777bfa2ef8344715bf972d049acb0a6ef49b136 prerequisite-patch-id: 1c7f946e770a1cbc1599f9571282c9265a6af9cd prerequisite-patch-id: 7be993abea2ca36057d9352381a5890f50996dda
Best regards, -- Kuldeep Singh kuldeep.singh@oss.qualcomm.com