sunxi/arm64 build broken (was: [PATCH v4 12/27] x86: Makefile: Drop explicit targets built by binman)
sjg at chromium.org
Fri Aug 7 18:23:24 CEST 2020
On Thu, 6 Aug 2020 at 22:20, Samuel Holland <samuel at 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?
More information about the U-Boot