mirror of
https://github.com/smaeul/u-boot.git
synced 2025-09-14 22:16:03 +01:00
Since commit a13d3757f7df ("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>
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