
I think you should rework this patch. At the moment, you call getenv() in board_init_f() - but board_init_f() is still running from flash, which means that we don't have a full C runtime environment (uninitialized BSS, no writable data, limited stack space) so the use of getenv() is not allowd in that function. You may use getenv_r() instead.
I can convert it to use getenv_r() or I think it would be better to move that section dealing with initialization of bi_iic_fast[] flags to board_init_r(). bi_iic_fast[] is not used by u-boot itself. It is passed to Linux.
Then move it to board_init_r(), please.
Attached patch fixes this.
Changelog:
- Relocate initialization of bi_iic_fast[] from board_init_f() to board_init_r()
Best regards, Tolunay Orkun