Message ID | 20200710074932.19553-1-lukma@denx.de |
---|---|
State | Accepted |
Commit | 949feef062f21d19ecc76b48fdeb8f3099e16df6 |
Headers | show |
Series | arm: Add extra boot device (UART) to run Ymodem u-boot.img boot on XEA (imx28) | expand |
> Subject: [PATCH] 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 at denx.de> Acked-by: Peng Fan <peng.fan at nxp.com> > --- > > board/liebherr/xea/xea.c | 1 + > configs/imx28_xea_defconfig | 1 + > 2 files changed, 2 insertions(+) > > 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 > -- > 2.20.1
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
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 at denx.de> --- board/liebherr/xea/xea.c | 1 + configs/imx28_xea_defconfig | 1 + 2 files changed, 2 insertions(+)