[PATCH v2] doc: board: freescale: imx8mp_evk: update to newer versions and change ATF_LOAD_ADDR

Update imx-atf and firmware-imx to latest released versions.
Update address of ATF_LOAD_ADDR that has changed to 0x970000 in imx-atf commit 48733cb4e773a7584ced601de9d717efa3d73815.
Add 'O=' to make and build in separate directory as one issue has been noticed where it was trouble building directly inside u-boot source dir. Restructure the workflow and copy binaries after defconfig to ensure that build directory is created.
Signed-off-by: Peter Bergin peter@berginkonsult.se Cc: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com --- v2: - Corrected ATF_LOAD_ADDR in commit message - Changed workflow to copy binaries after build directory is created
doc/board/freescale/imx8mp_evk.rst | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/doc/board/freescale/imx8mp_evk.rst b/doc/board/freescale/imx8mp_evk.rst index ccffcf7257..796a7611d0 100644 --- a/doc/board/freescale/imx8mp_evk.rst +++ b/doc/board/freescale/imx8mp_evk.rst @@ -16,27 +16,21 @@ Quick Start Get and Build the ARM Trusted firmware --------------------------------------
-Note: $(srctree) is the U-Boot source directory Get ATF from: https://source.codeaurora.org/external/imx/imx-atf -branch: imx_5.4.47_2.2.0 +branch: imx_5.4.70_2.3.0
.. code-block:: bash
$ make PLAT=imx8mp bl31 - $ cp build/imx8mp/release/bl31.bin $(srctree)
Get the ddr firmware --------------------
.. code-block:: bash
- $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin - $ chmod +x firmware-imx-8.9.bin - $ ./firmware-imx-8.9.bin - $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4_pmu_train_1d_dmem_201904.bin $(srctree)/lpddr4_pmu_train_1d_dmem.bin - $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4_pmu_train_1d_imem_201904.bin $(srctree)/lpddr4_pmu_train_1d_imem.bin - $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4_pmu_train_2d_dmem_201904.bin $(srctree)/lpddr4_pmu_train_2d_dmem.bin - $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4_pmu_train_2d_imem_201904.bin $(srctree)/lpddr4_pmu_train_2d_imem.bin + $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.10.bin + $ chmod +x firmware-imx-8.10.bin + $ ./firmware-imx-8.10.bin
Build U-Boot ------------ @@ -44,15 +38,20 @@ Build U-Boot .. code-block:: bash
$ export CROSS_COMPILE=aarch64-poky-linux- - $ make imx8mp_evk_defconfig - $ export ATF_LOAD_ADDR=0x960000 - $ make flash.bin + $ make O=build imx8mp_evk_defconfig + $ cp ../imx-atf/build/imx8mp/release/bl31.bin ./build/bl31.bin + $ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_1d_dmem_202006.bin ./build/lpddr4_pmu_train_1d_dmem.bin + $ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_1d_imem_202006.bin ./build/lpddr4_pmu_train_1d_imem.bin + $ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_2d_dmem_202006.bin ./build/lpddr4_pmu_train_2d_dmem.bin + $ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_2d_imem_202006.bin ./build/lpddr4_pmu_train_2d_imem.bin + $ export ATF_LOAD_ADDR=0x970000 + $ make O=build flash.bin
Burn the flash.bin to the MicroSD card at offset 32KB:
.. code-block:: bash
- $sudo dd if=flash.bin of=/dev/sd[x] bs=1K seek=32 conv=notrunc; sync + $sudo dd if=build/flash.bin of=/dev/sd[x] bs=1K seek=32 conv=notrunc; sync
Boot ----

