ARM: stm32: Add both PDK2 and DRC02 DT into DHCOM fitImage its
authorMarek Vasut <marex@denx.de>
Thu, 30 Jul 2020 23:35:33 +0000 (01:35 +0200)
committerPatrice Chotard <patrice.chotard@st.com>
Thu, 13 Aug 2020 07:55:58 +0000 (09:55 +0200)
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 <marex@denx.de>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
board/dhelectronics/dh_stm32mp1/board.c
board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its
configs/stm32mp15_dhcom_basic_defconfig

index 17dbf20..eec51d2 100644 (file)
@@ -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;
index 2776c41..d8a1a28 100644 (file)
                        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 */
        };
 };
index 8844508..7419684 100644 (file)
@@ -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";
                };
index dc85625..c70414e 100644 (file)
@@ -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