u-boot/board/google/imx8mq_phanbell
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
..
imx8mq_phanbell.c imx8m: Refactor the OPTEE memory removal 2020-07-14 15:23:48 +08:00
Kconfig arm: imx: Add support for Google's Coral Dev Board 2020-05-01 13:49:15 +02:00
lpddr4_timing_1g.c arm: imx: Add support for Google's Coral Dev Board 2020-05-01 13:49:15 +02:00
MAINTAINERS arm: imx: Add support for Google's Coral Dev Board 2020-05-01 13:49:15 +02:00
Makefile arm: imx: Add support for Google's Coral Dev Board 2020-05-01 13:49:15 +02:00
README arm: imx: Add support for Google's Coral Dev Board 2020-05-01 13:49:15 +02:00
spl.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00

U-Boot for Google's i.MX8MQ Phanbell board

Quick Start
===========
- Build the ARM Trusted firmware binary
- Get ddr and hdmi firmware
- Build U-Boot
- Boot

Get and Build the ARM Trusted firmware
======================================
Note: srctree is U-Boot source directory
Get ATF from: https://source.codeaurora.org/external/imx/imx-atf
branch: imx_4.19.35_1.0.0
$ make PLAT=imx8mq bl31
$ cp build/imx8mq/release/bl31.bin $(builddir)

Get the ddr and hdmi firmware
=============================
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-7.9.bin
$ chmod +x firmware-imx-7.9.bin
$ ./firmware-imx-7.9.bin
$ cp firmware-imx-7.9/firmware/hdmi/cadence/signed_hdmi_imx8m.bin $(builddir)
$ cp firmware-imx-7.9/firmware/ddr/synopsys/lpddr4*.bin $(builddir)

Build U-Boot
============
$ export CROSS_COMPILE=aarch64-linux-gnu-
$ make imx8mq_phanbell_defconfig
$ make flash.bin

Burn the flash.bin to MicroSD card offset 33KB
$sudo dd if=flash.bin of=/dev/sd[x] bs=1K seek=33

Boot
====
Set Boot switch SW1: 1011 to boot from Micro SD.