tpm_crb: Add idle support for the Arm FF-A start method
authorStuart Yoder <stuart.yoder@arm.com>
Sat, 18 Oct 2025 11:25:18 +0000 (14:25 +0300)
committerJarkko Sakkinen <jarkko@kernel.org>
Sat, 18 Oct 2025 11:33:22 +0000 (14:33 +0300)
commitdbfdaeb381a49a7bc753d18e2876bc56a15e01cc
tree97d971a3e7e65cf33d8d0255b3bf7e8f26d0aa0c
parentf406055cb18c6e299c4a783fc1effeb16be41803
tpm_crb: Add idle support for the Arm FF-A start method

According to the CRB over FF-A specification [1], a TPM that implements
the ABI must comply with the TCG PTP specification. This requires support
for the Idle and Ready states.

This patch implements CRB control area requests for goIdle and
cmdReady on FF-A based TPMs.

The FF-A message used to notify the TPM of CRB updates includes a
locality parameter, which provides a hint to the TPM about which
locality modified the CRB.  This patch adds a locality parameter
to __crb_go_idle() and __crb_cmd_ready() to support this.

[1] https://developer.arm.com/documentation/den0138/latest/

Signed-off-by: Stuart Yoder <stuart.yoder@arm.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
drivers/char/tpm/tpm_crb.c