Hello Peter,
-----Original Message----- From: Peter Bergin peter@berginkonsult.se Sent: Sunday, February 14, 2021 8:19 PM To: u-boot@lists.denx.de Cc: Peter Bergin peter@berginkonsult.se; ZHIZHIKIN Andrey andrey.zhizhikin@leica-geosystems.com Subject: [PATCH v2] doc: board: freescale: imx8mp_evk: update to newer versions and change ATF_LOAD_ADDR
Update imx-atf and firmware-imx to latest released versions.
Update address of ATF_LOAD_ADDR that has changed to 0x970000 in imx-atf commit 48733cb4e773a7584ced601de9d717efa3d73815.
Add 'O=' to make and build in separate directory as one issue has been noticed where it was trouble building directly inside u-boot source dir. Restructure the workflow and copy binaries after defconfig to ensure that build directory is created.
Signed-off-by: Peter Bergin peter@berginkonsult.se Cc: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com
v2:
- Corrected ATF_LOAD_ADDR in commit message
- Changed workflow to copy binaries after build directory is created
doc/board/freescale/imx8mp_evk.rst | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/doc/board/freescale/imx8mp_evk.rst b/doc/board/freescale/imx8mp_evk.rst index ccffcf7257..796a7611d0 100644 --- a/doc/board/freescale/imx8mp_evk.rst +++ b/doc/board/freescale/imx8mp_evk.rst @@ -16,27 +16,21 @@ Quick Start Get and Build the ARM Trusted firmware
-Note: $(srctree) is the U-Boot source directory Get ATF from: https://source.codeaurora.org/external/imx/imx-atf -branch: imx_5.4.47_2.2.0 +branch: imx_5.4.70_2.3.0
.. code-block:: bash
$ make PLAT=imx8mp bl31
- $ cp build/imx8mp/release/bl31.bin $(srctree)
Get the ddr firmware
.. code-block:: bash
- $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin
- $ chmod +x firmware-imx-8.9.bin
- $ ./firmware-imx-8.9.bin
- $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4_pmu_train_1d_dmem_201904.bin $(srctree)/lpddr4_pmu_train_1d_dmem.bin
- $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4_pmu_train_1d_imem_201904.bin $(srctree)/lpddr4_pmu_train_1d_imem.bin
- $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4_pmu_train_2d_dmem_201904.bin $(srctree)/lpddr4_pmu_train_2d_dmem.bin
- $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4_pmu_train_2d_imem_201904.bin $(srctree)/lpddr4_pmu_train_2d_imem.bin
- $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.10.bin
- $ chmod +x firmware-imx-8.10.bin
- $ ./firmware-imx-8.10.bin
Build U-Boot
@@ -44,15 +38,20 @@ Build U-Boot .. code-block:: bash
$ export CROSS_COMPILE=aarch64-poky-linux-
- $ make imx8mp_evk_defconfig
- $ export ATF_LOAD_ADDR=0x960000
- $ make flash.bin
- $ make O=build imx8mp_evk_defconfig
- $ cp ../imx-atf/build/imx8mp/release/bl31.bin ./build/bl31.bin
- $ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_1d_dmem_202006.bin ./build/lpddr4_pmu_train_1d_dmem.bin
- $ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_1d_imem_202006.bin ./build/lpddr4_pmu_train_1d_imem.bin
- $ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_2d_dmem_202006.bin ./build/lpddr4_pmu_train_2d_dmem.bin
- $ cp ../firmware-imx-8.10/firmware/ddr/synopsys/lpddr4_pmu_train_2d_imem_202006.bin ./build/lpddr4_pmu_train_2d_imem.bin
- $ export ATF_LOAD_ADDR=0x970000
- $ make O=build flash.bin
Burn the flash.bin to the MicroSD card at offset 32KB:
.. code-block:: bash
- $sudo dd if=flash.bin of=/dev/sd[x] bs=1K seek=32 conv=notrunc; sync
- $sudo dd if=build/flash.bin of=/dev/sd[x] bs=1K seek=32 conv=notrunc; sync
Boot
-- 2.25.1
Reviewed-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com

Hi Peter,
On Sun, Feb 14, 2021 at 4:20 PM Peter Bergin peter@berginkonsult.se wrote:
Update imx-atf and firmware-imx to latest released versions.
Update address of ATF_LOAD_ADDR that has changed to 0x970000 in imx-atf commit 48733cb4e773a7584ced601de9d717efa3d73815.
Add 'O=' to make and build in separate directory as one issue has been noticed where it was trouble building directly inside u-boot source dir. Restructure the workflow
What build issue do you see?
We don't pass 'O=' option on any other i.MX board. Why do we need to do this with this board?
Thanks,
Fabio Estevam

Hi Fabio,
On 2021-02-23 00:10, Fabio Estevam wrote:
Hi Peter,
On Sun, Feb 14, 2021 at 4:20 PM Peter Bergin peter@berginkonsult.se wrote:
Update imx-atf and firmware-imx to latest released versions.
Update address of ATF_LOAD_ADDR that has changed to 0x970000 in imx-atf commit 48733cb4e773a7584ced601de9d717efa3d73815.
Add 'O=' to make and build in separate directory as one issue has been noticed where it was trouble building directly inside u-boot source dir. Restructure the workflow
What build issue do you see?
You can find more info in this thread https://lists.denx.de/pipermail/u-boot/2021-February/441103.html
It is not a build issue it is a boot issue. But caused at build time as in some way the produced binary is different in some way.
We don't pass 'O=' option on any other i.MX board. Why do we need to do this with this board?
It solved my problem. I should spend more time and dig down further to see the real issue, haven't had time for it yet. When I reproduced the issue I had boot problem all the time I built in u-boot and no issues when I built in a separate build directory.
Regards, /Peter

Update imx-atf and firmware-imx to latest released versions. Update address of ATF_LOAD_ADDR that has changed to 0x970000 in imx-atf commit 48733cb4e773a7584ced601de9d717efa3d73815. Add 'O=' to make and build in separate directory as one issue has been noticed where it was trouble building directly inside u-boot source dir. Restructure the workflow and copy binaries after defconfig to ensure that build directory is created. Signed-off-by: Peter Bergin peter@berginkonsult.se Cc: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com Reviewed-by: Andrey Zhizhikin andrey.zhizhikin@leica-geosystems.com
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (4)
-
Fabio Estevam
-
Peter Bergin
-
sbabic@denx.de
-
ZHIZHIKIN Andrey