if test ${failedboot} != ""; then
    setenv fprefix boot/fail/
    echo "Previous boot failed, trying boot from ${fprefix}"
    sleep 3
else
    setenv failedboot yes
    setenv fprefix boot/
    saveenv
fi

setenv fstype btrfs

####################
### user configuration should be added to the following line. it will be preserved during updates of this file. 
setenv customcmdline 
####################

if test ${cpu} != "" && test ${cpu} = 6SOLO; then
    setenv mcp max_cpus=1 nohz=off cma=256M
fi

if test ${CASset} != ""; then
    setenv mcp cma=0M
    setenv fdt_file armada-388-clearfog.dtb
    setenv loadaddr $kernel_addr_r
else
    setenv ramdisk_addr_r 0x19000000
fi

setenv baseconfig $cpus $console console=tty1 coherent_pool=2M ahci_imx.hotplug=1 raid=noautodetect telnet root=/dev/mmcblk0p2 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 rootwait consoleblank=0 selinux=0 quiet loglevel=0 nohdparm splash partswap dmfc=3 pcie_aspm=off net.ifnames=0 biosdevname=0

if test ${autodetectfdt} != ""; then
    setenv baseconfig $baseconfig pci=nomsi
    run autodetectfdt
fi

if test ${fstype} != btrfs; then
    setenv bootargs $mcp $baseconfig $customcmdline rootfstype=ext4 rootflags=data=writeback --startup-event mountall
else
    setenv bootargs $mcp $baseconfig $customcmdline rootfstype=btrfs rootflags=subvol=root/@,autodefrag,compress=lz4 --startup-event mountall
fi

if test ${debug} != ""; then exit 1; fi

ext4load mmc 0:1 ${loadaddr} ${fprefix}zImage || ext4load mmc 0:1 ${loadaddr} zImage

ext4load mmc 0:1 ${fdt_addr} ${fprefix}${fdt_file} || ext4load mmc 0:1 ${fdt_addr} ${fdt_file}

if test ${fprefix} != ""; then
    if ext4load mmc 0:1 ${ramdisk_addr_r} ${fprefix}initramfs.gz || ext4load mmc 0:1 ${ramdisk_addr_r} initramfs.gz || ext4load mmc 0:1 ${ramdisk_addr_r} ${fprefix}initramfs1.gz; then
        setenv initram ${ramdisk_addr_r}
    else
        setenv initram "-"
    fi
else
    if ext4load mmc 0:1 ${ramdisk_addr_r} initramfs.gz; then
        setenv initram ${ramdisk_addr_r}
    else
        setenv initram "-"
    fi
fi

if test ${debug} != ""; then exit 1; fi

bootz ${loadaddr} ${initram} ${fdt_addr}
