
I am looking into reusing the SPL system initialization part for a very minimalistic "SPL" which only initializes the board.
To give a bit of context, on the Allwinner CPUs there is a recovery boot mode where data can be copied over USB and executed by the CPU. But most of the board including DRAM controller is not initialized by default so the very first thing you need to do is to upload & execute board initialization code (but excluding CPU initialization).
Note: It is not really an SPL as all it does is initializing the board and then returning control to the USB loader so additional code (u-boot.bin) can be uploaded to DRAM and executed.
I have this implemented today partially out-of-tree leaching objects from an u-boot build to build a binary with the initialization code. My question is if it would make sense to try integrate this into the u-boot tree somehow. Have something similar been done for any other board?
The current "code" is at https://github.com/linux-sunxi/sunxi-tools/tree/master/felboot mainly main.c (entry + stubs), the rest is only for a small printf and is not needed.
Regards Henrik