[U-Boot] [PATCH 27/31] ARM: k2g: Update board_name u-boot env variable at runtime
Franklin S Cooper Jr
fcooper at ti.com
Thu Mar 2 19:04:31 UTC 2017
Enable CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG to allow "board_name" to
be set depending on the board it is being ran on.
Update findfdt to use this new dynamic board_name value to determine
which dtb should be used.
Signed-off-by: Franklin S Cooper Jr <fcooper at ti.com>
---
board/ti/ks2_evm/board_k2g.c | 13 +++++++++++++
include/configs/k2g_evm.h | 14 ++++++++++++--
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/board/ti/ks2_evm/board_k2g.c b/board/ti/ks2_evm/board_k2g.c
index 0fbc64a..70164ee 100644
--- a/board/ti/ks2_evm/board_k2g.c
+++ b/board/ti/ks2_evm/board_k2g.c
@@ -198,6 +198,19 @@ int embedded_dtb_select(void)
}
#endif
+#ifdef CONFIG_BOARD_LATE_INIT
+int board_late_init(void)
+{
+#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+ if (board_is_k2g_gp())
+ setenv("board_name", "66AK2GGP\0");
+ else if (board_is_k2g_ice())
+ setenv("board_name", "66AK2GIC\0");
+#endif
+ return 0;
+}
+#endif
+
#ifdef CONFIG_BOARD_EARLY_INIT_F
int board_early_init_f(void)
{
diff --git a/include/configs/k2g_evm.h b/include/configs/k2g_evm.h
index bd25231..0d11e4e 100644
--- a/include/configs/k2g_evm.h
+++ b/include/configs/k2g_evm.h
@@ -13,6 +13,9 @@
/* Platform type */
#define CONFIG_SOC_K2G
+#define CONFIG_BOARD_LATE_INIT
+#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+
/* U-Boot general configuration */
#define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS \
DEFAULT_MMC_TI_ARGS \
@@ -25,7 +28,14 @@
"rd_spec=-\0" \
"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs " \
"root=ubi0:rootfs rootflags=sync rw ubi.mtd=ubifs,2048\0" \
- "name_fdt=keystone-k2g-evm.dtb\0" \
+ "findfdt="\
+ "if test $board_name = 66AK2GGP; then " \
+ "setenv name_fdt keystone-k2g-evm.dtb; " \
+ "else if test $board_name = 66AK2GIC; then " \
+ "setenv name_fdt keystone-k2g-ice.dtb; " \
+ "else if test $name_fdt = undefined; then " \
+ "echo WARNING: Could not determine device tree to use;"\
+ "fi;fi;fi;\0" \
"name_mon=skern-k2g.bin\0" \
"name_ubi=k2g-evm-ubifs.ubi\0" \
"name_uboot=u-boot-spi-k2g-evm.gph\0" \
@@ -43,7 +53,7 @@
"run envboot; " \
"run set_name_pmmc init_${boot} init_fw_rd_${boot} " \
"get_pmmc_${boot} run_pmmc get_mon_${boot} run_mon " \
- "get_fdt_${boot} get_kern_${boot} run_kern"
+ "findfdt get_fdt_${boot} get_kern_${boot} run_kern"
#include <configs/ti_armv7_keystone2.h>
--
2.10.0
More information about the U-Boot
mailing list