For information on kernel configuration options cateee.net would be a good start. For instance " CONFIG_MMC_BLOCK" gives the following info:
## MMC block device driver found in `drivers/mmc/core/Kconfig`
The configuration item CONFIG_MMC_BLOCK:
* prompt: MMC block device driver
* type: tristate
* depends on: `CONFIG_BLOCK`
* defined in [drivers/mmc/core/Kconfig](https://github.com/torvalds/linux/tree/master/drivers/mmc/core/Kconfig)
* found in Linux kernels: 4.10–4.20, 5.0–5.12, 5.13-rc+HEAD
* modules built: `mmc_block` , `mmc_block` , `mmc_block`
In short, the device drivers for the MMC card-reader, the PL330 DMA-controller and the configuration for the ROCKCHIP_IODOMAIN are needed early in the boot process. U-boot is able to read the mmc card-reader and get the initrd, but the kernel fails to bring up the card-reader and the root-device is not found for mounting. For whatever reason forcing the modules into the initrd via dracut doesn’t seem to work.
I started using fedora on the tinker with custom kernels at 4.15 and switched to rpmbuild starting with the 5.10 kernel. Figuring out what exactly is the culprit would require more time and effort than I am willing to spend ATM.
No, I didn’t try rawhide since the kernel config is not changed in minor versions (?).