With i.MX8MP A1 silicon the OCRAM space is extended to 576KB whereas the pre-release silicon has only 512KB. So the upstream TF-A adapted the base address to move BL31 to the last 128KB of the OCRAM. The adaption was a bit messy because each version changed it: - v2.4 base addr = 0x960000 (original) - v2.5 base addr = 0x970000 (adapted to new silicon revision) - v2.6 base addr = 0x960000 (changed back by accident) - v2.7 base addr = 0x970000 (accident fixed) With v2.7 it is correctly set for A1 silicon onwards and we strongly recommend to use this version or newer. This commit also adapts the documentation for the i.MX8MP-EVK to reference the upstream TF-A and to point out our favorite version. Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> --- Changelog: v3: - rephrase the complete commit message. Sry. again for the previouse noise. v2: - fix commit message ger/eng mixup and mention tapeout version A1 Documentation/boards/imx/nxp-imx8mp-evk.rst | 11 +++++++---- arch/arm/mach-imx/include/mach/atf.h | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Documentation/boards/imx/nxp-imx8mp-evk.rst b/Documentation/boards/imx/nxp-imx8mp-evk.rst index 366c1de500..1074992f2f 100644 --- a/Documentation/boards/imx/nxp-imx8mp-evk.rst +++ b/Documentation/boards/imx/nxp-imx8mp-evk.rst @@ -40,15 +40,18 @@ As a last step of this process those files need to be placed in firmware/${f}; \ done -Get and Build the ARM Trusted firmware --------------------------------------- +Get and Build the Trusted Firmware A +------------------------------------ -Get ATF from https://source.codeaurora.org/external/imx/imx-atf, branch -imx_5.4.3_2.0.0:: +Get TF-A from https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/ and +checkout version v2.7:: make PLAT=imx8mp bl31 cp build/imx8mp/release/bl31.bin ${barebox_srctree}/imx8mp-bl31.bin +.. warning:: It is important to use a version >= v2.7 else your system + might not boot. + Build Barebox ------------- diff --git a/arch/arm/mach-imx/include/mach/atf.h b/arch/arm/mach-imx/include/mach/atf.h index 09396f4646..bc400ddbad 100644 --- a/arch/arm/mach-imx/include/mach/atf.h +++ b/arch/arm/mach-imx/include/mach/atf.h @@ -10,7 +10,7 @@ #define MX8MM_ATF_BL31_BASE_ADDR 0x00920000 #define MX8MN_ATF_BL31_BASE_ADDR 0x00960000 -#define MX8MP_ATF_BL31_BASE_ADDR 0x00960000 +#define MX8MP_ATF_BL31_BASE_ADDR 0x00970000 #define MX8MQ_ATF_BL31_BASE_ADDR 0x00910000 #define MX8M_ATF_BL33_BASE_ADDR 0x40200000 #define MX8MM_ATF_BL33_BASE_ADDR MX8M_ATF_BL33_BASE_ADDR -- 2.30.2