*****************
Warp i.MX7S board
*****************

This file documents the Buildroot support for the Warp i.MX7S board.

Build
=====

First, configure Buildroot for the Warp i.MX7S board:

  make warp7_defconfig

Build all components:

  make

You will find in output/images/ the following files:
  - imx7s-warp.dtb
  - rootfs.ext4
  - rootfs.tar
  - sdcard.img
  - u-boot-dtb.imx
  - zImage

Flash the eMMC image
====================

In the U-Boot prompt lauch:

=> ums 0 mmc 0

This will mount the eMMC content in the host PC as a mass storage device.

To determine the device associated to the eMMC have a look in the
/proc/partitions file:

  cat /proc/partitions

Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped into the eMMC. Launch the following
command:

sudo dd if=output/images/sdcard.img of=/dev/<your-emmc-device>

*** WARNING! This will destroy all the eMMC content. Use it with care! ***

For details about the medium image layout, see the definition in
board/warp7/genimage.cfg.

How to recover from a bad eMMC image
====================================

In case a bad U-Boot has been flashed to the eMMC and the board no
longer boots, it is possible to recover using the imx_usb_loader utility.

Put the warp7 board in USB download mode by removing the CPU board
from the base board then putting switch 2 in the upper position.

Connect a USB to serial adapter between the host PC and warp7 serial
USB port, and also 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 ...

=> ums 0 mmc 0

sudo dd if=output/images/sdcard.img of=/dev/<your-emmc-device>

Put warp7 back in eMMC boot mode by placing switch 2 in the lower position
and reboot the board.

Boot the Warp i.MX7S board
==========================

To boot your newly created system:
- put a micro USB cable into the Debug USB Port and connect using a terminal
  emulator at 115200 bps, 8n1;
- power on the board.

Using Wifi
==========

# wpa_passphrase ACCESSPOINTNAME > /etc/wpa.conf
(enter the wifi password and press enter)
# wpa_supplicant -iwlan0 -c /etc/wpa.conf &
# udhcpc -i wlan0
# ping buildroot.org

Enjoy!
