This may sound like a minor thing, but loading from SD card in the system with no external RAM and no bootrom bootable SD card is really tricky. Well its working now. Later the bootloader will possible use XiP, right it is like this:
FSBL is loaded from Flash
FSBL loads FPGA BITSTREAM from SPI Flash
FPGA "adds" 128K RAM accessible to the CPU0
FSBL loads SSBL from SPI Flash into RAM in FPGA
SSBL Loads S-Records from file on the SD card into OCM RAM
Your code from SD Card is running.
At this point the RAM in FPGA is no longer used and we can re-program the FPGA from file on SD card, or update the SPI flash from SD card..