diff options
Diffstat (limited to 'recipes/images/files/apalis-imx6/apalis-imx6_bin/flash_eth.scr')
-rw-r--r-- | recipes/images/files/apalis-imx6/apalis-imx6_bin/flash_eth.scr | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/recipes/images/files/apalis-imx6/apalis-imx6_bin/flash_eth.scr b/recipes/images/files/apalis-imx6/apalis-imx6_bin/flash_eth.scr index 1add51d..6a0148e 100644 --- a/recipes/images/files/apalis-imx6/apalis-imx6_bin/flash_eth.scr +++ b/recipes/images/files/apalis-imx6/apalis-imx6_bin/flash_eth.scr @@ -1,18 +1,40 @@ setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200' setenv set_nextnum 'setexpr filenum ${filenum} + 1; 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; mmc dev 0 1; run check_1 || run check_2 || run check_3; crc32 -v ${toradex_oui_addr} 3 94305232' + +setenv migrate_configblock 'setexpr toradex_oui_addr ${loadaddr} + 8; mmc dev 0 1; run check_1 || run check_2 || run check_3; mmc dev 0 0 && mmc read ${loadaddr} 0x500 1 && crc32 -v ${toradex_oui_addr} 3 94305232 && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1' + +setenv migrate_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot${module_type}.imx && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 2 ${blkcnt}' + setenv cp_file_chunk 'tftpboot ${loadaddr} ${board_name}/root.ext3-${filenum}; run set_blkcnt; mmc dev 0 0 && mmc write ${loadaddr} ${blkstart} ${blkcnt}' -setenv update_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot.imx && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 2 ${blkcnt}' -setenv update_uboot_it 'tftpboot ${loadaddr} ${board_name}/u-boot-it.imx && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 2 ${blkcnt}' + +setenv update_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot${module_type}.imx && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && mmc bootbus 0 2 1 2 && mmc partconf 0 1 1 0' + setenv update_kernel 'tftpboot ${loadaddr} ${board_name}/uImage && fatwrite mmc 0:1 ${loadaddr} uImage ${filesize}' + setenv update_fdt 'tftpboot ${loadaddr} ${board_name}/${fdt_file} && fatwrite mmc 0:1 ${loadaddr} ${fdt_file} ${filesize}' -setenv update_configblock 'tftpboot ${loadaddr} ${board_name}/configblock.bin && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x500 ${blkcnt}' -setenv update 'run update_1; run update_uboot; run update_2; run update_3; reset' -setenv update_it 'run update_1; run update_uboot_it; run update_2; run update_3; reset' + +setenv update_configblock 'run check_configblock; tftpboot ${loadaddr} ${board_name}/configblock.bin && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1' + setenv update_1 'tftpboot ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1' setenv update_2 'tftpboot ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}' #do it in chunks of 64M to fit into DDR RAM of the smallest module #split root.ext3 into multiple 64M chunks before copying to TFTP folder as follows #split -a 2 -b `expr 64 \* 1024 \* 1024` --numeric-suffixes=10 root.ext3 root.ext3- setenv update_3 'setenv filesize 4000000; setenv filenum 10; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done' + +setenv echo_v2.4b1 echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate_v2.4b1\" to complete update" +setenv echo_v2.4b1-it echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate_v2.4b1_it\" to complete update" +setenv migrate_v2.4b1 'run migrate_configblock; run update_new' +setenv migrate_v2.4b1_it 'setenv module_type -it; run migrate_v2.4b1' +setenv update_v2.4b1 'run migrate_uboot && run echo_v2.4b1${module_type}' + +setenv update_new 'run check_configblock || run migrate_configblock; run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3; reset' +setenv update 'mmc bootbus 0 2 1 2 && run update_new; run update_v2.4b1' +setenv update_it 'setenv module_type -it; run update' + echo 'enter "run update" or "run update_it" to update the entire module' |