u-boot/board/technexion/pico-imx7d
Joris Offouga 4e267b92fb pico-imx7d: Convert DM MMC
This patch enable convert DM MMC for imx7d-pico board and variant.

Before the DM conversion only usdhc3 was enabled and therefore it appeared
as MMC 0 to u-boot. After enabling MMC DM though usdhc3 defaults to MMC 2,
which left unattended would drive changes to existing pico-pi bootscripts and
environment variables that rely on mmc 0.

Setup the alias of mmc0 and usdhc3 so that existing pico-imx7d boot code will
work unmodified.

When converting to DM_MMC it is necessary that SPL initializes eMMC
by itself, so move the original eMMC initialization from U-Boot
proper to SPL.

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-04-25 19:16:24 +02:00
..
Kconfig pico-imx7d: Add initial support 2017-05-31 09:58:40 +02:00
MAINTAINERS pico-imx7d: Add a new defconfig with PICO-Hobbit selected 2018-09-18 16:55:21 +02:00
Makefile pico-imx7d: Add SPL support 2018-07-23 10:59:48 +02:00
pico-imx7d.c pico-imx7d: Convert DM MMC 2019-04-25 19:16:24 +02:00
README pico-imx7d: README: Recommend the usage of a USB hub 2019-03-31 20:19:19 +02:00
spl.c pico-imx7d: Convert DM MMC 2019-04-25 19:16:24 +02:00

How to update U-Boot on pico-imx7d board
----------------------------------------

Required software on the host PC:

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

Build U-Boot for pico:

$ make mrproper
$ make pico-imx7d_defconfig
$ make

This generates the SPL and u-boot.img binaries.

1. Loading U-Boot via USB Serial Download Protocol

Note: This method is convenient for development purposes.
If the eMMC has already a U-Boot flashed with DFU support then
the user can go to step 2 below in order to update U-Boot.

Put pico board in USB download mode (refer to the PICO-iMX7D Quick Start Guide
page 3)

Connect a USB to serial adapter between the host PC and pico.

Connect a USB cable between the OTG pico port and the host PC.

Note: Some computers may be a bit strict with USB current draw and will
shut down their ports if the draw is too high. The solution for that is
to use an externally powered USB hub between the board and the host computer.

Open a terminal program such as minicom.

Copy SPL and u-boot.img to the imx_usb_loader folder.

Load the SPL binary via USB:

$ sudo ./imx_usb SPL

Load the u-boot.img binary via USB:

$ sudo ./imx_usb u-boot.img

Then U-Boot starts and its messages appear in the console program.

Use the default environment variables:

=> env default -f -a
=> saveenv

2. Flashing U-Boot into the eMMC

Run the DFU agent so we can flash the new images using dfu-util tool:

=> dfu 0 mmc 0

Flash SPL and u-boot.img into the eMMC running the following commands on a PC:

$ sudo dfu-util -D SPL -a spl

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

Remove power from the pico board.

Put pico board into normal boot mode.

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