[U-Boot] [PATCH 12/31] board_f: Add new function to allow runtime DTB selection
Franklin S Cooper Jr
fcooper at ti.com
Thu Mar 2 19:04:16 UTC 2017
Runtime U-boot dtb selection is generally a two step process. First step
is to simply use an initial generic dtb. The second step is to select
the dtb and perhaps execute additional code ones U-boot knows what board
it is running on. Embedded_dtb_select handles the second step by allowing
board specific code to run and perform what ever necessary configuration
that is needed.
Signed-off-by: Franklin S Cooper Jr <fcooper at ti.com>
---
common/Kconfig | 10 ++++++++++
common/board_f.c | 3 +++
include/common.h | 4 ++++
3 files changed, 17 insertions(+)
diff --git a/common/Kconfig b/common/Kconfig
index 11495f3..bf4e94b 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -352,6 +352,16 @@ config SYS_STDIO_DEREGISTER
endmenu
+config DTB_RESELECT
+ bool "Support swapping dtbs at a later point in boot"
+ depends on FIT_EMBED
+ default n
+ help
+ It is possible during initial boot you may need to use a generic
+ dtb until you can fully determine the board your running on. This
+ config allows boards to implement a function at a later point
+ during boot to switch to the "correct" dtb.
+
config FIT_EMBED
bool "Support a FIT image embedded in the U-boot image"
default n
diff --git a/common/board_f.c b/common/board_f.c
index ae6cd85..2e69b3a 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -920,6 +920,9 @@ static const init_fnc_t init_sequence_f[] = {
#if defined(CONFIG_DISPLAY_CPUINFO)
print_cpuinfo, /* display cpu info (and speed) */
#endif
+#if defined(CONFIG_DTB_RESELECT)
+ embedded_dtb_select,
+#endif
#if defined(CONFIG_DISPLAY_BOARDINFO)
show_board_info,
#endif
diff --git a/include/common.h b/include/common.h
index fbbc2cb..7bc85d8 100644
--- a/include/common.h
+++ b/include/common.h
@@ -451,6 +451,10 @@ void pci_init_board(void);
#endif
#endif
+#if defined(CONFIG_DTB_RESELECT)
+int embedded_dtb_select(void);
+#endif
+
int misc_init_f (void);
int misc_init_r (void);
--
2.10.0
More information about the U-Boot
mailing list