summaryrefslogtreecommitdiff
path: root/recipes-images/images/files/library/imx6/flash_blk.scr
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-09-05 11:40:44 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-10-03 18:24:20 +0200
commit94f55f144a135c35c7cdef4fb49441861bfee844 (patch)
treea252687081a95c32f0c4af326213655951e22034 /recipes-images/images/files/library/imx6/flash_blk.scr
parenta8f4c2f46e8a84fa1252976bcd7b37bc472a6450 (diff)
flash_blk/eth.scr: fix check_configblock
The config block check aka check_configblock may fail during update depending on the size of the hardware area boot partition which may lead to the config block not getting properly migrated or updated if still using parts of the legacy update procedure. This patch fixes this by iterating over various sizes. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'recipes-images/images/files/library/imx6/flash_blk.scr')
-rw-r--r--recipes-images/images/files/library/imx6/flash_blk.scr5
1 files changed, 1 insertions, 4 deletions
diff --git a/recipes-images/images/files/library/imx6/flash_blk.scr b/recipes-images/images/files/library/imx6/flash_blk.scr
index 6df7797..9b27111 100644
--- a/recipes-images/images/files/library/imx6/flash_blk.scr
+++ b/recipes-images/images/files/library/imx6/flash_blk.scr
@@ -7,10 +7,7 @@ setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt
setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow1 ${filenum} % 0x100; setexpr filenrlow2 ${filenrlow1} % 0x10; test ${filenrlow1} -eq "9a" && test ${filenrlow2} -ne "9" && setexpr filenum ${filenum} + 0x66; test ${filenrlow1} -ne "9a" && test ${filenrlow2} -eq "a" && setexpr filenum ${filenum} + 0x6; true'
setenv set_nextnum 'run incr_decimal; setexpr blkstart ${blkstart} + ${blkcnt}'
-setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1'
-setenv check_2 'setenv conf_blk_offset 0xfff; mmc read ${loadaddr} ${conf_blk_offset} 1'
-setenv check_3 'setenv conf_blk_offset 0x7ff; mmc read ${loadaddr} ${conf_blk_offset} 1'
-setenv check_configblock 'setexpr toradex_oui_addr ${loadaddr} + 8; mw.l ${kernel_addr_r} 0x002d1400; mmc dev 0 1; run check_1 || run check_2 || run check_3; cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3'
+setenv check_configblock 'setexpr toradex_oui_addr ${loadaddr} + 8; mw.l ${kernel_addr_r} 0x002d1400; mmc dev 0 1; for off in 7ff fff 1fff 3fff 7fff ffff 1ffff; do mmc read ${loadaddr} ${off} 1 && setenv conf_blk_offset $off; done; cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3'
setenv migrate_configblock 'run check_configblock; mmc dev 0 0 && mmc read ${loadaddr} 0x500 1 && cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3 && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1'