On Sun, Jan 26, 2020 at 5:56 AM Marcel Ziswiler <mar...@ziswiler.com> wrote: > > From: Igor Opaniuk <igor.opan...@toradex.com> > > Add README with build steps for U-boot and TF-A for Verdin iMX8M Mini SoM. > > Signed-off-by: Igor Opaniuk <igor.opan...@toradex.com> > Signed-off-by: Marcel Ziswiler <marcel.ziswi...@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvo...@toradex.com> > > --- > > Changes in v2: None > > board/toradex/verdin-imx8mm/README | 88 ++++++++++++++++++++++++++++++ > 1 file changed, 88 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..1dac969476 > --- /dev/null > +++ b/board/toradex/verdin-imx8mm/README > @@ -0,0 +1,88 @@ > +U-Boot for the Toradex Verdin iMX8M Mini Module > + > +Quick Start > +=========== > + > +- Build the ARM trusted firmware binary > +- Get the 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.98_2.3.0 > 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.4.1.bin > +$ chmod +x firmware-imx-8.4.1.bin > +$ ./firmware-imx-8.4.1.bin > +$ cp firmware-imx-8.4.1/firmware/ddr/synopsys/lpddr4*.bin ./ > + > +Build U-Boot > +============ > + > +$ export CROSS_COMPILE=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} > + > +As a convenience, instead of the last two commands one may also use the > update > +U-Boot wrapper: > +> run update_uboot > + > +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-00187-gd411d164e5 (Jan 26 2020 - 04:47:26 +0100) > +Normal Boot > +Trying to boot from MMC1 > +NOTICE: Configuring TZASC380 > +NOTICE: RDC off > +NOTICE: BL31: v2.0(release):rel_imx_4.14.98_2.3.0-0-g09c5cc994-dirty > +NOTICE: BL31: Built : 01:11:41, Jan 25 2020 > +NOTICE: sip svc init > + > + > +U-Boot 2020.01-00187-gd411d164e5 (Jan 26 2020 - 04:47:26 +0100) > + > +CPU: Freescale i.MX8MMQ rev1.0 at 0 MHz > +Reset cause: POR > +DRAM: 2 GiB > +MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 > +Loading Environment from MMC... OK > +In: serial > +Out: serial > +Err: serial > +Model: Toradex Verdin iMX8M Mini Quad 2GB Wi-Fi / BT IT V1.0A, Serial# > 06535149 > +Net: eth0: ethernet@30be0000 > +Hit any key to stop autoboot: 0 > +Verdin iMX8MM # > -- > 2.24.1 > -- Best regards Oleksandr Suvorov Toradex AG Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500 4800 (main line)