<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-freescale.git/recipes-bsp/imx-atf/imx-atf_2.14.bb, branch master</title>
<subtitle>Mirror of github.com/Freescale/meta-freescale</subtitle>
<id>https://git.enea.com/cgit/linux/meta-freescale.git/atom?h=master</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-freescale.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/'/>
<updated>2026-10-28T19:26:25+00:00</updated>
<entry>
<title>imx-atf: Build out of tree and from a clean directory</title>
<updated>2026-10-28T19:26:25+00:00</updated>
<author>
<name>Rodrigo M. Duarte</name>
<email>rodrigo.duarte@ossystems.com.br</email>
</author>
<published>2026-10-28T19:26:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=a70d4f595a8c1ab0fb7b5e942b00a576a01eaed3'/>
<id>urn:sha1:a70d4f595a8c1ab0fb7b5e942b00a576a01eaed3</id>
<content type='text'>
imx-atf built in the source tree, into ${S}/build, and do_compile never
cleaned it. The TF-A Makefile does not track build options such as SPD
or LOG_LEVEL, so after a PACKAGECONFIG change make finds every object
up to date and relinks nothing. do_unpack does not depend on
PACKAGECONFIG, so it does not rerun either, and do_deploy then ships
the bl31.bin from the previous configuration.

On imx8mq-evk this showed up after switching from the NXP BSP to the
mainline BSP, which drops the optee PACKAGECONFIG. The deployed BL31
was still the SPD=opteed build. Its imx8mq setup sets the BL32 entry to
BL32_BASE unconditionally, and the mainline boot container carries no
OP-TEE, so the board hung right after the "BL31: Built" banner. The
stale binary was reproduced byte for byte by building with SPD=opteed
and then without it in the same build directory.

Build into ${WORKDIR}/build through BUILD_BASE, clean it before every
compile, and deploy from there. The Makefile stays in ${S}, so
do_compile runs make with -C ${S}; the default do_compile would skip
make, as ${B} has no Makefile.

Tested on imx8mq-evk with the mainline BSP by building imx-atf with the
optee PACKAGECONFIG and then without it. Each build recompiles
everything, the optee bl31 carries the opteed service and the plain
one does not. With u-boot-fslc 2026.10, core-image-weston then boots on
an imx8mq-evk board through BL31, U-Boot and Linux to Weston.

Signed-off-by: Rodrigo M. Duarte &lt;rodrigo.duarte@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>imx-atf: Update to lf-6.18.37_2.1.0</title>
<updated>2026-10-26T13:28:56+00:00</updated>
<author>
<name>Rodrigo M. Duarte</name>
<email>rodrigo.duarte@ossystems.com.br</email>
</author>
<published>2026-10-26T12:46:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=6a1cd29ed530507d16d6d1915d394cfd7de2a400'/>
<id>urn:sha1:6a1cd29ed530507d16d6d1915d394cfd7de2a400</id>
<content type='text'>
Update to the NXP LF6.18.37_2.1.0 release (9 commits), which adds
the initial i.MX 937 support and several SCMI and TRDC fixes.

Drop two patches that are no longer needed:

- 0001-scmi-imx9-Remove-unused-tmp-pointer.patch no longer applies:
  upstream e5d744b06 ("LF-18583 fix(scmi): fix chunked transfer in
  scmi_per_lpm_mode_set") reworked the function, and it now uses
  tmp, so the GCC 16 unused-variable error is gone.
- 0001-imx93-trdc-Fix-header-guard.patch was no longer listed in
  SRC_URI, and the fix is already upstream.

Tested by building imx-atf for imx8mq-evk, imx8mp-lpddr4-evk,
imx93-11x11-lpddr4x-evk, imx943-19x19-lpddr4-evk and
imx95-19x19-verdin.

Signed-off-by: Rodrigo M. Duarte &lt;rodrigo.duarte@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>imx-atf: add generic ATF_SYS_PWR_FULL_CTRL passthrough</title>
<updated>2026-10-01T14:25:10+00:00</updated>
<author>
<name>Francesco Dolcini</name>
<email>francesco.dolcini@toradex.com</email>
</author>
<published>2026-10-01T14:04:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=725a7cbe289486a5fb52f2d625297dfa7fe82699'/>
<id>urn:sha1:725a7cbe289486a5fb52f2d625297dfa7fe82699</id>
<content type='text'>
BL31's SYS_PWR_FULL_CTRL (plat/imx/imx9/{imx94,imx95}/platform.mk)
selects whether SCMI shutdown/cold-reset requests ask for a full
SoC/board power-down or reset.

Add ATF_SYS_PWR_FULL_CTRL as a machine-overridable variable,
mirroring the existing ATF_BOOT_UART_BASE/IMX_BOOT_UART_BASE pattern
in this same recipe. Defaults to "0", matching BL31's own default.

Signed-off-by: Francesco Dolcini &lt;francesco.dolcini@toradex.com&gt;
</content>
</entry>
<entry>
<title>imx-atf: Add CVE_PRODUCT</title>
<updated>2026-09-17T13:19:09+00:00</updated>
<author>
<name>Hiago De Franco</name>
<email>hfranco@baylibre.com</email>
</author>
<published>2026-09-17T12:13:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=eafb9d1a54f60e3284787be73150ef767232ec13'/>
<id>urn:sha1:eafb9d1a54f60e3284787be73150ef767232ec13</id>
<content type='text'>
imx-atf sets no CVE_PRODUCT, so cve-check falls back to "imx-atf". That
name is in no NVD record, so the recipe is always reported with zero
CVEs.

imx-atf is NXP's fork of TF-A. Use the same CVE_PRODUCT as meta-arm's
trusted-firmware-a.inc.

Signed-off-by: Hiago De Franco &lt;hfranco@baylibre.com&gt;
</content>
</entry>
<entry>
<title>imx-atf: Update to 2.14</title>
<updated>2026-09-14T12:01:44+00:00</updated>
<author>
<name>Stefan Eichenberger</name>
<email>stefan.eichenberger@toradex.com</email>
</author>
<published>2026-09-09T11:44:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=408b6490ec1be6f77489f4e6eee02f003d11f797'/>
<id>urn:sha1:408b6490ec1be6f77489f4e6eee02f003d11f797</id>
<content type='text'>
Move the downstream NXP TF-A from the lf_v2.12 branch to lf_v2.14, which
is the ARM Trusted Firmware matching the NXP lf-6.18.20_2.0.0 release.

Refresh 0001-scmi-imx9-Remove-unused-tmp-pointer.patch: the SCMI vendor
driver moved from drivers/arm/css/scmi/vendor/scmi_imx9.c to
drivers/nxp/scmi/vendor/scmi_imx9.c in 2.14, so the patch no longer
applied. The unused-but-set tmp pointer in scmi_per_lpm_mode_set() is
still present, so the fix is still required to build with GCC 16 and
-Werror.

Signed-off-by: Stefan Eichenberger &lt;stefan.eichenberger@toradex.com&gt;
</content>
</entry>
</feed>
