summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Schenker <philippe.schenker@toradex.com>2020-04-16 12:08:43 +0200
committerIgor Opaniuk <igor.opaniuk@toradex.com>2020-07-21 16:02:32 +0300
commitbaef9ef34a276a0b2eed6b336fd40a7cd2292957 (patch)
tree02b24c62cf1d0a66be143036588ab36dc272fedc
parentcce3a481f7148b4808498fb2dadcda5050203bac (diff)
verdin-imx8mm: choose correct devicetree with configblock
This commit makes u-boot choose the right variant wifi or nonwifi of the devicetree with the information stored in toradex configblock. Related-to: ELB-2642 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit 099bc1b8ef7994781fc0ad1ed2abdc1dd8d5b6e3)
-rw-r--r--board/toradex/verdin-imx8mm/verdin-imx8mm.c11
-rw-r--r--configs/verdin-imx8mm_defconfig1
-rw-r--r--include/configs/verdin-imx8mm.h5
3 files changed, 15 insertions, 2 deletions
diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
index 4890984fa8..b7705be4ed 100644
--- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
+++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
@@ -480,6 +480,17 @@ size_t display_count = ARRAY_SIZE(displays);
int board_late_init(void)
{
+#ifdef CONFIG_TDX_CFG_BLOCK
+ /*
+ * If we have a valid config block and it says we are a module with
+ * Wi-Fi/Bluetooth make sure we use the -wifi device tree.
+ */
+ if (tdx_hw_tag.prodid == VERDIN_IMX8MMQ_WIFI_BT_IT)
+ env_set("variant", "wifi");
+ else
+ env_set("variant", "nonwifi");
+#endif
+
return 0;
}
diff --git a/configs/verdin-imx8mm_defconfig b/configs/verdin-imx8mm_defconfig
index a36ab87e07..6f3b5a12f1 100644
--- a/configs/verdin-imx8mm_defconfig
+++ b/configs/verdin-imx8mm_defconfig
@@ -29,7 +29,6 @@ CONFIG_OF_SYSTEM_SETUP=y
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,SPL_TEXT_BASE=0x7E1000"
CONFIG_BOOTDELAY=1
CONFIG_LOG=y
-CONFIG_DEFAULT_FDT_FILE="imx8mm-verdin.dtb"
CONFIG_BOARD_LATE_INIT=y
CONFIG_ARCH_MISC_INIT=y
CONFIG_BOARD_EARLY_INIT_F=y
diff --git a/include/configs/verdin-imx8mm.h b/include/configs/verdin-imx8mm.h
index cc85ff25a7..6e9c45edc4 100644
--- a/include/configs/verdin-imx8mm.h
+++ b/include/configs/verdin-imx8mm.h
@@ -69,6 +69,8 @@
#define CONFIG_SERVERIP 192.168.10.1
#endif /* CONFIG_CMD_NET */
+#define FDT_FILE "fsl-imx8mm-verdin-${variant}-${fdt_board}.dtb"
+
#define MEM_LAYOUT_ENV_SETTINGS \
"fdt_addr_r=0x44000000\0" \
"kernel_addr_r=0x42000000\0" \
@@ -80,6 +82,7 @@
/* Enable Distro Boot */
#ifndef CONFIG_SPL_BUILD
+#define CONFIG_BOOTCOMMAND "setenv fdtfile " FDT_FILE " && run distro_bootcmd;"
#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 1) \
func(MMC, mmc, 0) \
@@ -98,7 +101,7 @@
"bootcmd_mfg=fastboot 0\0" \
"console=ttymxc0\0" \
"fdt_addr=0x43000000\0" \
- "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
+ "fdt_board=dev\0" \
"initrd_addr=0x43800000\0" \
"initrd_high=0xffffffffffffffff\0" \
"kernel_image=Image\0" \