u-boot/board/freescale/imx8qm_mek
Harald Seiler 35b65dd8ef reset: Remove addr parameter from reset_cpu()
Historically, the reset_cpu() function had an `addr` parameter which was
meant to pass in an address of the reset vector location, where the CPU
should reset to.  This feature is no longer used anywhere in U-Boot as
all reset_cpu() implementations now ignore the passed value.  Generic
code has been added which always calls reset_cpu() with `0` which means
this feature can no longer be used easily anyway.

Over time, many implementations seem to have "misunderstood" the
existence of this parameter as a way to customize/parameterize the reset
(e.g.  COLD vs WARM resets).  As this is not properly supported, the
code will almost always not do what it is intended to (because all
call-sites just call reset_cpu() with 0).

To avoid confusion and to clean up the codebase from unused left-overs
of the past, remove the `addr` parameter entirely.  Code which intends
to support different kinds of resets should be rewritten as a sysreset
driver instead.

This transformation was done with the following coccinelle patch:

    @@
    expression argvalue;
    @@
    - reset_cpu(argvalue)
    + reset_cpu()

    @@
    identifier argname;
    type argtype;
    @@
    - reset_cpu(argtype argname)
    + reset_cpu(void)
    { ... }

Signed-off-by: Harald Seiler <hws@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2021-03-02 14:03:02 -05:00
..
imx8qm_mek.c reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
imximage.cfg imx: support i.MX8QM MEK board 2019-04-25 17:03:25 +02:00
Kconfig imx: support i.MX8QM MEK board 2019-04-25 17:03:25 +02:00
MAINTAINERS imx: support i.MX8QM MEK board 2019-04-25 17:03:25 +02:00
Makefile imx: support i.MX8QM MEK board 2019-04-25 17:03:25 +02:00
README imx8: update README 2019-10-08 16:36:36 +02:00
spl.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
uboot-container.cfg imx8qm_mek: switch to use container image 2019-10-08 16:35:58 +02:00

U-Boot for the NXP i.MX8QM EVK board

Quick Start
===========

- Build the ARM Trusted firmware binary
- Get scfw_tcm.bin and ahab-container.img
- Build U-Boot
- Flash the binary into the SD card
- Boot

Get and Build the ARM Trusted firmware
======================================

$ git clone https://source.codeaurora.org/external/imx/imx-atf
$ cd imx-atf/
$ git checkout origin/imx_4.14.78_1.0.0_ga -b imx_4.14.78_1.0.0_ga
$ make PLAT=imx8qm bl31

Get scfw_tcm.bin and ahab-container.img
==============================

$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx-sc-firmware-1.1.bin
$ chmod +x imx-sc-firmware-1.1.bin
$ ./imx-sc-firmware-1.1.bin
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.0.bin
$ chmod +x firmware-imx-8.0.bin
$ ./firmware-imx-8.0.bin

Copy the following binaries to U-Boot folder:

$ cp imx-atf/build/imx8qm/release/bl31.bin .
$ cp u-boot/u-boot.bin .

Copy the following firmwares U-Boot folder :

$ cp firmware-imx-7.6/firmware/seco/ahab-container.img .
$ cp imx-sc-firmware-0.7/mx8qm-mek-scfw-tcm.bin	.

Build U-Boot
============
$ make imx8qm_mek_defconfig
$ make flash.bin

Flash the binary into the SD card
=================================

Burn the flash.bin binary to SD card offset 32KB:

$ sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=32

Boot
====
Set Boot switch SW2: 1100.