drivers/firmware/arm_ffa

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.

keep conf=0.91 deploy=medium replacement=none subsystem=firmware category=firmware
91%

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

6 files
2,455 source lines
122 commits, 5y
+3,148 / −664 lines added / removed, 5y
18 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 122 total · active in 35/61 months
2021 2022 2023 2024 2025 2026 2021-04: 0 commits · +0 −0 2021-05: 5 commits · +1,050 −12 2021-06: 3 commits · +4 −4 2021-07: 1 commit · +4 −2 2021-08: 0 commits · +0 −0 2021-09: 2 commits · +9 −1 2021-10: 3 commits · +49 −6 2021-11: 0 commits · +0 −0 2021-12: 0 commits · +0 −0 2022-01: 0 commits · +0 −0 2022-02: 0 commits · +0 −0 2022-03: 0 commits · +0 −0 2022-04: 3 commits · +14 −10 2022-05: 0 commits · +0 −0 2022-06: 0 commits · +0 −0 2022-07: 0 commits · +0 −0 2022-08: 0 commits · +0 −0 2022-09: 9 commits · +112 −34 2022-10: 0 commits · +0 −0 2022-11: 1 commit · +10 −91 2022-12: 0 commits · +0 −0 2023-01: 1 commit · +2 −2 2023-02: 0 commits · +0 −0 2023-03: 0 commits · +0 −0 2023-04: 3 commits · +17 −5 2023-05: 1 commit · +6 −0 2023-06: 1 commit · +1 −0 2023-07: 0 commits · +0 −0 2023-08: 0 commits · +0 −0 2023-09: 1 commit · +14 −2 2023-10: 24 commits · +828 −62 2023-11: 1 commit · +2 −2 2023-12: 0 commits · +0 −0 2024-01: 6 commits · +57 −28 2024-02: 1 commit · +1 −1 2024-03: 1 commit · +1 −1 2024-04: 8 commits · +147 −50 2024-05: 2 commits · +58 −29 2024-06: 0 commits · +0 −0 2024-07: 1 commit · +1 −1 2024-08: 7 commits · +187 −61 2024-09: 1 commit · +8 −3 2024-10: 1 commit · +1 −1 2024-11: 0 commits · +0 −0 2024-12: 1 commit · +12 −10 2025-01: 1 commit · +1 −0 2025-02: 21 commits · +431 −174 2025-03: 1 commit · +2 −1 2025-04: 0 commits · +0 −0 2025-05: 3 commits · +36 −35 2025-06: 0 commits · +0 −0 2025-07: 1 commit · +1 −1 2025-08: 0 commits · +0 −0 2025-09: 1 commit · +27 −10 2025-10: 1 commit · +9 −5 2025-11: 0 commits · +0 −0 2025-12: 2 commits · +30 −4 2026-01: 0 commits · +0 −0 2026-02: 2 commits · +12 −12 2026-03: 1 commit · +4 −4 2026-04: 0 commits · +0 −0

sources

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.