The Trusted Firmware-A (TF-A), sometimes called ARM Trusted Firmware (ATF), is an open source reference implementation of secure-world software for Armv7-A and Armv8-A class processors.

Source code

The source code for ConnectCore 95 TF-A is available at the SoC vendor (NXP) repo at https://github.com/nxp-imx/imx-atf/tree/lf_v2.10_6.6.52_2.2.x.

This is forked from the original repo, hosted by Linaro. This repo contains the SoC customizations by NXP. Digi customizations for the SOM are provided in the form of patches over the imx-atf recipe in meta-digi layer at https://github.com/digi-embedded/meta-digi/blob/scarthgap/meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/.

Current supported version is 2.10.

Function

The System Manager (SM) reads the TF-A from the boot media and lets the Cortex-A55 run it.

TF-A is responsible for loading boot stage 3 firmware (BL3):

  • BL32: Secure Monitor (OP-TEE)

  • BL33: Non-secure firmware (U-Boot)

Digi Embedded Yocto recipe

The recipe that builds the Trusted Firmware-A is called imx-atf. The original recipe belongs to meta-freescale layer. Digi Embedded Yocto appends the recipe in meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend.

To build the TF-A from within a Digi Embedded Yocto project:

$ bitbake imx-atf