summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukasz Majewski <lukma@denx.de>2020-07-10 09:49:32 +0200
committerStefano Babic <sbabic@denx.de>2020-07-16 11:20:33 +0200
commit949feef062f21d19ecc76b48fdeb8f3099e16df6 (patch)
tree06fe9eacde66dd9c4bec9b94777c7d71309e0e97
parent08556f829f48225388c2bb6d7b9d02ab60cc9e56 (diff)
downloadu-boot-949feef062f21d19ecc76b48fdeb8f3099e16df6.tar.gz
u-boot-949feef062f21d19ecc76b48fdeb8f3099e16df6.tar.xz
u-boot-949feef062f21d19ecc76b48fdeb8f3099e16df6.zip
arm: Add extra boot device (UART) to run Ymodem u-boot.img boot on XEA (imx28)
This commit enables imx28 based XEA board's u-boot.sb (SPL) to download u-boot proper (u-boot.img) via Ymodem protocol. This is extremely useful in the recovery scenario where u-boot.sb is downloaded via uuu utility to SDRAM [*], and then one can upload u-boot proper via serial console to fully debrick the device. Note - debricking procedure of imx28 devices: - NXP's original USB based tools (like mxsldr or uuu) expect single u-boot.sb which is a relic of the old U-Boot (~2013) without SPL and U-Boot proper distinction. [*] On Host: ------------ cat << EOF > imx28_xea.lst uuu_version 1.3.0 SDPS: boot -f /srv/tftp/xea/u-boot.sb SDPU: done EOF Please start picocom: sudo picocom -b 115200 -s "sz -vv" /dev/ttyUSB1 sudo ./uuu/uuu -V imx28_xea.lst On the U-boot console one shall see: Trying to boot from UART CCC Then please press CTRL+A, S and type u-boot.img Signed-off-by: Lukasz Majewski <lukma@denx.de> Acked-by: Peng Fan <peng.fan@nxp.com>
-rw-r--r--board/liebherr/xea/xea.c1
-rw-r--r--configs/imx28_xea_defconfig1
2 files changed, 2 insertions, 0 deletions
diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c
index 8159f3a2d9..4062c6fb82 100644
--- a/board/liebherr/xea/xea.c
+++ b/board/liebherr/xea/xea.c
@@ -116,6 +116,7 @@ void board_boot_order(u32 *spl_boot_list)
{
spl_boot_list[0] = BOOT_DEVICE_MMC1;
spl_boot_list[1] = BOOT_DEVICE_SPI;
+ spl_boot_list[2] = BOOT_DEVICE_UART;
}
int spl_start_uboot(void)
diff --git a/configs/imx28_xea_defconfig b/configs/imx28_xea_defconfig
index b879de5042..38f3fa6871 100644
--- a/configs/imx28_xea_defconfig
+++ b/configs/imx28_xea_defconfig
@@ -36,6 +36,7 @@ CONFIG_SPL_MMC_TINY=y
CONFIG_SPL_DM_SPI_FLASH=y
CONFIG_SPL_OS_BOOT=y
CONFIG_SPL_SPI_LOAD=y
+CONFIG_SPL_YMODEM_SUPPORT=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_SPL=y
CONFIG_CMD_ASKENV=y