u-boot/board/warp7
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 warp7: Add Kconfig WARP7_ROOT_PART 2018-04-26 08:53:22 +02:00
MAINTAINERS warp7: MAINTAINERS: Add an entry for warp7_bl33_defconfig 2018-10-24 10:03:06 +02:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README warp7: README: Adjust the binary name after DM conversion 2019-03-13 09:14:35 +01:00
warp7.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 Warp7 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/ (if you are in a
Debian distribution then you can get it via libdfu-dev package)

- libusb: http://libusb.org/ (if you are in a Debian distribution
then you can get it via libusb-dev and libusb-1.0-0-dev)

In U-Boot folder, build U-Boot for Warp7:

$ make mrproper
$ make warp7_config
$ make

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

Put warp7 board in USB download mode: 

Remove the CPU board from the base board then put switch 2 in the upper
position

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

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

Copy u-boot-dtb.imx to the imx_usb_loader folder.

Load u-boot-dtb.imx via USB:

$ sudo ./imx_usb u-boot-dtb.imx

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

Open a terminal program such as minicom

Use the default environment variables:

=> env default -f -a
=> saveenv

Run the DFU command:
=> dfu 0 mmc 0

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

$ sudo dfu-util -D u-boot-dtb.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 warp7 board.

Put warp7 board into normal boot mode (put the switch 2 in the lower position)

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