My device showed similar symptoms - but it would be helpful if you could capture some more detailed debugging information by capturing the output of a verbose boot on the serial console.
Interrupt U-Boot by pressing any key within 1 second of applying power. Enter the following commands:
=> setenv extraargs "debug ignore_loglevel"
=> boot
And then search the output, looking for something similar to:
[ 4.136553] mmcblk2: mmc2:0001 8GTF4R 7.28 GiB
[ 4.144362] sunxi-mmc 1c11000.mmc: data error, sending stop command
[ 4.150727] sunxi-mmc 1c11000.mmc: send stop command failed
If you see something similar to this, then chances are you are having the same problem as me.
As a temporary workaround, I got past this problem by compiling a custom build of Armbian, with a patched device tree to disable the EMMC interface.
For me personally, that was enough to satisfy my needs, because I’m not planning to use the EMMC anyway. But if using the EMMC is desired, then the next step would be to try to figure out why it’s not working, and then create new patches to fix it.