diff options
| author | Marek Vasut <[email protected]> | 2024-10-05 03:15:50 +0200 |
|---|---|---|
| committer | Patrick Delaunay <[email protected]> | 2024-10-16 20:12:35 +0200 |
| commit | 5fccc2891e280ea1f1beff1821d5c9762591bde2 (patch) | |
| tree | 2c90813a4bbc7b9554f38dc888bb7056177589f9 /board/dhelectronics | |
| parent | cccb29fc127099137aef5052ba532619c193a563 (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.c | 19 | ||||
| -rw-r--r-- | board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its | 91 | ||||
| -rw-r--r-- | board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its | 70 |
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 */ - }; -}; |
