diff options
author | Michal Simek | 2021-07-23 09:59:59 +0200 |
---|---|---|
committer | Michal Simek | 2021-08-26 08:14:43 +0200 |
commit | 88232532728c91d69a1f5efb219f6cd7fc030461 (patch) | |
tree | e81e206ad5cfa74f99f7522405ac269516bf6f54 /board | |
parent | b262863bf8881542b7fad73563b3d6827df3f4b7 (diff) |
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>
Diffstat (limited to 'board')
-rw-r--r-- | board/xilinx/common/board.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c index 2aecb14d8e2..92874272893 100644 --- a/board/xilinx/common/board.c +++ b/board/xilinx/common/board.c @@ -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 |