xilinx: Add support for generic board detection

Add support for changing DT at run time. It is done via board_detection()
which returns platform_id and platform_version which can be used via
board_name_decode() to compose board_local_name string which corresponds
with DT which is should be used.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
Michal Simek 2021-07-23 09:59:59 +02:00
parent b262863bf8
commit 8823253272

View file

@ -463,3 +463,34 @@ int print_cpuinfo(void)
return 0;
}
#endif
#if CONFIG_IS_ENABLED(DTB_RESELECT)
char * __maybe_unused __weak board_name_decode(void)
{
return NULL;
}
bool __maybe_unused __weak board_detection(void)
{
return false;
}
int embedded_dtb_select(void)
{
if (board_detection()) {
char *board_local_name;
board_local_name = board_name_decode();
if (board_local_name) {
board_name = board_local_name;
debug("Detected name: %s\n", board_name);
/* Time to change DTB on fly */
/* Both ways should work here */
/* fdtdec_resetup(&rescan); */
fdtdec_setup();
}
}
return 0;
}
#endif