u-boot/board/warp
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
..
imximage.cfg doc: update reference to README.imximage 2020-04-16 23:06:54 -04:00
Kconfig mx6: remove SYS_SOC from board Kconfig 2015-09-13 10:37:29 +02:00
MAINTAINERS warp: Add initial WaRP Board support 2015-02-23 09:11:44 +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
warp.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00

How to Update U-Boot on Warp board
----------------------------------

Required software on the host PC:

- imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader

- dfu-util: http://dfu-util.sourceforge.net/releases/

Build U-Boot for Warp:

$ make mrproper
$ make warp_config
$ make

This will generate the U-Boot binary called u-boot.imx.

Put warp board in USB download mode

Connect a USB to serial adapter between the host PC and warp

Connect a USB cable between the OTG warp port and the host PC

Open a terminal program such as minicom

Copy u-boot.imx to the imx_usb_loader folder.

Load u-boot.imx via USB:

$ sudo ./imx_usb u-boot.imx

Then U-Boot should start and its messages will appear in the console program.

Use the default environment variables:

=> env default -f -a
=> saveenv

Run the DFU command:
=> dfu 0 mmc 0

Transfer u-boot.imx that will be flashed into the eMMC:

$ sudo dfu-util -D u-boot.imx -a boot

Then on the U-Boot prompt the following message should be seen after a
successful upgrade:

#DOWNLOAD ... OK
Ctrl+C to exit ...

Remove power from the warp board.

Put warp board into normal boot mode

Power up the board and the new updated U-Boot should boot from eMMC