u-boot-brain/board/congatec/cgtqmx6eval
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
..
cgtqmx6eval.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
Kconfig mx6: remove SYS_SOC from board Kconfig 2015-09-13 10:37:29 +02:00
MAINTAINERS cgtqmx6eval: Fix defconfig name 2015-12-07 14:48:02 +01:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00

U-Boot for the Congatec QMX6 boards

This file contains information for the port of U-Boot to the Congatec
QMX6 boards.

1. Building U-Boot
------------------

- Build U-Boot for Congatec QMX6 boards:

$ make mrproper
$ make cgtqmx6eval_defconfig
$ make

This will generate the following binaries:

- SPL
- u-boot.img

2. Flashing U-Boot in the SPI NOR
---------------------------------

Copy SPL and u-boot.img to the exported TFTP directory of the
host PC (/tftpboot , for example).

=> sf probe

=> setenv serverip <server_ip_address>

=> setenv ipaddr <board_ip_address>

=> tftp 0x12000000 SPL

=> sf erase 0x0 0x10000

=> sf write 0x12000000 0x400 0x10000

=> tftp 0x12000000 u-boot.img

=> sf erase 0x10000 0x70000

=> sf write 0x12000000 0x10000 0x70000

Reboot the board and the new U-Boot should come up.

3. Booting from the SD card
---------------------------

- Flash the SPL image into the SD card:

sudo dd if=SPL of=/dev/mmcblk0 bs=1k seek=1; sync

- Flash the u-boot.img image into the SD card:

sudo dd if=u-boot.img of=/dev/mmcblk0 bs=1k seek=69; sync

- Insert the SD card into the big slot.

The boot medium of Congatec QMX6 boards is the SPI NOR flash, so boot
the board from SPI first.

It is also possible to boot from the SD card slot by using the 'bmode'
command:

=> bmode esdhc4

And then the U-Boot from the big slot will boot.

Note: If the "bmode" command is not available from your pre-installed U-Boot,
these instruction will produce the same effect:

=> mw.l 0x20d8040 0x3850
=> mw.l 0x020d8044 0x10000000
=> reset