diff options
author | Vignesh R | 2018-03-26 13:27:01 +0530 |
---|---|---|
committer | Tom Rini | 2018-04-06 20:45:44 -0400 |
commit | 5375a9b566d1515eaf674640dbc47c99d1d50cf0 (patch) | |
tree | 4ab6828b7728d9e905f3f37af2fe46c8e77dcc79 | |
parent | d48b8d1138a45ee88f2af0a883d87a1a93ae0592 (diff) |
board: ti: am43xx: Define embedded_dtb_select for runtime DTB selection in U-boot
AM437x QSPI boot is a single stage boot and hence needs runtime DTB
selection to support AM437x-SK and AM437x-IDK with DM enabled. This is
required to move am43xx_evm_qspiboot_defconfig to use DM/DT.
Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
-rw-r--r-- | board/ti/am43xx/board.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index d8944ea8162..0564df2c00b 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -908,10 +908,14 @@ int ft_board_setup(void *blob, bd_t *bd) } #endif -#ifdef CONFIG_SPL_LOAD_FIT +#if defined(CONFIG_SPL_LOAD_FIT) || defined(CONFIG_DTB_RESELECT) int board_fit_config_name_match(const char *name) { - if (board_is_evm() && !strcmp(name, "am437x-gp-evm")) + bool eeprom_read = board_ti_was_eeprom_read(); + + if (!strcmp(name, "am4372-generic") && !eeprom_read) + return 0; + else if (board_is_evm() && !strcmp(name, "am437x-gp-evm")) return 0; else if (board_is_sk() && !strcmp(name, "am437x-sk-evm")) return 0; @@ -924,6 +928,16 @@ int board_fit_config_name_match(const char *name) } #endif +#ifdef CONFIG_DTB_RESELECT +int embedded_dtb_select(void) +{ + do_board_detect(); + fdtdec_setup(); + + return 0; +} +#endif + #ifdef CONFIG_TI_SECURE_DEVICE void board_fit_image_post_process(void **p_image, size_t *p_size) { |