
Hi Samuel,
On Thu, 6 Aug 2020 at 22:20, Samuel Holland samuel@sholland.org wrote:
On 8/5/20 1:25 PM, Simon Glass wrote:
The last build steps with your patch are:
cat spl/sunxi-spl.bin u-boot.itb > u-boot-sunxi-with-spl.bin ./tools/binman/binman --toolpath ./tools build -u -d u-boot.dtb -O . -m --allow-missing -I . -I . -I ./board/sunxi
The file before binman is ok. After binman u-boot-sunxi-with-spl.bin is broken.
Nowhere in the commit message you state that you want to run binman on sunxi boards.
BTW the commit does not change this. Sunxi boards were already using binman.
That is only half true. Before this commit, binman was *not* run for sunxi when CONFIG_ARM64=y. 32-bit boards used binman with u-boot.img, and 64-bit boards used mksunxi_fit_atf.sh to generate a FIT.
Yes that's right. CONFIG_BINMAN was enabled but binman was not executed.
Since converting mksunxi_fit_atf.sh to the binman equivalent is nontrivial (how do you expect to get environment variables into the device tree?), binman should be disabled for sunxi with CONFIG_ARM64=y.
It shouldn't be too hard. See commit a32dd071485 for an example.
I don't think you need environment variables...but if so, what for? The BL31_ADDR should really move to Kconfig I think, and BL31 can be used to pass another -I parameter to binman.
The only new thing I can see is needing to create dtb and config nodes on the fly. How about a new sunxi-fit etype which subclasses Entry_fit and expands _ReadSubnode() to generate the extra nodes and properties?
Regards, SImon