It is most likely NOT the emmc card or an ameridroid specific issue. I had sent that emmc card back to ameridroid where he tested it with a working rockpro64 and the emmc worked for him. So it is likely a hardware failure on the board. I have a replacement rockpro64 being shipped to me after sending the bad one back and he said he couldnt get it to boot emmc either. He told me they are going to send it back to Pine. Hopefully they can find the issue and fix it for future production.
The strange thing is how it is seen perfectly once the kernel loads and puts the card in high-speed mode. It makes me think something is attenuating the signal at low frequencies. Or it's unable to switch to a higher voltage mode when running at the slower boot clock. My test showed the clock was 1.86V peak to peak at 24MHz at boot. I'm not sure if that is spec or not.
Either way, I get the replacement on Friday, so I'll test it out, see if it boots, and report back.
EDIT: I forgot to reply to the weird situation where a thumbdrive will "boot" the emmc image. This kinda happened to me while having an SD card in along with the eMMC (both have the same ayufan image). I think what happens is the bootloader loads the kernel off the non-emmc device (in this case a flashdrive) which then ends up loading the root filesystem off of the eMMC (which is now visible because the kernel is loaded.) because the partitions are loaded by their label not unique identifiers (which are all the same anyway if you use the same image on both the USB/SD and the eMMC.) I found that I could boot the kernel off the SD while loading the rootfs off the eMMC by changing the uuid of the root partition on the eMMC and changing the SD's kernel command line to load root from that uuid. As mentioned, it's a workaround, but not a very good one.
EDIT 2: In response to the boot0, boot1, and rpmb partitions. These (minus the rpmb) seem to be an alternative way to boot off of an eMMC to make flashing a bootloader easier for OEM. Every eMMC device after 4.something has these partitions as something called "alternate boot mode". Instead of putting the uboot and other boot bins on the main userspace area of the eMMC (/dev/mmcblk0), you can put them in a boot partition to keep it separate from the kernel and roots. The rockpro64 doesn't require the use of these extra partitions and instead loads the uboot and friends from the userspace partition.
The strange thing is how it is seen perfectly once the kernel loads and puts the card in high-speed mode. It makes me think something is attenuating the signal at low frequencies. Or it's unable to switch to a higher voltage mode when running at the slower boot clock. My test showed the clock was 1.86V peak to peak at 24MHz at boot. I'm not sure if that is spec or not.
Either way, I get the replacement on Friday, so I'll test it out, see if it boots, and report back.
EDIT: I forgot to reply to the weird situation where a thumbdrive will "boot" the emmc image. This kinda happened to me while having an SD card in along with the eMMC (both have the same ayufan image). I think what happens is the bootloader loads the kernel off the non-emmc device (in this case a flashdrive) which then ends up loading the root filesystem off of the eMMC (which is now visible because the kernel is loaded.) because the partitions are loaded by their label not unique identifiers (which are all the same anyway if you use the same image on both the USB/SD and the eMMC.) I found that I could boot the kernel off the SD while loading the rootfs off the eMMC by changing the uuid of the root partition on the eMMC and changing the SD's kernel command line to load root from that uuid. As mentioned, it's a workaround, but not a very good one.
EDIT 2: In response to the boot0, boot1, and rpmb partitions. These (minus the rpmb) seem to be an alternative way to boot off of an eMMC to make flashing a bootloader easier for OEM. Every eMMC device after 4.something has these partitions as something called "alternate boot mode". Instead of putting the uboot and other boot bins on the main userspace area of the eMMC (/dev/mmcblk0), you can put them in a boot partition to keep it separate from the kernel and roots. The rockpro64 doesn't require the use of these extra partitions and instead loads the uboot and friends from the userspace partition.