This option seems new…maybe this is the commit which breaks boot…looks like it is not part of 2020-01 and merged later
https://github.com/u-boot/u-boot/commit/3c10dc95bdd0706ff85ffdc25ecd6381c3d51e4c
the return log_msg_ret() causing an exit from chain so the further entries are not executed
38 int binman_init(void)
39 {
40 binman = malloc(sizeof(struct binman_info));
41 printf("%s:%d",__FUNCTION__,__LINE__);
42 if (!binman)
43 return log_msg_ret("space for binman", -ENOMEM);
44 printf("%s:%d",__FUNCTION__,__LINE__);
45 binman->image = ofnode_path("/binman");
46 printf("%s:%d",__FUNCTION__,__LINE__);
47 if (!ofnode_valid(binman->image))
48 return log_msg_ret("binman node", -EINVAL);
49
50 printf("%s:%d",__FUNCTION__,__LINE__);
51 return 0;
52 }
results in this:
binman_init:41binman_init:44binman_init:46initcall sequence 000000004ffd2588 failed at call 0000000041e0cdec (err=-22)
so this line seems to break:
return log_msg_ret("binman node", -EINVAL); //-EINVAL=-22
the binman_init 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))
./include/initcall.h
40 ret = (*init_fnc_ptr)();
41 if (ret) {
42 printf("initcall sequence %p failed at call %p (err=%d)\n", //<<<<<<<<< show error and then exit init-list execution on error
43 init_sequence,
44 (char *)*init_fnc_ptr - reloc_ofs, ret);
45 return -1;
46 }
posted bug to author and mailinglist…