
Am 12. Februar 2020 00:03:18 MEZ schrieb Simon Glass sjg@chromium.org:
Hi Frank,
Sorry for the delay. Stephen hit this also.
Hi Simon, good that my mail was not lost 😁
this line [1] (in my case) breaks the init-chain:
return log_msg_ret("binman node", -EINVAL);
the binman_init [2] is added to init_sequence_r[] which is executed
by initcall_run_list
./common/board_r.c:897: if (initcall_run_list(init_sequence_r))
exiting the binman-function [3] with error-code (return <> 0) exits
the full chain (./include/initcall.h) [4] with message
initcall sequence %p failed at call %p
how to deal with this?
- do not select binman as default=y in Kconfig
Where is it selected by default?
https://gitlab.denx.de/u-boot/u-boot/blob/master/lib/Kconfig#L13
bpi-r64 uses binman to build its image so I think BINMAN is on.
- adding the binman-node [1] to all dts
Yes, but in fact it should already be there. I see in the Makefile that 64-bit sunxi uses 'cat' instead of 'binman'. It should use binman.
https://gitlab.denx.de/u-boot/u-boot/blob/master/arch/arm/dts/mt7622.dtsi https://gitlab.denx.de/u-boot/u-boot/blob/master/arch/arm/dts/mt7622-rfb.dts
I see no binman there
- do not exit with error-code (only print/log message)
Not keen on that
- do not exit the init-sequence on binman-error [3]
or that
- more ideas?
Let's convert bpi-64 as above.
What do i need to add/change
in our case we disabled option CONFIG_BINMAN_FDT [5]
regards Frank
[1] https://gitlab.denx.de/u-boot/u-boot/blob/master/lib/binman.c#L45 [2]
https://gitlab.denx.de/u-boot/u-boot/blob/master/common/board_r.c#L722
[3]
https://gitlab.denx.de/u-boot/u-boot/blob/master/common/board_r.c#L369
[4]
https://gitlab.denx.de/u-boot/u-boot/blob/master/include/initcall.h#L42
[5]
http://forum.banana-pi.org/t/bpi-r64-current-u-boot-support/10077/69
Regards, Simon
Mit freundlichen Grüßen Frank Wunderlich