Boot hangs with wrong mmcblk detected

I have a number of Dragonboard-410c that randomly hang on reboot or power up.
The boot stalls for a long time doing random: crng init which is the last message.
I dont think think the random number generator is at fault its just the last massage.
The MMC detection looks to be setting the eMMC as mmcblk1 rather than mmcblk0.
I suspect this means the rootfs cant be loaded and is probably the cause of the hang.
The boot log (below) shows “Waiting for root device /dev/mmcblk0p14…”
The MMC device is obviously being miss interpreted as the log shows all the correct partitions.
None of the boards have SD cards installed and all boot switched are set to off.
The board can be recovered with a one or more reboots or power cycles.
I have boards with 5.9 and 5.13 kernels exhibiting the problem.

Any help or suggestions?

The end of the boot log is:
[ 1.918680] Waiting for root device /dev/mmcblk0p14…
[ 1.920829] ci_hdrc ci_hdrc.0: EHCI Host Controller
[ 1.924717] mmc1: Card appears overclocked; req 177770000 Hz, actual 177777777 Hz
[ 1.927656] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[ 1.932435] mmc1: Card appears overclocked; req 177770000 Hz, actual 177777777 Hz
[ 1.952803] mmc1: new HS200 MMC card at address 0001
[ 1.955259] mmcblk1: mmc1:0001 DS2008 7.28 GiB
[ 1.955917] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 1.959868] mmcblk1boot0: mmc1:0001 DS2008 4.00 MiB
[ 1.964619] hub 1-0:1.0: USB hub found
[ 1.969662] mmcblk1boot1: mmc1:0001 DS2008 4.00 MiB
[ 1.974446] hub 1-0:1.0: 1 port detected
[ 1.978352] mmcblk1rpmb: mmc1:0001 DS2008 4.00 MiB, chardev (234:0)
[ 1.987068] sdhci_msm 7864900.sdhci: Got CD GPIO
[ 1.991978] mmcblk1: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14
[ 2.025356] mmc0: SDHCI controller on 7864900.sdhci [7864900.sdhci] using ADMA 64-bit
[ 2.236377] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[ 2.397049] hub 1-1:1.0: USB hub found
[ 2.397642] hub 1-1:1.0: 3 ports detected
[ 2.956147] random: fast init done
[ 104.288216] random: crng init done

Change kernel command line from root=/dev/mmcblk0p14 to root=PARTLABEL=rootfs
This allows boot from any block device.
It isn’t a solution as an SD card with a rootfs partition may inadvertently be booted.

The problem of the eMMC device not being deterministic is still an issue.