Re: [PATCH 0/4] Add support for the TPM FF-A start method

Stuart Yoder
2025-02-21T18:29:05Z

On 2/21/25 8:02 AM, Sudeep Holla wrote:
> Hi Sumit,
>
> On Fri, Feb 21, 2025 at 07:16:35PM +0530, Sumit Garg wrote:
>> On Mon, Feb 17, 2025 at 10:56:58AM -0600, Stuart Yoder wrote:
>>>
>>> I don't see how changing TPM discovery to be via FF-A directly
>>> would improve maintainability.
>>
>> You are considering ACPI at this point but when people want to use this
>> TPM over FF-A on a platform using DT then it will require corresponding
>> DT bindings. After that each platform has to enable TPM over FF-A in
>> their corresponding ACPI/DT. All that won't be needed with auto
>> discovery over FF-A.

Yes, we would need a new DT binding.

> I hear you and completely agree. However, someone thought it was a good idea
> to align with other start methods and duplicate information in the TCG ACPI
> specification. This is definitely a bad idea, as it may contradict the
> firmware. All we needed was a simple flag to indicate whether FF-A is the
> start method.

Do you mean a flag exposed via ACPI? If you do FF-A based discovery you
don't even need that. Everything could be determined via an FF-A
interface.

> It sounds like a classic case of misalignment between specification authors
> and practical implementation needs. Instead of a simple flag to indicate FF-A
> as the start method, duplicating information in the TCG ACPI specification
> seems unnecessary and potentially problematic—especially if it risks
> conflicting with firmware behavior.

There is a lot of history, but I think it was simply that ACPI
advertisement of an FF-A based TPM seemed like the approach
with the least friction. And Linux is not the only target OS.

> Anyway, I can't comment on how we ended up here, but this seems to be the reality.

I don't think we are locked into ACPI (or DT) only discovery.
It's possible that with a modest delta on top of this patch series
that the tpm_crb driver could also probe based on FF-A.

The CRB over FF-A spec (DEN0138) could be extended in a backwards
compatible way to expose additional info like the base address of the
CRB.

Thanks,
Stuart