summaryrefslogtreecommitdiff
path: root/board/dhelectronics
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2024-10-05 03:15:50 +0200
committerPatrick Delaunay <[email protected]>2024-10-16 20:12:35 +0200
commit5fccc2891e280ea1f1beff1821d5c9762591bde2 (patch)
tree2c90813a4bbc7b9554f38dc888bb7056177589f9 /board/dhelectronics
parentcccb29fc127099137aef5052ba532619c193a563 (diff)
ARM: dts: stm32: Generate u-boot.itb using binman on DH STM32 DHSOM
Describe the u-boot.its generation in stm32mp15xx-dhsom-u-boot.dtsi binman {} DT node as a replacement for current CONFIG_SPL_FIT_SOURCE use, dispose of both u-boot-dhcom.its and u-boot-dhcor.its. Use fdt-SEQ/config-SEQ to generate a list of fdt-N fitImage images {} and matching configuration {} node entries. The configuration node entry names no longer encode _somrevN_boardrevN suffix, which was never really used, so drop this functionality by default. Rework board_fit_config_name_match() to match on the new configuration node entry names. Users who do need the match on _somrevN_boardrevN can either replace the fdt-SEQ/config-SEQ with fixed fdt-N/config-N nodes which each encode the matching 'description = "NAME_somrevN_boardrevN"' to restore the old behavior verbatim, or better use SPL DT overlays for U-Boot control DT the same way e.g. i.MX8MP DHCOM does to support multiple SoM and board variants. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
Diffstat (limited to 'board/dhelectronics')
-rw-r--r--board/dhelectronics/dh_stm32mp1/board.c19
-rw-r--r--board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its91
-rw-r--r--board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its70
3 files changed, 15 insertions, 165 deletions
diff --git a/board/dhelectronics/dh_stm32mp1/board.c b/board/dhelectronics/dh_stm32mp1/board.c
index a975fd2978c..d30171f1fbe 100644
--- a/board/dhelectronics/dh_stm32mp1/board.c
+++ b/board/dhelectronics/dh_stm32mp1/board.c
@@ -276,15 +276,26 @@ int board_early_init_f(void)
#ifdef CONFIG_SPL_LOAD_FIT
int board_fit_config_name_match(const char *name)
{
+ char *cdevice, *ndevice;
const char *compat;
- char test[128];
compat = ofnode_get_property(ofnode_root(), "compatible", NULL);
+ if (!compat)
+ return -EINVAL;
+
+ cdevice = strchr(compat, ',');
+ if (!cdevice)
+ return -ENODEV;
+
+ cdevice++; /* Move past the comma right after vendor prefix. */
+
+ ndevice = strchr(name, '/');
+ if (!ndevice)
+ return -ENODEV;
- snprintf(test, sizeof(test), "%s_somrev%d_boardrev%d",
- compat, somcode, brdcode);
+ ndevice++; /* Move past the last slash in DT path */
- if (!strcmp(name, test))
+ if (!strcmp(cdevice, ndevice))
return 0;
return -EINVAL;
diff --git a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its b/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
deleted file mode 100644
index 38ecb601190..00000000000
--- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its
+++ /dev/null
@@ -1,91 +0,0 @@
-/dts-v1/;
-
-/ {
- description = "U-Boot mainline";
- #address-cells = <1>;
-
- images {
- uboot {
- description = "U-Boot (32-bit)";
- data = /incbin/("u-boot-nodtb.bin");
- type = "standalone";
- os = "U-Boot";
- arch = "arm";
- compression = "none";
- load = <0xc0100000>;
- entry = <0xc0100000>;
- };
-
- fdt-1 {
- description = ".dtb";
- data = /incbin/("dts/upstream/src/arm/st/stm32mp157c-dhcom-pdk2.dtb");
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- };
-
- fdt-2 {
- description = ".dtb";
- data = /incbin/("dts/upstream/src/arm/st/stm32mp153c-dhcom-drc02.dtb");
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- };
-
- fdt-3 {
- description = ".dtb";
- data = /incbin/("dts/upstream/src/arm/st/stm32mp157c-dhcom-picoitx.dtb");
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- };
- };
-
- configurations {
- default = "config-1";
-
- config-1 {
- /* DT+SoM+board model */
- description = "dh,stm32mp157c-dhcom-pdk2_somrev0_boardrev0";
- firmware = "uboot";
- fdt = "fdt-1";
- };
-
- config-2 {
- /* DT+SoM+board model */
- description = "dh,stm32mp157c-dhcom-pdk2_somrev1_boardrev0";
- firmware = "uboot";
- fdt = "fdt-1";
- };
-
- config-3 {
- /* DT+SoM+board model */
- description = "dh,stm32mp153c-dhcom-drc02_somrev0_boardrev0";
- firmware = "uboot";
- fdt = "fdt-2";
- };
-
- config-4 {
- /* DT+SoM+board model */
- description = "dh,stm32mp153c-dhcom-drc02_somrev1_boardrev0";
- firmware = "uboot";
- fdt = "fdt-2";
- };
-
- config-5 {
- /* DT+SoM+board model */
- description = "dh,stm32mp157c-dhcom-picoitx_somrev0_boardrev0";
- loadables = "uboot";
- fdt = "fdt-3";
- };
-
- config-6 {
- /* DT+SoM+board model */
- description = "dh,stm32mp157c-dhcom-picoitx_somrev1_boardrev0";
- loadables = "uboot";
- fdt = "fdt-3";
- };
-
- /* 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
deleted file mode 100644
index e17dac77804..00000000000
--- a/board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its
+++ /dev/null
@@ -1,70 +0,0 @@
-/dts-v1/;
-
-/ {
- description = "U-Boot mainline";
- #address-cells = <1>;
-
- images {
- uboot {
- description = "U-Boot (32-bit)";
- data = /incbin/("u-boot-nodtb.bin");
- type = "standalone";
- os = "U-Boot";
- arch = "arm";
- compression = "none";
- load = <0xc0100000>;
- entry = <0xc0100000>;
- };
-
- fdt-1 {
- description = ".dtb";
- data = /incbin/("dts/upstream/src/arm/st/stm32mp151a-dhcor-testbench.dtb");
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- };
-
- fdt-2 {
- description = ".dtb";
- data = /incbin/("dts/upstream/src/arm/st/stm32mp157a-dhcor-avenger96.dtb");
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- };
-
- fdt-3 {
- description = ".dtb";
- data = /incbin/("dts/upstream/src/arm/st/stm32mp153c-dhcor-drc-compact.dtb");
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- };
- };
-
- configurations {
- default = "config-1";
-
- config-1 {
- /* DT+SoM+board model */
- description = "dh,stm32mp151a-dhcor-testbench_somrev0_boardrev1";
- firmware = "uboot";
- fdt = "fdt-1";
- };
-
- config-2 {
- /* DT+SoM+board model */
- description = "arrow,stm32mp157a-avenger96_somrev0_boardrev1";
- firmware = "uboot";
- fdt = "fdt-2";
- };
-
- config-3 {
- /* DT+SoM+board model */
- description = "dh,stm32mp153c-dhcor-drc-compact_somrev0_boardrev0";
- firmware = "uboot";
- fdt = "fdt-3";
- };
-
- /* Add 586-200..586-400 with fdt-2..fdt-4 here */
- };
-};