U-Boot does have the capability to store a binary in RAM, and execute it via ‘go’ – we believe that you have done that in the comment posted #7 11/2/17 @ 9:09am. However, it will hang, as you showed. That’s most likely because U-Boot depends on some registers at entry to be set up similar to the kernel:
X0 = dtb_addr
X1 = 0
X2 = 0
X3 = 0
Without the DTB addr, U-Boot can’t parse the ‘memory’ node to determine the mem start/end boundaries, and will hang in dram_init()/query_sdram_size().
You can try loading your U-Boot binary into RAM @ 0x80080000 (CONFIG_SYS_TEXT_BASE), loading the DTB from the BSP somewhere else in RAM (that doesn’t conflict with or overwrite U-Boot), and then setting X0 to the physical address of their DTB, and then doing the ‘go 0x80080000’. That might work.
Note that we understand you not wanting to reflash everything for each iteration of your U-Boot code, but you can just flash it with the ‘-k kernel’ (or –k LNX on T210, IIRC) flash.sh command, which would be much quicker.