diff options
author | Stefano Viola <stefano.viola@toradex.com> | 2021-08-16 10:03:53 +0200 |
---|---|---|
committer | Stefano Viola <stefano.viola@toradex.com> | 2021-08-20 12:22:00 +0200 |
commit | 6a8d4f758d0331ee303517618f8368ef52c9d1c7 (patch) | |
tree | ee11bc8ae9ab0ed7bc59ab0f3df62216cc583391 | |
parent | f499632b31f88dbd313fe9f742e2019c56032558 (diff) |
colibri-imx8x: construct fdtfile dynamically
The following expression is used to construct the device tree name:
fdtfile=${soc}-colibri-${fdt_board}.dtb
- soc is set dynamically (either imx8qxp imx8dx)
- fdt_board can be modified by the user (eval-V3, aster, iris/iris-V2)
Related-to: ELB-2800
Signed-of-by: Stefano Viola <stefano.viola@toradex.com>
-rw-r--r-- | board/toradex/colibri-imx8x/colibri-imx8x.c | 25 | ||||
-rw-r--r-- | configs/colibri-imx8x_defconfig | 2 | ||||
-rw-r--r-- | include/configs/colibri-imx8x.h | 6 |
3 files changed, 29 insertions, 4 deletions
diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c index 5bc4fba5b9..e4e96a207e 100644 --- a/board/toradex/colibri-imx8x/colibri-imx8x.c +++ b/board/toradex/colibri-imx8x/colibri-imx8x.c @@ -168,6 +168,30 @@ static void init_gpio_expander(void) #endif } +static void select_dt_from_module_version(void) +{ + switch (tdx_hw_tag.prodid) { + /* Select Colibri iMX8QXP device trees */ + case COLIBRI_IMX8QXP_WIFI_BT_IT: + case COLIBRI_IMX8QXP_IT: + env_set("soc", "imx8qxp"); + break; + + /* Select Colibri iMX8DX device trees */ + case COLIBRI_IMX8DX_WIFI_BT: + case COLIBRI_IMX8DX: + env_set("soc", "imx8dx"); + break; + default: + printf("Unknown Colibri iMX8x module\n"); + return; + } + +#ifndef CONFIG_ENV_IS_NOWHERE + env_save(); +#endif +} + int board_init(void) { init_gpio_expander(); @@ -249,6 +273,7 @@ int board_late_init(void) board_late_mmc_env_init(); #endif + select_dt_from_module_version(); return 0; } diff --git a/configs/colibri-imx8x_defconfig b/configs/colibri-imx8x_defconfig index 61c17a0b0a..256159b060 100644 --- a/configs/colibri-imx8x_defconfig +++ b/configs/colibri-imx8x_defconfig @@ -16,6 +16,8 @@ CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_OF_SYSTEM_SETUP=y +CONFIG_USE_PREBOOT=y +CONFIG_PREBOOT="setenv fdtfile ${soc}-colibri-${fdt_board}.dtb" CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri-imx8x/colibri-imx8x-imximage.cfg" CONFIG_BOOTDELAY=1 CONFIG_LOG=y diff --git a/include/configs/colibri-imx8x.h b/include/configs/colibri-imx8x.h index f9eece3646..13bdf3f760 100644 --- a/include/configs/colibri-imx8x.h +++ b/include/configs/colibri-imx8x.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * Copyright 2019 Toradex + * Copyright 2019-2021 Toradex */ #ifndef __COLIBRI_IMX8X_H @@ -69,8 +69,6 @@ func(DHCP, dhcp, na) #include <config_distro_bootcmd.h> -#define FDT_FILE "imx8qxp-colibri-eval-v3.dtb" - #include <config_distro_bootcmd.h> #if defined(CONFIG_TDX_EASY_INSTALLER) @@ -90,8 +88,8 @@ "bootcmd_mfg=fastboot 0\0" \ "console=ttyLP3,115200 earlycon=lpuart32,0x5a090000,115200\0" \ "fdt_addr=0x83000000\0" \ - "fdtfile=" FDT_FILE "\0" \ "fdt_high=\0" \ + "fdt_board=eval-v3\0" \ "finduuid=part uuid mmc ${mmcdev}:2 uuid\0" \ "image=Image\0" \ "initrd_addr=0x83800000\0" \ |