Arm Firmware Framework for A-Profile (FF-A) transport
Arm's standardised way for Linux running on 64-bit Arm processors to talk to secure-world firmware and trusted services (such as TF-A, Trusted Services secure partitions, and TPMs implemented as secure services). It is the common plumbing used on modern Arm SoCs from vendors like TI to coordinate with code running in the secure world alongside the normal OS.
recommendation
It should stay because FF-A is a current Arm-defined standard that ships on new Arm64 platforms in 2025, and the directory has seen steady upstream development through early 2026. It also acts as the shared transport that other in-kernel features depend on, including Trusted Services access and the newer TPM-over-FF-A support documented in the kernel tree, so removing it would break those clients.
repository signals
sources
- cateee.net
CONFIG_ARM_FFA_TRANSPORT has been present from Linux 5.14 through current 6.x/7.0-rc heads, indicating an actively carried upstream subsystem rather than a legacy orphan.
- docs.kernel.org
Current kernel documentation says Trusted Services secure partitions are accessed through the FF-A driver, showing active in-kernel consumers for modern secure-service deployments.
- docs.kernel.org
Current kernel documentation describes TPM CRB over FF-A and explains that a TPM can be implemented as an FF-A secure service, showing new client functionality built on this transport.
- software-dl.ti.com
TI's current AM62L Linux SDK documents TF-A as part of the shipping Linux boot stack on contemporary K3 ARM64 SoCs, supporting that relevant platforms are still sold and deployed.
- developer.arm.com
Arm publishes FF-A as a current A-profile firmware framework standard, indicating the interface targets ongoing Arm platform designs rather than retired hardware.
codex reasoning notes (technical)
Local shell inspection of the directory showed real driver code with init/exit paths (`rootfs_initcall(ffa_init)`, `module_exit`, bus registration) in `driver.c` and `bus.c`, so this is a true driver directory. Local `git -c safe.directory=... log` showed steady substantive upstream work through 2026-03-06, including fixes and feature work, and I found no evidence of a removal/deprecation trend. All cited URLs were obtained via web search: LKDDb for upstream config continuity, kernel docs for present FF-A client drivers, TI SDK docs for current deployment evidence, and Arm's FF-A page for the vendor-standard context. No natural replacement exists because this directory is the common transport/bus layer that other FF-A client drivers depend on.