u-boot/board/warp
Fabio Estevam 693779e371 warp: Fix RAM size runtime detection
Since commit a13d3757f7 ("warp: Use imx_ddr_size() for calculating the
DDR size") warp board no longer boots.

The reason for the breakage is that the warp board is using the DDR
configuration from mx6slevk. A fundamental difference between warp and
mx6slevk is that warp only uses one DDR chip select while mx6slevk uses two.

The imx_ddr() function calculates the RAM size in runtime by reading the
values of registers MDCTL and MDMISC.

So in order to fix this warp boot issue, create a imximage DDR file specific
to warp, where the MDCTL register is configured to only activates a single
chip select.

Reported-by: Breno Lima <breno.lima@nxp.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Breno Lima <breno.lima@nxp.com>
2016-09-06 18:22:48 +02:00
..
imximage.cfg warp: Fix RAM size runtime detection 2016-09-06 18:22:48 +02: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 warp: Add initial WaRP Board support 2015-02-23 09:11:44 +01:00
README Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
warp.c warp: Use imx_ddr_size() for calculating the DDR size 2016-07-28 13:27:20 +02: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