For reasons I won't go into I need to implement hive based persistent registry on the SD card. I am using A8_1.00.00.14 and testing on EVM3530. I had this sort of working under a much earlier release (using an eMMC device) but can't seem to get it functioning now on this release. I know the NAND based persistent registry is working fine but in my final design I will not have NAND so I removed the NAND driver from the catalog for this test.
I moved the sdhc, gpio,dma,TPX659XX and TPS659XX_gpio drivers all under the HIVE BOOT SECTION and set the flags to load in boot phase 1. Also moved the SDMemory class profiles under the HIVE BOOT SECTION, created the StorageManager\Profiles\SDMemory etc.etc.
I also set the various other registry values like MountAsBootable, MountAsRoot and various others.
From the debug output I can see the SDHC driver initialize correctly, detect the card/Write Protect status etc. It sets clocks correctly detects the density (High capacity (2.0+)) etc. It is also choosing the correct SDMemory profile. But then it crashes and never fully mounts the volume.
The best clue is this error line:
SDSynchronousBusRequest__X: Failed status 0xC0000014
SDMemDoBusRequest Failed: CMD17 returned API status 0xC0000014
Which I get multiple times just before it finally gives up.
I know the SD/MMC controller is working as I can several other CMDXX and responses earlier before I get to this point which is much later in the boot sequence.
I have only modified the platform.reg file which I can send if it would help.