summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2020-07-31 01:35:33 +0200
committerPatrice Chotard <[email protected]>2020-08-13 09:55:58 +0200
commit49650c75119ef761d0e3bd9c7e8b33d8eef4b755 (patch)
treea2b129a8546aeae7d3155f1b9d23857bed8f4722
parentacdaae63903f26a4a73fffd3b2e3b30b9a5294ba (diff)
ARM: stm32: Add both PDK2 and DRC02 DT into DHCOM fitImage its
Include both PDK2 and DRC02 DTs in the DHCOM fitImage .its and implement support in SPL to select the correct configuration entry for U-Boot by using the machine compatible string from SPL DT. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
-rw-r--r--board/dhelectronics/dh_stm32mp1/board.c8
-rw-r--r--board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its18
-rw-r--r--board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its3
-rw-r--r--configs/stm32mp15_dhcom_basic_defconfig1
4 files changed, 26 insertions, 4 deletions
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c
index 17dbf20d76a..eec51d233e6 100644
--- a/board/dhelectronics/dh_stm32mp1/board.c
+++ b/board/dhelectronics/dh_stm32mp1/board.c
@@ -216,9 +216,13 @@ int board_early_init_f(void)
#ifdef CONFIG_SPL_LOAD_FIT
int board_fit_config_name_match(const char *name)
{
- char test[20];
+ const char *compat;
+ char test[128];
- snprintf(test, sizeof(test), "somrev%d_boardrev%d", somcode, brdcode);
+ compat = fdt_getprop(gd->fdt_blob, 0, "compatible", NULL);
+
+ snprintf(test, sizeof(test), "%s_somrev%d_boardrev%d",
+ compat, somcode, brdcode);
if (!strcmp(name, test))
return 0;
diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
index 2776c41af1e..d8a1a28a112 100644
--- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
+++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
@@ -23,17 +23,33 @@
arch = "arm";
compression = "none";
};
+
+ fdt-2 {
+ description = ".dtb";
+ data = /incbin/("arch/arm/dts/stm32mp15xx-dhcom-drc02.dtb");
+ type = "flat_dt";
+ arch = "arm";
+ compression = "none";
+ };
};
configurations {
default = "config-1";
config-1 {
- description = "somrev0_boardrev0"; /* SoM+board model */
+ /* DT+SoM+board model */
+ description = "dh,stm32mp15xx-dhcom-pdk2_somrev0_boardrev0";
loadables = "uboot";
fdt = "fdt-1";
};
+ config-2 {
+ /* DT+SoM+board model */
+ description = "dh,stm32mp15xx-dhcom-drc02_somrev0_boardrev0";
+ loadables = "uboot";
+ fdt = "fdt-2";
+ };
+
/* Add 587-100..587-400 with fdt-2..fdt-4 here */
};
};
diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its
index 8844508f1a2..7419684f559 100644
--- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its
+++ b/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its
@@ -29,7 +29,8 @@
default = "config-1";
config-1 {
- description = "somrev0_boardrev1"; /* SoM+board model */
+ /* DT+SoM+board model */
+ description = "arrow,stm32mp15xx-avenger96_somrev0_boardrev1";
loadables = "uboot";
fdt = "fdt-1";
};
diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig
index dc85625a8bf..c70414e23b2 100644
--- a/configs/stm32mp15_dhcom_basic_defconfig
+++ b/configs/stm32mp15_dhcom_basic_defconfig
@@ -57,6 +57,7 @@ CONFIG_CMD_REGULATOR=y
CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_MTDPARTS=y
# CONFIG_SPL_DOS_PARTITION is not set
+CONFIG_OF_LIST="stm32mp15xx-dhcom-pdk2 stm32mp15xx-dhcom-drc02"
CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks"
CONFIG_ENV_IS_IN_SPI_FLASH=y
CONFIG_USE_ENV_SPI_BUS=y