Try
bootcmd=mw.l 0x303d0474 0x0f; run m4boot; run bootcmd_mmc2
instead.
in your case, m4boot
and bootcmd_mmc2
are u-boot variables containing other commands and this is why they need the run
directive. mw.l ...
is not a variable but a direct command and therefore run
is not required (and will not work).