diff options
author | Philippe Schenker <philippe.schenker@toradex.com> | 2020-04-16 12:08:43 +0200 |
---|---|---|
committer | Igor Opaniuk <igor.opaniuk@toradex.com> | 2020-07-21 16:02:32 +0300 |
commit | baef9ef34a276a0b2eed6b336fd40a7cd2292957 (patch) | |
tree | 02b24c62cf1d0a66be143036588ab36dc272fedc | |
parent | cce3a481f7148b4808498fb2dadcda5050203bac (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.c | 11 | ||||
-rw-r--r-- | configs/verdin-imx8mm_defconfig | 1 | ||||
-rw-r--r-- | include/configs/verdin-imx8mm.h | 5 |
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" \ |