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/20261006-qcom_uefisecapp_migrate_qcomtee-v4-0-bf1c8e2a6...@oss.qualcomm.com/ 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 <[email protected]> --- 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 Jarrko's tag on all but drop from 2/3 as significant changes done. - Link to v2: https://patch.msgid.link/[email protected] 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/[email protected] To: Amirreza Zarrabi <[email protected]> To: Jens Wiklander <[email protected]> To: Sumit Garg <[email protected]> To: Peter Huewe <[email protected]> To: Jarkko Sakkinen <[email protected]> To: Jason Gunthorpe <[email protected]> To: Kuldeep Singh <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] --- 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 | 413 ++++++++++++++++++++++++++++++++++++++ drivers/tee/qcomtee/call.c | 4 +- drivers/tee/qcomtee/qcomtee_msg.h | 2 + 6 files changed, 434 insertions(+), 1 deletion(-) --- base-commit: d419d682257d813f6cb7a28e42b35d0edf4ad038 change-id: 20260831-tpm_qcom_driver-d21c720e73b2 prerequisite-change-id: 20260408-qcom_uefisecapp_migrate_qcomtee-13869d45e014:v4 prerequisite-patch-id: faf4520d818abf0d7533f71d9c8b9a8aade34626 prerequisite-patch-id: b487dfe2fbc076f4815dc6c73b9e68b0b78c961f prerequisite-patch-id: aef7dba7d7662f87cb06bbf5cabca93304843f02 prerequisite-patch-id: bbdd5327c15aeaa99ce9b74bab324a98f084ed48 prerequisite-patch-id: 6263a8a3b40df5cce7fbe4b119f4b9d67a4c06b4 prerequisite-patch-id: 0c1a650a54014eb20f7ab9ec20038b49e42680e1 prerequisite-patch-id: 7be993abea2ca36057d9352381a5890f50996dda Best regards, -- Kuldeep Singh <[email protected]>

