/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright (C) 2017 Armadeus Systems */ /* Environment is stored in the eMMC boot partition */ env_version=100 consoledev=ttymxc0 board_name=opos6ul fdt_addr=0x88000000 fdt_high=0xffffffff fdt_name=opos6uldev initrd_high=0xffffffff ip_dyn=yes stdin=serial stdout=serial stderr=serial mmcdev=0 mmcpart=2 mmcroot=/dev/mmcblk0p2 ro mmcrootfstype=ext4 rootwait kernelimg=opos6ul-linux.bin splashpos=0,0 splashimage=CONFIG_SYS_LOAD_ADDR videomode=video=ctfb:x:800,y:480,depth:18,pclk:33033,le:96,ri:96,up:20,lo:21,hs:64,vs:4,sync:0,vmode:0 check_env=if test -n ${flash_env_version}; then env default env_version; else env set flash_env_version ${env_version}; env save; fi; if itest ${flash_env_version} != ${env_version}; then echo "*** Warning - Environment version change suggests: run flash_reset_env; reset"; env default flash_reset_env; else exit; fi; flash_reset_env=env default -f -a && saveenv && echo Environment variables erased! download_uboot_spl=tftpboot ${loadaddr} ${board_name}-u-boot.spl flash_uboot_spl= if mmc dev 0 1; then setexpr sz ${filesize} / 0x200; setexpr sz ${sz} + 1; if mmc write ${loadaddr} 0x2 ${sz}; then echo Flashing of U-Boot SPL succeed; else echo Flashing of U-Boot SPL failed; fi; fi; download_uboot_img=tftpboot ${loadaddr} ${board_name}-u-boot.img flash_uboot_img= if mmc dev 0 1; then setexpr sz ${filesize} / 0x200; setexpr sz ${sz} + 1; if mmc write ${loadaddr} 0x8a ${sz}; then echo Flashing of U-Boot image succeed; else echo Flashing of U-Boot image failed; fi; fi; update_uboot=run download_uboot_spl flash_uboot_spl download_uboot_img flash_uboot_img download_kernel=tftpboot ${loadaddr} ${kernelimg} flash_kernel= if ext4write mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/${kernelimg} ${filesize}; then echo kernel update succeed; else echo kernel update failed; fi; update_kernel=run download_kernel flash_kernel download_dtb=tftpboot ${fdt_addr} imx6ul-${fdt_name}.dtb flash_dtb= if ext4write mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/imx6ul-${fdt_name}.dtb ${filesize}; then echo dtb update succeed; else echo dtb update in failed; fi; update_dtb=run download_dtb flash_dtb download_rootfs=tftpboot ${loadaddr} ${board_name}-rootfs.ext4 flash_rootfs= if mmc dev 0 0; then setexpr nbblocks ${filesize} / 0x200; setexpr nbblocks ${nbblocks} + 1; if mmc write ${loadaddr} 0x40800 ${nbblocks}; then echo Flashing of rootfs image succeed; else echo Flashing of rootfs image failed; fi; fi; update_rootfs=run download_rootfs flash_rootfs flash_failsafe= if mmc dev 0 0; then setexpr nbblocks ${filesize} / 0x200; setexpr nbblocks ${nbblocks} + 1; if mmc write ${loadaddr} 0x800 ${nbblocks}; then echo Flashing of rootfs image in failsafe partition succeed; else echo Flashing of rootfs image in failsafe partition failed; fi; fi; update_failsafe=run download_rootfs flash_failsafe download_userdata=tftpboot ${loadaddr} ${board_name}-user_data.ext4 flash_userdata= if mmc dev 0 0; then setexpr nbblocks ${filesize} / 0x200; setexpr nbblocks ${nbblocks} + 1; if mmc write ${loadaddr} 0 ${nbblocks}; then echo Flashing of user_data image succeed; else echo Flashing of user_data image failed; fi; fi; update_userdata=run download_userdata flash_userdata; mmc rescan erase_userdata= if mmc dev 0 0; then echo Erasing eMMC User Data partition, no way out...; mw ${loadaddr} 0 0x200000; mmc write ${loadaddr} 0 0x1000; mmc write ${loadaddr} 0x800 0x1000; mmc write ${loadaddr} 0x40800 0x1000; mmc write ${loadaddr} 0x440800 0x1000; fi; mmc rescan update_all=run update_rootfs update_uboot initargs=setenv bootargs console=${consoledev},${baudrate} ${extrabootargs} addipargs=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0:off addmmcargs=setenv bootargs ${bootargs} root=${mmcroot} rootfstype=${mmcrootfstype} emmcboot=run initargs; run addmmcargs; load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/${kernelimg} && load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/imx6ul-${fdt_name}.dtb && bootz ${loadaddr} - ${fdt_addr}; emmcsafeboot=setenv mmcpart 1; setenv mmcroot /dev/mmcblk0p1 ro; run emmcboot; addnfsargs=setenv bootargs ${bootargs} root=/dev/nfs rw nfsroot=${serverip}:${rootpath} nfsboot=run initargs; run addnfsargs addipargs; nfs ${loadaddr} ${serverip}:${rootpath}/boot/${kernelimg} && nfs ${fdt_addr} ${serverip}:${rootpath}/boot/imx6ul-${fdt_name}.dtb && bootz ${loadaddr} - ${fdt_addr};