summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrejs Cainikovs <andrejs.cainikovs@gmail.com>2023-03-03 14:26:33 +0100
committerStefano Babic <sbabic@denx.de>2023-03-30 10:50:29 +0200
commitde666551b304dec47ed2029e12c7e5d97bf61010 (patch)
treeeaeab14c19fd3f6cf9532b62466fa07889b97cd0
parent18fff32ba202811195a813e44d91d9eb668c6d9f (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 or imx8dx) - fdt_board can be modified by the user (eval-v3, aster, iris/iris-v2) Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
-rw-r--r--board/toradex/colibri-imx8x/colibri-imx8x.c14
-rw-r--r--configs/colibri-imx8x_defconfig2
-rw-r--r--include/configs/colibri-imx8x.h3
3 files changed, 17 insertions, 2 deletions
diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
index 88eddbddaef..6ed9cc4fa80 100644
--- a/board/toradex/colibri-imx8x/colibri-imx8x.c
+++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
@@ -123,6 +123,18 @@ int checkboard(void)
return 0;
}
+static void select_dt_from_module_version(void)
+{
+ /*
+ * The dtb filename is constructed from ${soc}-colibri-${fdt_board}.dtb.
+ * Set soc depending on the used SoC.
+ */
+ if (is_imx8dx())
+ env_set("soc", "imx8dx");
+ else
+ env_set("soc", "imx8qxp");
+}
+
int board_init(void)
{
board_gpio_init();
@@ -158,5 +170,7 @@ int board_late_init(void)
env_set("board_rev", "v1.0");
#endif
+ select_dt_from_module_version();
+
return 0;
}
diff --git a/configs/colibri-imx8x_defconfig b/configs/colibri-imx8x_defconfig
index e1d375c72a7..24ccaa96dbf 100644
--- a/configs/colibri-imx8x_defconfig
+++ b/configs/colibri-imx8x_defconfig
@@ -20,6 +20,8 @@ CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x3000
CONFIG_FIT_VERBOSE=y
CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="test -n ${fdtfile} || setenv fdtfile ${soc}-colibri-${fdt_board}.dtb"
CONFIG_DISTRO_DEFAULTS=y
CONFIG_LOG=y
# CONFIG_DISPLAY_BOARDINFO is not set
diff --git a/include/configs/colibri-imx8x.h b/include/configs/colibri-imx8x.h
index 7826596a331..9a4a5f3b5de 100644
--- a/include/configs/colibri-imx8x.h
+++ b/include/configs/colibri-imx8x.h
@@ -61,8 +61,7 @@
"boot_script_dhcp=boot.scr\0" \
"console=ttyLP3\0" \
"fdt_addr=0x83000000\0" \
- "fdt_file=fsl-imx8qxp-colibri-dsihdmi-eval-v3.dtb\0" \
- "fdtfile=fsl-imx8qxp-colibri-dsihdmi-eval-v3.dtb\0" \
+ "fdt_board=eval-v3\0" \
"finduuid=part uuid mmc ${mmcdev}:2 uuid\0" \
"image=Image\0" \
"initrd_addr=0x83800000\0" \