u-boot-brain/board/freescale/imx8qxp_mek
Masahiro Yamada b75d8dc564 treewide: convert bd_t to struct bd_info by coccinelle
The Linux coding style guide (Documentation/process/coding-style.rst)
clearly says:

  It's a **mistake** to use typedef for structures and pointers.

Besides, using typedef for structures is annoying when you try to make
headers self-contained.

Let's say you have the following function declaration in a header:

  void foo(bd_t *bd);

This is not self-contained since bd_t is not defined.

To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h>

  #include <asm/u-boot.h>
  void foo(bd_t *bd);

Then, the include direcective pulls in more bloat needlessly.

If you use 'struct bd_info' instead, it is enough to put a forward
declaration as follows:

  struct bd_info;
  void foo(struct bd_info *bd);

Right, typedef'ing bd_t is a mistake.

I used coccinelle to generate this commit.

The semantic patch that makes this change is as follows:

  <smpl>
  @@
  typedef bd_t;
  @@
  -bd_t
  +struct bd_info
  </smpl>

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-07-17 09:30:13 -04:00
..
imx8qxp_mek.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
imximage.cfg doc: update reference to README.imx8image 2020-04-16 23:06:54 -04:00
Kconfig imx: add i.MX8QXP MEK board support 2018-10-22 13:00:09 +02:00
MAINTAINERS imx8qxp_mek: Add myself as maintainer 2020-03-09 15:04:29 +01:00
Makefile imx8qxp: mek: default enable SPL 2019-01-28 20:35:47 +01:00
README imx: imx8qxp_mek: update README 2020-01-14 22:18:29 +01:00
spl.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
uboot-container.cfg imx8qxp_mek: switch to use container image 2019-10-08 16:35:58 +02:00

U-Boot for the NXP i.MX8QXP 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.19.35_1.1.0 -b imx_4.19.35_1.1.0
$ make PLAT=imx8qx bl31

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

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

Copy the following binaries to U-Boot folder:

$ cp imx-atf/build/imx8qx/release/bl31.bin .
$ cp imx-seco-2.3.1/firmware/seco/mx8qx-ahab-container.img ./ahab-container.img
$ cp imx-sc-firmware-1.2.7.1/mx8qx-mek-scfw-tcm.bin	.

Build U-Boot
============
$ make imx8qxp_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.