[PATCH v1 4/5] board: toradex: verdin-imx8mm: add README

Marcel Ziswiler marcel.ziswiler at toradex.com
Sun Jan 26 03:31:57 CET 2020


Hi Igor

On Thu, 2020-01-23 at 13:31 +0200, Igor Opaniuk wrote:
> From: Igor Opaniuk <igor.opaniuk at toradex.com>
> 
> Add README with build steps for U-boot and TF-A for Verdin i.MX8MM
> SoM.
> 
> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>
> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov at toradex.com>
> ---
> 
>  board/toradex/verdin-imx8mm/README | 81
> ++++++++++++++++++++++++++++++
>  1 file changed, 81 insertions(+)
>  create mode 100644 board/toradex/verdin-imx8mm/README
> 
> diff --git a/board/toradex/verdin-imx8mm/README
> b/board/toradex/verdin-imx8mm/README
> new file mode 100644
> index 0000000000..857138d4fb
> --- /dev/null
> +++ b/board/toradex/verdin-imx8mm/README
> @@ -0,0 +1,81 @@
> +U-Boot for the Toradex Verdin i.MX8MM  board

Verdin iMX8M Mini Module

> +
> +Quick Start
> +===========
> +- Build the ARM Trusted firmware binary
> +- Get DDR firmware
> +- Build U-Boot
> +- Flash to eMMC
> +- Boot
> +
> +
> +Get and Build the ARM Trusted firmware (Trusted Firmware A)
> +======================================
> +$ echo "Downloading and building TF-A..."
> +$ git clone -b imx_4.14.78_1.0.0_ga 

I suggest to use the later branch imx_4.14.98_2.3.0 which should also
include i.MX 8M Nano support now.

> https://source.codeaurora.org/external/imx/imx-atf
> +$ cd imx-atf
> +
> +Please edit `plat/imx/imx8mm/include/platform_def.h` so it
> +contains proper values for UART configuration and BL31 base
> +address (correct values listed below):
> +#define BL31_BASE                      0x910000
> +#define IMX_BOOT_UART_BASE             0x30860000
> +#define DEBUG_CONSOLE                  1
> +
> +Then build ATF (TF-A):
> +$ make PLAT=imx8mm bl31
> +
> +Get the DDR firmware
> +=============================
> +$ wget 
> https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.1.1.bin

There is now 8.4.1 available from above mentioned release. However, I
believe there were no changes in DDR firmware.

> +$ chmod +x firmware-imx-8.1.1.bin
> +$ ./firmware-imx-8.1.1.bin
> +$ cp firmware-imx-8.1.1/firmware/ddr/synopsys/lpddr4*.bin ./
> +
> +Build U-Boot
> +============
> +$ export CROSS_COMPILE=aarch64-poky-linux-

With a linaro toolchain this would rather be:

aarch64-linux-gnu-

> +$ make verdin-imx8mm_defconfig
> +$ make flash.bin
> +
> +Flash to eMMC
> +===========
> +> tftpboot ${loadaddr} flash.bin
> +> setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} /
> 0x200
> +> mmc dev 0 1 && mmc write ${loadaddr} 0x2 ${blkcnt}

Or just run update_uboot (;-p).

> +
> +Boot
> +===========
> +
> +ATF, U-boot proper and u-boot.dtb images are packed into FIT image,
> +which is loaded and parsed by SPL.
> +
> +Boot sequence is:
> +SPL ---> ATF (TF-A) ---> U-boot proper
> +
> +Output:
> +
> +U-Boot SPL 2020.01-01840-gd92bdc79cf-dirty (Jan 22 2020 - 18:50:57
> +0200)
> +Normal Boot
> +Trying to boot from MMC1
> +NOTICE:  Configuring TZASC380
> +NOTICE:  RDC off
> +NOTICE:  BL31: v1.5(release):p9.0.0_1.1.0-ga-20190801-0-gd6451cc1e-
> dirty
> +NOTICE:  BL31: Built : 17:43:07, Jan 22 2020
> +NOTICE:  sip svc init
> +
> +
> +U-Boot 2020.01-01840-gd92bdc79cf-dirty (Jan 22 2020 - 18:50:57
> +0200)
> +
> +CPU:   Freescale i.MX8MMQ rev1.0 at 0 MHz
> +Reset cause: POR
> +DRAM:  2 GiB
> +MMC:   FSL_SDHC: 0, FSL_SDHC: 1
> +Loading Environment from MMC... OK
> +In:    serial
> +Out:   serial
> +Err:   serial
> +Model: Toradex Verdin iMX8M Mini 2GB Wi-Fi / BT IT V1.0A, Serial#
> 06535148
> +Net:   Could not get PHY for FEC0: addr 7
> +eth0: ethernet at 30be0000
> +Hit any key to stop autoboot:  0

Cheers

Marcel


More information about the U-Boot mailing list