mmcdev=0
mmcrootfstype=ext4 rootwait
finduuid=part uuid ${boot} ${bootpart} uuid
args_mmc=run finduuid;setenv bootargs console=${console}
	${optargs}
	root=PARTUUID=${uuid} rw
	rootfstype=${mmcrootfstype}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
bootscript=echo Running bootscript from mmc${mmcdev} ...;
	source ${loadaddr}
bootenvfile=uEnv.txt
importbootenv=echo Importing environment from mmc${mmcdev} ...;
	env import -t ${loadaddr} ${filesize}
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
envboot=mmc dev ${mmcdev};
	if mmc rescan; then
		echo SD/MMC found on device ${mmcdev};
		if run loadbootscript; then
			run bootscript;
		else
			if run loadbootenv; then
				echo Loaded env from ${bootenvfile};
				run importbootenv;
			fi;
			if test -n $uenvcmd; then
				echo Running uenvcmd ...;
				run uenvcmd;
			fi;
		fi;
	fi;
mmcloados=
	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
		if run loadfdt; then
			bootz ${loadaddr} - ${fdtaddr};
		else
			if test ${boot_fdt} = try; then
				bootz;
			else
				echo WARN: Cannot load the DT;
				fi;
		fi;
	else
		bootz;
	fi;
mmcboot=mmc dev ${mmcdev};
	devnum=${mmcdev};
	devtype=mmc;
	if mmc rescan; then
		echo SD/MMC found on device ${mmcdev};
		if run loadimage; then
			run args_mmc;
			if test ${boot_fit} -eq 1; then
				run run_fit;
			else
				run mmcloados;
			fi;
		fi;
fi;

