Have you written your own U-Boot or the U-Boot from before? If you upload the exact same 512 KiB as before and it is correctly written, then everything should be as before and I do not understand why you get the panic.
For development and if you are not working on low-level init code, it can also be very convenent way of working is to load the new U-Boot via xmodem or TFTP and chainload it from an existing U-Boot.
I wrote my own U-Boot, based on the iowrt work. I was successfully booting it from the stock uboot, but I wanted to test it by writing directly to the NAND. After I wrote it, it got stuck in this.
I tried using the xmodem method, but it seems to be prioritizing the NAND U-Boot. I tested it with the 512 KiB backup I had, with the firmware I had, but nothing worked.
I used the prebuild files (bl2, bl31) that came with the GPL, and my NAND programmer burned out last week, so I'll have to buy another one when I can to reflash the NAND. I don't even know when I'll be able to get another one, seriously.
EDIT: ah I see. You are doing it correctly with bl2-only-for-recovery.fip in the post above and there are still issues.
I think disassembling to debug this is not worth it. Let’s wait until we have managed to get an open-source ATF running which we can compile with higher log levels.