Hi Samuel, On Thu, 6 Aug 2020 at 22:20, Samuel Holland <sam...@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