bootcmd=run check_boot_count; run distro_bootcmd
bootdelay=3
baudrate=115200
ethprime=eth0
arch=arm
cpu=armv8
board=ma35d1
board_name=ma35d1
vendor=nuvoton
soc=nuvoton
bootfile=Image
kernel_addr_r=0x80080000
fdt_addr_r=0x85000000
bmp_addr_r=0x8D200000
loadaddr=0x81000000
scriptaddr=0x85010000
pxefile_addr_r=0x85020000
ramdisk_addr_r=0x85030000
bootubipart=rootfs
bootubivol=rootfs
kernelmem=256M
rootfs_active=a
mmc_part=1
mmc_block=mmcblk0p${mmc_part}
set_mmc_part=if test "${rootfs_active}" = "b"; then setenv mmc_part 2; else setenv mmc_part 1; fi; setenv mmc_block mmcblk0p${mmc_part}
spinand_ubiblock=9
nand_ubiblock=4
spinand_uboot_para_blk=6
switch_to_a=setenv rootfs_active "a"; setenv nand_ubiblock 4; setenv spinand_ubiblock 9
switch_to_b=setenv rootfs_active "b"; setenv nand_ubiblock 5; setenv spinand_ubiblock 10
rootfs_active_count=3
check_boot_count=if test "${rootfs_active_count}" = "0"; then echo "Boot failed 3 times! Rolling back..."; if test "${rootfs_active}" = "b"; then run switch_to_a; else run switch_to_b; fi; setenv rootfs_active_count 3; saveenv; else if test "${rootfs_active_count}" = "3"; then setenv rootfs_active_count 2; saveenv; elif test "${rootfs_active_count}" = "2"; then setenv rootfs_active_count 1; saveenv; elif test "${rootfs_active_count}" = "1"; then setenv rootfs_active_count 0; saveenv; fi; fi
spinor_bootargs=root=/dev/mmcblk0p1 rootfstype=ext4
spinor_boot=sf probe 0 18000000; sf read ${kernel_addr_r} kernel; sf read ${fdt_addr_r} device-tree;
mmcboot=if mmc dev 0; then echo "Booting form mmc ... ..."; setenv bootargs root=/dev/${mmc_block} rootfstype=ext4 rw rootwait console=ttyS0,115200n8 rdinit=/sbin/init mem=${kernelmem}; mmc read ${kernel_addr_r} 0x1800 0x8000; mmc read ${fdt_addr_r} 0x1600 0x80; booti ${kernel_addr_r} - ${fdt_addr_r}; fi;
nandboot=if test ${mtdids} = 'nand0=nand0' ; then echo "Booting from nand ... ..."; setenv bootargs noinitrd ubi.mtd=${nand_ubiblock} root=ubi0:rootfs rootfstype=ubifs rw rootwait=1 console=ttyS0,115200n8 rdinit=/sbin/init mem=${kernelmem}; nand read ${kernel_addr_r} kernel; nand read ${fdt_addr_r} device-tree; booti ${kernel_addr_r} - ${fdt_addr_r} ; fi
spinandboot=if test ${mtdids} = 'spi-nand0=spi-nand0' ; then echo "Booting from spinand ... ..."; mtd list; setenv bootargs noinitrd ubi.mtd=${spinand_ubiblock} ubi.mtd=${spinand_uboot_para_blk} root=ubi0:rootfs rootfstype=ubifs rw rootwait=1 console=ttyS0,115200n8 rdinit=/sbin/init mem=${kernelmem}; mtd read kernel ${kernel_addr_r}; mtd read device-tree ${fdt_addr_r}; booti ${kernel_addr_r} - ${fdt_addr_r}; fi
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
spinorboot=echo "Booting from spinor ... ..."; setenv bootargs noinitrd ${spinor_bootargs} rw rootwait=1 console=ttyS0,115200n8 rdinit=/sbin/init mem=${kernelmem}; run spinor_boot; booti ${kernel_addr_r} - ${fdt_addr_r};
boot_net_usb_start=usb start
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
ubifs_boot=env exists bootubipart || env set bootubipart UBI; env exists bootubivol || env set bootubivol boot; if ubi part ${bootubipart} && ubifsmount ubi${devnum}:${bootubivol}; then devtype=ubi; run scan_dev_for_boot; fi
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
efi_dtb_prefixes=/ /dtb/ /dtb/current/
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
boot_prefixes=/ /boot/
boot_scripts=boot.scr.uimg boot.scr
boot_script_dhcp=boot.scr.uimg
boot_targets=mmc0 mmc1 ubifs0 legacy_mmc0 nand0 mtd0 
boot_syslinux_conf=extlinux/extlinux.conf
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done; setenv devplist
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd_ubifs0=devnum=0; run ubifs_boot
bootcmd_legacy_mmc0=run mmcboot
bootcmd_nand0=run nandboot
bootcmd_mtd0=run spinandboot
bootcmd_spinor0=run spinorboot
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done


