Skip to content

Commit

Permalink
Add new built-in command to burn images to spi-nand
Browse files Browse the repository at this point in the history
Support to burn boot images to spi-nand with u-boot fspinand cmd.

Signed-off-by: Han Xu <han.xu@nxp.com>
  • Loading branch information
hanxu-nxp authored and nxpfrankli committed Jul 27, 2023
1 parent 6881886 commit 3eec6b9
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 0 deletions.
12 changes: 12 additions & 0 deletions msvc/uuu-static-link.vcxproj
Expand Up @@ -128,6 +128,9 @@ echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\emmc_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
type $(SolutionDir)\..\uuu\qspi_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
type $(SolutionDir)\..\uuu\fspinand_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
type $(SolutionDir)\..\uuu\nvme_burn_all.lst &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
Expand Down Expand Up @@ -181,6 +184,9 @@ echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\emmc_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
type $(SolutionDir)\..\uuu\qspi_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
type $(SolutionDir)\..\uuu\fspinand_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
type $(SolutionDir)\..\uuu\nvme_burn_all.lst &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
Expand Down Expand Up @@ -237,6 +243,9 @@ echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\emmc_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
type $(SolutionDir)\..\uuu\qspi_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
type $(SolutionDir)\..\uuu\fspinand_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
type $(SolutionDir)\..\uuu\nvme_burn_all.lst &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
Expand Down Expand Up @@ -293,6 +302,9 @@ echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\emmc_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
type $(SolutionDir)\..\uuu\qspi_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
type $(SolutionDir)\..\uuu\fspinand_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
type $(SolutionDir)\..\uuu\nvme_burn_all.lst &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
Expand Down
12 changes: 12 additions & 0 deletions msvc/uuu.vcxproj
Expand Up @@ -124,6 +124,9 @@ echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\emmc_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
type $(SolutionDir)\..\uuu\qspi_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
type $(SolutionDir)\..\uuu\fspinand_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
type $(SolutionDir)\..\uuu\nvme_burn_all.lst &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
Expand Down Expand Up @@ -177,6 +180,9 @@ echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\emmc_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
type $(SolutionDir)\..\uuu\qspi_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
type $(SolutionDir)\..\uuu\fspinand_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
type $(SolutionDir)\..\uuu\nvme_burn_all.lst &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
Expand Down Expand Up @@ -235,6 +241,9 @@ echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\emmc_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
type $(SolutionDir)\..\uuu\qspi_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
type $(SolutionDir)\..\uuu\fspinand_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
type $(SolutionDir)\..\uuu\nvme_burn_all.lst &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
Expand Down Expand Up @@ -293,6 +302,9 @@ echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\emmc_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
type $(SolutionDir)\..\uuu\qspi_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\qspi_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
type $(SolutionDir)\..\uuu\fspinand_burn_loader.lst &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\fspinand_burn_loader.clst
echo R^"####( &gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
type $(SolutionDir)\..\uuu\nvme_burn_all.lst &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
echo )####^" &gt;&gt; $(SolutionDir)\..\uuu\nvme_burn_all.clst
Expand Down
1 change: 1 addition & 0 deletions uuu/CMakeLists.txt
Expand Up @@ -28,6 +28,7 @@ set(LSTS
emmc_burn_all.lst
fat_write.lst
qspi_burn_loader.lst
fspinand_burn_loader.lst
sd_burn_loader.lst
spl_boot.lst
sd_burn_all.lst
Expand Down
5 changes: 5 additions & 0 deletions uuu/buildincmd.cpp
Expand Up @@ -337,6 +337,11 @@ static constexpr BuiltInScriptRawData g_builtin_cmd[] =
#include "qspi_burn_loader.clst"
,"burn boot loader to qspi nor flash"
},
{
"spi_nand",
#include "fspinand_burn_loader.clst"
,"burn boot loader to spi nand flash"
},
{
"sd",
#include "sd_burn_loader.clst"
Expand Down
36 changes: 36 additions & 0 deletions uuu/fspinand_burn_loader.lst
@@ -0,0 +1,36 @@
uuu_version 1.2.39

# @_flexspi.bin | bootloader
# @_image [_flexspi.bin] | image burn to fspinand, default is the same as bootloader

# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f _flexspi.bin

# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM, skip QSPI header
SDPS: boot -f _flexspi.bin -skipfhdr

# These commands will be run when use SPL and will be skipped if no spl
# SDPU will be deprecated. please use SDPV instead of SDPU
# {
SDPU: delay 1000
SDPU: write -f _flexspi.bin -offset 0x10000 -skipfhdr
SDPU: jump
# }

# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
# {
SDPV: delay 1000
SDPV: write -f _flexspi.bin -skipspl -skipfhdr
SDPV: jump
# }

FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f _image

FB: ucmd if test ! -n "$fastboot_bytes"; then setenv fastboot_bytes $filesize; else true; fi

FB[-t 60000]: ucmd fspinand init spi-nand0 ${fastboot_buffer} ${fastboot_bytes}

FB: done

0 comments on commit 3eec6b9

Please sign in to comment.