[PATCH v3 0/7] arm64: dts: imx8mm: use common binman configuration and further clean-up

From: Marcel Ziswiler marcel.ziswiler@toradex.com
With the move to using binman to generate SPL aka u-boot-spl-ddr.bin and U-Boot proper aka u-boot.itb every board now covers such configuration in its own U-Boot specific device tree include. Move the comon part of that configuration to the common imx8mm-u-boot.dtsi include file.
The initial patch fixes an issue with intermediate binary naming for the imx8mm-cl-iot-gate. And subsequent patches further clean up that dtsi.
This series is based on my refresh of Adam's imx8mm_beacon switch to binman patch [1], my refresh of Michael's sl28 patches [2] and Tim's switching imx8mm_venice to using binman to pack images [3].
[1] https://marc.info/?l=u-boot&m=163493902915471 [2] https://marc.info/?l=u-boot&m=163494122816224 [3] https://marc.info/?l=u-boot&m=163355140309636
Changes in v3: - Integrated imx8mm_beacon as well. - Re-based on top of imx/master.
Changes in v2: - New patch preparing cl-iot-gate. - New patch preparing cl-iot-gate. - Morph common binman dtsi into regular common u-boot dtsi as discussed on mailing list. - Re-based. - Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one. - Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one. - Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
Changes in v1: - This was suggested by Simon on my earlier patch set upon which we decided to first break this up into a common binman dtsi and then subsequently do such further improvements.
Marcel Ziswiler (7): imx8mm-cl-iot-gate: fix imximage intermediate binary naming arm64: dts: imx8mm-cl-iot-gate-u-boot.dtsi: alphabetically re-order arm64: dts: imx8mm-cl-iot-gate-u-boot.dtsi: use common imx8mm-u-boot.dtsi arm64: dts: imx8mm: use common binman configuration arm64: dts: imx8mm-u-boot.dtsi: alphabetically re-order properties arm64: dts: imx8mm-u-boot.dtsi: explicitly add spl filename arm64: dts: imx8mm-u-boot.dtsi: improve odd blob-ext naming
arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi | 122 ---------- .../dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi | 209 ++++-------------- arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi | 188 +++------------- arch/arm/dts/imx8mm-evk-u-boot.dtsi | 123 ----------- arch/arm/dts/imx8mm-u-boot.dtsi | 149 ++++++++++++- arch/arm/dts/imx8mm-venice-u-boot.dtsi | 119 ---------- arch/arm/dts/imx8mm-verdin-u-boot.dtsi | 122 +--------- .../imximage-8mm-lpddr4.cfg | 2 +- 8 files changed, 212 insertions(+), 822 deletions(-)

From: Marcel Ziswiler marcel.ziswiler@toradex.com
This fixes the following build time issue:
... BINMAN all binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000 ./mkimage-out.spl.mkimage': mkimage.flash.mkimage: Can't open: No such file or directory
make: *** [Makefile:1094: all] Error 1
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com ---
(no changes since v1)
board/compulab/imx8mm-cl-iot-gate/imximage-8mm-lpddr4.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/board/compulab/imx8mm-cl-iot-gate/imximage-8mm-lpddr4.cfg b/board/compulab/imx8mm-cl-iot-gate/imximage-8mm-lpddr4.cfg index b89092a5590..4071219fbf4 100644 --- a/board/compulab/imx8mm-cl-iot-gate/imximage-8mm-lpddr4.cfg +++ b/board/compulab/imx8mm-cl-iot-gate/imximage-8mm-lpddr4.cfg @@ -6,4 +6,4 @@ #define __ASSEMBLY__
BOOT_FROM sd -LOADER mkimage.flash.mkimage 0x7E1000 +LOADER u-boot-spl-ddr.bin 0x7e1000

On Sat, Oct 23, 2021 at 01:15:10AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
This fixes the following build time issue:
... BINMAN all binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000 ./mkimage-out.spl.mkimage': mkimage.flash.mkimage: Can't open: No such file or directory
make: *** [Makefile:1094: all] Error 1
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
Applied to u-boot/master, thanks!

From: Marcel Ziswiler marcel.ziswiler@toradex.com
Alphabetically re-order nodes and properties.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
---
(no changes since v2)
Changes in v2: - New patch preparing cl-iot-gate.
.../dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi | 202 +++++++++--------- arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi | 202 +++++++++--------- 2 files changed, 202 insertions(+), 202 deletions(-)
diff --git a/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi b/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi index 12065935e49..67ce70d0bdf 100644 --- a/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi @@ -8,18 +8,18 @@ multiple-images; };
- wdt-reboot { - compatible = "wdt-reboot"; - wdt = <&wdog1>; - u-boot,dm-spl; - }; - firmware { optee { compatible = "linaro,optee-tz"; method = "smc"; }; }; + + wdt-reboot { + compatible = "wdt-reboot"; + u-boot,dm-spl; + wdt = <&wdog1>; + }; };
&{/soc@0} { @@ -27,17 +27,12 @@ u-boot,dm-spl; };
-&clk { +&{/soc@0/bus@30800000/i2c@30a30000/pmic@4b} { u-boot,dm-spl; - u-boot,dm-pre-reloc; - /delete-property/ assigned-clocks; - /delete-property/ assigned-clock-parents; - /delete-property/ assigned-clock-rates; };
-&osc_24m { +&{/soc@0/bus@30800000/i2c@30a30000/pmic@4b/regulators} { u-boot,dm-spl; - u-boot,dm-pre-reloc; };
&aips1 { @@ -53,94 +48,6 @@ u-boot,dm-spl; };
-&iomuxc { - u-boot,dm-spl; -}; - -&pinctrl_uart3 { - u-boot,dm-spl; -}; - -&pinctrl_usdhc2_gpio { - u-boot,dm-spl; -}; - -&pinctrl_usdhc2 { - u-boot,dm-spl; -}; - -&pinctrl_usdhc3 { - u-boot,dm-spl; -}; - -&gpio1 { - u-boot,dm-spl; -}; - -&gpio2 { - u-boot,dm-spl; -}; - -&gpio3 { - u-boot,dm-spl; -}; - -&gpio4 { - u-boot,dm-spl; -}; - -&gpio5 { - u-boot,dm-spl; -}; - -&uart3 { - u-boot,dm-spl; -}; - -&usdhc1 { - u-boot,dm-spl; -}; - -&usdhc2 { - u-boot,dm-spl; -}; - -&usdhc3 { - u-boot,dm-spl; -}; - -&i2c1 { - u-boot,dm-spl; -}; - -&i2c2 { - u-boot,dm-spl; -}; - -&{/soc@0/bus@30800000/i2c@30a30000/pmic@4b} { - u-boot,dm-spl; -}; - -&{/soc@0/bus@30800000/i2c@30a30000/pmic@4b/regulators} { - u-boot,dm-spl; -}; - -&pinctrl_i2c2 { - u-boot,dm-spl; -}; - -&pinctrl_pmic { - u-boot,dm-spl; -}; - -&fec1 { - phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; -}; - -&wdog1 { - u-boot,dm-spl; -}; - &binman { u-boot-spl-ddr { filename = "u-boot-spl-ddr.bin"; @@ -253,3 +160,96 @@ }; }; }; + +&clk { + u-boot,dm-spl; + u-boot,dm-pre-reloc; + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; + /delete-property/ assigned-clock-rates; +}; + +&fec1 { + phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; +}; + +&gpio1 { + u-boot,dm-spl; +}; + +&gpio2 { + u-boot,dm-spl; +}; + +&gpio3 { + u-boot,dm-spl; +}; + +&gpio4 { + u-boot,dm-spl; +}; + +&gpio5 { + u-boot,dm-spl; +}; + +&i2c1 { + u-boot,dm-spl; +}; + +&i2c2 { + u-boot,dm-spl; +}; + +&iomuxc { + u-boot,dm-spl; +}; + +&osc_24m { + u-boot,dm-spl; + u-boot,dm-pre-reloc; +}; + +&pinctrl_i2c2 { + u-boot,dm-spl; +}; + +&pinctrl_pmic { + u-boot,dm-spl; +}; + +&pinctrl_uart3 { + u-boot,dm-spl; +}; + +&pinctrl_usdhc2 { + u-boot,dm-spl; +}; + +&pinctrl_usdhc2_gpio { + u-boot,dm-spl; +}; + +&pinctrl_usdhc3 { + u-boot,dm-spl; +}; + +&uart3 { + u-boot,dm-spl; +}; + +&usdhc1 { + u-boot,dm-spl; +}; + +&usdhc2 { + u-boot,dm-spl; +}; + +&usdhc3 { + u-boot,dm-spl; +}; + +&wdog1 { + u-boot,dm-spl; +}; diff --git a/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi b/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi index 00927c15744..fe45a35d751 100644 --- a/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi @@ -8,18 +8,18 @@ multiple-images; };
- wdt-reboot { - compatible = "wdt-reboot"; - wdt = <&wdog1>; - u-boot,dm-spl; - }; - firmware { optee { compatible = "linaro,optee-tz"; method = "smc"; }; }; + + wdt-reboot { + compatible = "wdt-reboot"; + u-boot,dm-spl; + wdt = <&wdog1>; + }; };
&{/soc@0} { @@ -27,17 +27,12 @@ u-boot,dm-spl; };
-&clk { +&{/soc@0/bus@30800000/i2c@30a30000/pmic@4b} { u-boot,dm-spl; - u-boot,dm-pre-reloc; - /delete-property/ assigned-clocks; - /delete-property/ assigned-clock-parents; - /delete-property/ assigned-clock-rates; };
-&osc_24m { +&{/soc@0/bus@30800000/i2c@30a30000/pmic@4b/regulators} { u-boot,dm-spl; - u-boot,dm-pre-reloc; };
&aips1 { @@ -53,94 +48,6 @@ u-boot,dm-spl; };
-&iomuxc { - u-boot,dm-spl; -}; - -&pinctrl_uart3 { - u-boot,dm-spl; -}; - -&pinctrl_usdhc2_gpio { - u-boot,dm-spl; -}; - -&pinctrl_usdhc2 { - u-boot,dm-spl; -}; - -&pinctrl_usdhc3 { - u-boot,dm-spl; -}; - -&gpio1 { - u-boot,dm-spl; -}; - -&gpio2 { - u-boot,dm-spl; -}; - -&gpio3 { - u-boot,dm-spl; -}; - -&gpio4 { - u-boot,dm-spl; -}; - -&gpio5 { - u-boot,dm-spl; -}; - -&uart3 { - u-boot,dm-spl; -}; - -&usdhc1 { - u-boot,dm-spl; -}; - -&usdhc2 { - u-boot,dm-spl; -}; - -&usdhc3 { - u-boot,dm-spl; -}; - -&i2c1 { - u-boot,dm-spl; -}; - -&i2c2 { - u-boot,dm-spl; -}; - -&{/soc@0/bus@30800000/i2c@30a30000/pmic@4b} { - u-boot,dm-spl; -}; - -&{/soc@0/bus@30800000/i2c@30a30000/pmic@4b/regulators} { - u-boot,dm-spl; -}; - -&pinctrl_i2c2 { - u-boot,dm-spl; -}; - -&pinctrl_pmic { - u-boot,dm-spl; -}; - -&fec1 { - phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; -}; - -&wdog1 { - u-boot,dm-spl; -}; - &binman { u-boot-spl-ddr { filename = "u-boot-spl-ddr.bin"; @@ -241,3 +148,96 @@ }; }; }; + +&clk { + u-boot,dm-spl; + u-boot,dm-pre-reloc; + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; + /delete-property/ assigned-clock-rates; +}; + +&fec1 { + phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; +}; + +&gpio1 { + u-boot,dm-spl; +}; + +&gpio2 { + u-boot,dm-spl; +}; + +&gpio3 { + u-boot,dm-spl; +}; + +&gpio4 { + u-boot,dm-spl; +}; + +&gpio5 { + u-boot,dm-spl; +}; + +&i2c1 { + u-boot,dm-spl; +}; + +&i2c2 { + u-boot,dm-spl; +}; + +&iomuxc { + u-boot,dm-spl; +}; + +&osc_24m { + u-boot,dm-spl; + u-boot,dm-pre-reloc; +}; + +&pinctrl_i2c2 { + u-boot,dm-spl; +}; + +&pinctrl_pmic { + u-boot,dm-spl; +}; + +&pinctrl_uart3 { + u-boot,dm-spl; +}; + +&pinctrl_usdhc2 { + u-boot,dm-spl; +}; + +&pinctrl_usdhc2_gpio { + u-boot,dm-spl; +}; + +&pinctrl_usdhc3 { + u-boot,dm-spl; +}; + +&uart3 { + u-boot,dm-spl; +}; + +&usdhc1 { + u-boot,dm-spl; +}; + +&usdhc2 { + u-boot,dm-spl; +}; + +&usdhc3 { + u-boot,dm-spl; +}; + +&wdog1 { + u-boot,dm-spl; +};

On Sat, Oct 23, 2021 at 01:15:11AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
Alphabetically re-order nodes and properties.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
Applied to u-boot/master, thanks!

From: Marcel Ziswiler marcel.ziswiler@toradex.com
Use common imx8mm-u-boot.dtsi.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
---
(no changes since v2)
Changes in v2: - New patch preparing cl-iot-gate.
.../dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi | 37 +------------------ arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi | 37 +------------------ 2 files changed, 4 insertions(+), 70 deletions(-)
diff --git a/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi b/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi index 67ce70d0bdf..bc8a138e6c0 100644 --- a/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi @@ -3,6 +3,8 @@ * Copyright 2019 NXP */
+#include "imx8mm-u-boot.dtsi" + / { binman: binman { multiple-images; @@ -22,11 +24,6 @@ }; };
-&{/soc@0} { - u-boot,dm-pre-reloc; - u-boot,dm-spl; -}; - &{/soc@0/bus@30800000/i2c@30a30000/pmic@4b} { u-boot,dm-spl; }; @@ -35,19 +32,6 @@ u-boot,dm-spl; };
-&aips1 { - u-boot,dm-spl; - u-boot,dm-pre-reloc; -}; - -&aips2 { - u-boot,dm-spl; -}; - -&aips3 { - u-boot,dm-spl; -}; - &binman { u-boot-spl-ddr { filename = "u-boot-spl-ddr.bin"; @@ -161,14 +145,6 @@ }; };
-&clk { - u-boot,dm-spl; - u-boot,dm-pre-reloc; - /delete-property/ assigned-clocks; - /delete-property/ assigned-clock-parents; - /delete-property/ assigned-clock-rates; -}; - &fec1 { phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; }; @@ -201,15 +177,6 @@ u-boot,dm-spl; };
-&iomuxc { - u-boot,dm-spl; -}; - -&osc_24m { - u-boot,dm-spl; - u-boot,dm-pre-reloc; -}; - &pinctrl_i2c2 { u-boot,dm-spl; }; diff --git a/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi b/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi index fe45a35d751..cf3cc191d5a 100644 --- a/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi @@ -3,6 +3,8 @@ * Copyright 2019 NXP */
+#include "imx8mm-u-boot.dtsi" + / { binman: binman { multiple-images; @@ -22,11 +24,6 @@ }; };
-&{/soc@0} { - u-boot,dm-pre-reloc; - u-boot,dm-spl; -}; - &{/soc@0/bus@30800000/i2c@30a30000/pmic@4b} { u-boot,dm-spl; }; @@ -35,19 +32,6 @@ u-boot,dm-spl; };
-&aips1 { - u-boot,dm-spl; - u-boot,dm-pre-reloc; -}; - -&aips2 { - u-boot,dm-spl; -}; - -&aips3 { - u-boot,dm-spl; -}; - &binman { u-boot-spl-ddr { filename = "u-boot-spl-ddr.bin"; @@ -149,14 +133,6 @@ }; };
-&clk { - u-boot,dm-spl; - u-boot,dm-pre-reloc; - /delete-property/ assigned-clocks; - /delete-property/ assigned-clock-parents; - /delete-property/ assigned-clock-rates; -}; - &fec1 { phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; }; @@ -189,15 +165,6 @@ u-boot,dm-spl; };
-&iomuxc { - u-boot,dm-spl; -}; - -&osc_24m { - u-boot,dm-spl; - u-boot,dm-pre-reloc; -}; - &pinctrl_i2c2 { u-boot,dm-spl; };

On Sat, Oct 23, 2021 at 01:15:12AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
Use common imx8mm-u-boot.dtsi.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
Applied to u-boot/master, thanks!

From: Marcel Ziswiler marcel.ziswiler@toradex.com
With the move to using binman to generate SPL aka u-boot-spl-ddr.bin and U-Boot proper aka u-boot.itb every board now covers such configuration in its own U-Boot specific device tree include. Move the comon part of that configuration to the common imx8mm-u-boot.dtsi include file.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
---
Changes in v3: - Integrated imx8mm_beacon as well. - Re-based on top of imx/master.
Changes in v2: - Morph common binman dtsi into regular common u-boot dtsi as discussed on mailing list. - Re-based.
arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi | 122 ---------------- .../dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi | 124 ++-------------- arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi | 105 -------------- arch/arm/dts/imx8mm-evk-u-boot.dtsi | 123 ---------------- arch/arm/dts/imx8mm-u-boot.dtsi | 133 ++++++++++++++++++ arch/arm/dts/imx8mm-venice-u-boot.dtsi | 119 ---------------- arch/arm/dts/imx8mm-verdin-u-boot.dtsi | 122 +--------------- 7 files changed, 147 insertions(+), 701 deletions(-)
diff --git a/arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi b/arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi index 3c034a85e35..73ddfdade6a 100644 --- a/arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi @@ -6,10 +6,6 @@ #include "imx8mm-u-boot.dtsi"
/ { - binman: binman { - multiple-images; - }; - wdt-reboot { compatible = "wdt-reboot"; wdt = <&wdog1>; @@ -104,121 +100,3 @@ &wdog1 { u-boot,dm-spl; }; - -&binman { - u-boot-spl-ddr { - filename = "u-boot-spl-ddr.bin"; - pad-byte = <0xff>; - align-size = <4>; - align = <4>; - - u-boot-spl { - align-end = <4>; - }; - - blob_1: blob-ext@1 { - filename = "lpddr4_pmu_train_1d_imem.bin"; - size = <0x8000>; - }; - - blob_2: blob-ext@2 { - filename = "lpddr4_pmu_train_1d_dmem.bin"; - size = <0x4000>; - }; - - blob_3: blob-ext@3 { - filename = "lpddr4_pmu_train_2d_imem.bin"; - size = <0x8000>; - }; - - blob_4: blob-ext@4 { - filename = "lpddr4_pmu_train_2d_dmem.bin"; - size = <0x4000>; - }; - }; - - spl { - filename = "spl.bin"; - - mkimage { - args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000"; - - blob { - filename = "u-boot-spl-ddr.bin"; - }; - }; - }; - - itb { - filename = "u-boot.itb"; - - fit { - description = "Configuration to load ATF before U-Boot"; - #address-cells = <1>; - fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; - - images { - uboot { - description = "U-Boot (64-bit)"; - type = "standalone"; - arch = "arm64"; - compression = "none"; - load = <CONFIG_SYS_TEXT_BASE>; - - uboot_blob: blob-ext { - filename = "u-boot-nodtb.bin"; - }; - }; - - atf { - description = "ARM Trusted Firmware"; - type = "firmware"; - arch = "arm64"; - compression = "none"; - load = <0x920000>; - entry = <0x920000>; - - atf_blob: blob-ext { - filename = "bl31.bin"; - }; - }; - - fdt { - description = "NAME"; - type = "flat_dt"; - compression = "none"; - - uboot_fdt_blob: blob-ext { - filename = "u-boot.dtb"; - }; - }; - }; - - configurations { - default = "conf"; - - conf { - description = "NAME"; - firmware = "uboot"; - loadables = "atf"; - fdt = "fdt"; - }; - }; - }; - }; - - imx-boot { - filename = "flash.bin"; - pad-byte = <0x00>; - - spl: blob-ext@1 { - offset = <0x0>; - filename = "spl.bin"; - }; - - uboot: blob-ext@2 { - offset = <0x57c00>; - filename = "u-boot.itb"; - }; - }; -}; diff --git a/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi b/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi index bc8a138e6c0..5cbc70faaaf 100644 --- a/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi @@ -6,10 +6,6 @@ #include "imx8mm-u-boot.dtsi"
/ { - binman: binman { - multiple-images; - }; - firmware { optee { compatible = "linaro,optee-tz"; @@ -32,117 +28,21 @@ u-boot,dm-spl; };
-&binman { - u-boot-spl-ddr { - filename = "u-boot-spl-ddr.bin"; - pad-byte = <0xff>; - align-size = <4>; - align = <4>; - - u-boot-spl { - align-end = <4>; - }; - - blob_1: blob-ext@1 { - filename = "lpddr4_pmu_train_1d_imem.bin"; - size = <0x8000>; - }; - - blob_2: blob-ext@2 { - filename = "lpddr4_pmu_train_1d_dmem.bin"; - size = <0x4000>; - }; - - blob_3: blob-ext@3 { - filename = "lpddr4_pmu_train_2d_imem.bin"; - size = <0x8000>; - }; +&binman_fip { + arch = "arm64"; + compression = "none"; + description = "Trusted Firmware FIP"; + load = <0x40310000>; + type = "firmware";
- blob_4: blob-ext@4 { - filename = "lpddr4_pmu_train_2d_dmem.bin"; - size = <0x4000>; - }; - }; - - flash { - mkimage { - args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000"; - - blob { - filename = "u-boot-spl-ddr.bin"; - }; - }; + fip_blob { + filename = "fip.bin"; + type = "blob-ext"; }; +};
- itb { - filename = "u-boot.itb"; - - fit { - description = "Configuration to load ATF before U-Boot"; - #address-cells = <1>; - fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; - - images { - uboot { - description = "U-Boot (64-bit)"; - type = "standalone"; - arch = "arm64"; - compression = "none"; - load = <CONFIG_SYS_TEXT_BASE>; - - uboot_blob: blob-ext { - filename = "u-boot-nodtb.bin"; - }; - }; - - atf { - description = "ARM Trusted Firmware"; - type = "firmware"; - arch = "arm64"; - compression = "none"; - load = <0x920000>; - entry = <0x920000>; - - atf_blob: blob-ext { - filename = "bl2.bin"; - }; - }; - - fip { - description = "Trusted Firmware FIP"; - type = "firmware"; - arch = "arm64"; - compression = "none"; - load = <0x40310000>; - - fip_blob: blob-ext{ - filename = "fip.bin"; - }; - }; - - fdt { - description = "NAME"; - type = "flat_dt"; - compression = "none"; - - uboot_fdt_blob: blob-ext { - filename = "u-boot.dtb"; - }; - }; - }; - - configurations { - default = "conf"; - - conf { - description = "NAME"; - firmware = "uboot"; - loadables = "atf", "fip"; - fdt = "fdt"; - }; - }; - }; - }; +&binman_configuration { + loadables = "atf", "fip"; };
&fec1 { diff --git a/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi b/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi index cf3cc191d5a..433b02cceee 100644 --- a/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi @@ -6,10 +6,6 @@ #include "imx8mm-u-boot.dtsi"
/ { - binman: binman { - multiple-images; - }; - firmware { optee { compatible = "linaro,optee-tz"; @@ -32,107 +28,6 @@ u-boot,dm-spl; };
-&binman { - u-boot-spl-ddr { - filename = "u-boot-spl-ddr.bin"; - pad-byte = <0xff>; - align-size = <4>; - align = <4>; - - u-boot-spl { - align-end = <4>; - }; - - blob_1: blob-ext@1 { - filename = "lpddr4_pmu_train_1d_imem.bin"; - size = <0x8000>; - }; - - blob_2: blob-ext@2 { - filename = "lpddr4_pmu_train_1d_dmem.bin"; - size = <0x4000>; - }; - - blob_3: blob-ext@3 { - filename = "lpddr4_pmu_train_2d_imem.bin"; - size = <0x8000>; - }; - - blob_4: blob-ext@4 { - filename = "lpddr4_pmu_train_2d_dmem.bin"; - size = <0x4000>; - }; - }; - - flash { - mkimage { - args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000"; - - blob { - filename = "u-boot-spl-ddr.bin"; - }; - }; - }; - - itb { - filename = "u-boot.itb"; - - fit { - description = "Configuration to load ATF before U-Boot"; - #address-cells = <1>; - fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; - - images { - uboot { - description = "U-Boot (64-bit)"; - type = "standalone"; - arch = "arm64"; - compression = "none"; - load = <CONFIG_SYS_TEXT_BASE>; - - uboot_blob: blob-ext { - filename = "u-boot-nodtb.bin"; - }; - }; - - atf { - description = "ARM Trusted Firmware"; - type = "firmware"; - arch = "arm64"; - compression = "none"; - load = <0x920000>; - entry = <0x920000>; - - atf_blob: blob-ext { - filename = "bl31.bin"; - }; - }; - - fdt { - description = "NAME"; - type = "flat_dt"; - compression = "none"; - - uboot_fdt_blob: blob-ext { - filename = "u-boot.dtb"; - }; - }; - }; - - configurations { - default = "conf"; - - conf { - description = "NAME"; - firmware = "uboot"; - loadables = "atf"; - fdt = "fdt"; - }; - }; - }; - }; -}; - &fec1 { phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; }; diff --git a/arch/arm/dts/imx8mm-evk-u-boot.dtsi b/arch/arm/dts/imx8mm-evk-u-boot.dtsi index 3c75415e8fb..6b459831e74 100644 --- a/arch/arm/dts/imx8mm-evk-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-evk-u-boot.dtsi @@ -6,10 +6,6 @@ #include "imx8mm-u-boot.dtsi"
/ { - binman: binman { - multiple-images; - }; - wdt-reboot { compatible = "wdt-reboot"; wdt = <&wdog1>; @@ -116,122 +112,3 @@ &wdog1 { u-boot,dm-spl; }; - -&binman { - u-boot-spl-ddr { - filename = "u-boot-spl-ddr.bin"; - pad-byte = <0xff>; - align-size = <4>; - align = <4>; - - u-boot-spl { - align-end = <4>; - }; - - blob_1: blob-ext@1 { - filename = "lpddr4_pmu_train_1d_imem.bin"; - size = <0x8000>; - }; - - blob_2: blob-ext@2 { - filename = "lpddr4_pmu_train_1d_dmem.bin"; - size = <0x4000>; - }; - - blob_3: blob-ext@3 { - filename = "lpddr4_pmu_train_2d_imem.bin"; - size = <0x8000>; - }; - - blob_4: blob-ext@4 { - filename = "lpddr4_pmu_train_2d_dmem.bin"; - size = <0x4000>; - }; - }; - - - spl { - filename = "spl.bin"; - - mkimage { - args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000"; - - blob { - filename = "u-boot-spl-ddr.bin"; - }; - }; - }; - - itb { - filename = "u-boot.itb"; - - fit { - description = "Configuration to load ATF before U-Boot"; - #address-cells = <1>; - fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; - - images { - uboot { - description = "U-Boot (64-bit)"; - type = "standalone"; - arch = "arm64"; - compression = "none"; - load = <CONFIG_SYS_TEXT_BASE>; - - uboot_blob: blob-ext { - filename = "u-boot-nodtb.bin"; - }; - }; - - atf { - description = "ARM Trusted Firmware"; - type = "firmware"; - arch = "arm64"; - compression = "none"; - load = <0x920000>; - entry = <0x920000>; - - atf_blob: blob-ext { - filename = "bl31.bin"; - }; - }; - - fdt { - description = "NAME"; - type = "flat_dt"; - compression = "none"; - - uboot_fdt_blob: blob-ext { - filename = "u-boot.dtb"; - }; - }; - }; - - configurations { - default = "conf"; - - conf { - description = "NAME"; - firmware = "uboot"; - loadables = "atf"; - fdt = "fdt"; - }; - }; - }; - }; - - imx-boot { - filename = "flash.bin"; - pad-byte = <0x00>; - - spl: blob-ext@1 { - offset = <0x0>; - filename = "spl.bin"; - }; - - uboot: blob-ext@2 { - offset = <0x57c00>; - filename = "u-boot.itb"; - }; - }; -}; diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi index f833d9df59b..5020255fa0f 100644 --- a/arch/arm/dts/imx8mm-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-u-boot.dtsi @@ -3,6 +3,12 @@ * Copyright (C) 2020 Jagan Teki jagan@amarulasolutions.com */
+/ { + binman: binman { + multiple-images; + }; +}; + &{/soc@0} { u-boot,dm-pre-reloc; u-boot,dm-spl; @@ -21,6 +27,133 @@ u-boot,dm-spl; };
+&binman { + u-boot-spl-ddr { + filename = "u-boot-spl-ddr.bin"; + pad-byte = <0xff>; + align-size = <4>; + align = <4>; + + u-boot-spl { + align-end = <4>; + }; + + blob_1: blob-ext@1 { + filename = "lpddr4_pmu_train_1d_imem.bin"; + size = <0x8000>; + }; + + blob_2: blob-ext@2 { + filename = "lpddr4_pmu_train_1d_dmem.bin"; + size = <0x4000>; + }; + + blob_3: blob-ext@3 { + filename = "lpddr4_pmu_train_2d_imem.bin"; + size = <0x8000>; + }; + + blob_4: blob-ext@4 { + filename = "lpddr4_pmu_train_2d_dmem.bin"; + size = <0x4000>; + }; + }; + + spl { + filename = "spl.bin"; + + mkimage { + args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000"; + + blob { + filename = "u-boot-spl-ddr.bin"; + }; + }; + }; + + itb { + filename = "u-boot.itb"; + + fit { + description = "Configuration to load ATF before U-Boot"; + #address-cells = <1>; + fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; + fit,fdt-list = "of-list"; + + images { + uboot { + description = "U-Boot (64-bit)"; + type = "standalone"; + arch = "arm64"; + compression = "none"; + load = <CONFIG_SYS_TEXT_BASE>; + + uboot_blob: blob-ext { + filename = "u-boot-nodtb.bin"; + }; + }; + + atf { + description = "ARM Trusted Firmware"; + type = "firmware"; + arch = "arm64"; + compression = "none"; + load = <0x920000>; + entry = <0x920000>; + + atf_blob: blob-ext { + filename = "bl31.bin"; + }; + }; + + binman_fip: fip { + description = "Trusted Firmware FIP"; + type = "firmware"; + arch = "arm64"; + compression = "none"; + load = <0x40310000>; + }; + + @fdt-SEQ { + description = "NAME"; + type = "flat_dt"; + compression = "none"; + + uboot_fdt_blob: blob-ext { + filename = "u-boot.dtb"; + }; + }; + }; + + configurations { + default = "@config-DEFAULT-SEQ"; + + binman_configuration: @config-SEQ { + description = "NAME"; + firmware = "uboot"; + loadables = "atf"; + fdt = "fdt-SEQ"; + }; + }; + }; + }; + + imx-boot { + filename = "flash.bin"; + pad-byte = <0x00>; + + spl: blob-ext@1 { + offset = <0x0>; + filename = "spl.bin"; + }; + + binman_uboot: blob-ext@2 { + offset = <0x57c00>; + filename = "u-boot.itb"; + }; + }; +}; + &clk { u-boot,dm-spl; u-boot,dm-pre-reloc; diff --git a/arch/arm/dts/imx8mm-venice-u-boot.dtsi b/arch/arm/dts/imx8mm-venice-u-boot.dtsi index e0fa9ff4bfc..42b2903f040 100644 --- a/arch/arm/dts/imx8mm-venice-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-venice-u-boot.dtsi @@ -6,10 +6,6 @@ #include "imx8mm-u-boot.dtsi"
/ { - binman: binman { - multiple-images; - }; - wdt-reboot { compatible = "wdt-reboot"; wdt = <&wdog1>; @@ -72,118 +68,3 @@ &wdog1 { u-boot,dm-spl; }; - -&binman { - u-boot-spl-ddr { - filename = "u-boot-spl-ddr.bin"; - pad-byte = <0xff>; - align-size = <4>; - align = <4>; - - u-boot-spl { - align-end = <4>; - }; - - blob_1: blob-ext@1 { - filename = "lpddr4_pmu_train_1d_imem.bin"; - size = <0x8000>; - }; - - blob_2: blob-ext@2 { - filename = "lpddr4_pmu_train_1d_dmem.bin"; - size = <0x4000>; - }; - - blob_3: blob-ext@3 { - filename = "lpddr4_pmu_train_2d_imem.bin"; - size = <0x8000>; - }; - - blob_4: blob-ext@4 { - filename = "lpddr4_pmu_train_2d_dmem.bin"; - size = <0x4000>; - }; - }; - - spl { - filename = "spl.bin"; - - mkimage { - args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000"; - - blob { - filename = "u-boot-spl-ddr.bin"; - }; - }; - }; - - itb { - filename = "u-boot.itb"; - - fit { - description = "Configuration to load ATF before U-Boot"; - #address-cells = <1>; - fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; - fit,fdt-list = "of-list"; - - images { - uboot { - description = "U-Boot (64-bit)"; - type = "standalone"; - arch = "arm64"; - compression = "none"; - load = <CONFIG_SYS_TEXT_BASE>; - - uboot_blob: blob-ext { - filename = "u-boot-nodtb.bin"; - }; - }; - - atf { - description = "ARM Trusted Firmware"; - type = "firmware"; - arch = "arm64"; - compression = "none"; - load = <0x920000>; - entry = <0x920000>; - - atf_blob: blob-ext { - filename = "bl31.bin"; - }; - }; - - @fdt-SEQ { - description = "NAME"; - type = "flat_dt"; - compression = "none"; - }; - }; - - configurations { - default = "@config-DEFAULT-SEQ"; - - @config-SEQ { - description = "NAME"; - firmware = "uboot"; - loadables = "atf"; - fdt = "fdt-SEQ"; - }; - }; - }; - }; - - imx-boot { - filename = "flash.bin"; - pad-byte = <0x00>; - - spl: blob-ext@1 { - filename = "spl.bin"; - offset = <0x0>; - }; - - uboot: blob-ext@2 { - filename = "u-boot.itb"; - offset = <0x57c00>; - }; - }; -}; diff --git a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi index 9fb4d8aa8c2..976399ad602 100644 --- a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi @@ -6,10 +6,6 @@ #include "imx8mm-u-boot.dtsi"
/ { - binman: binman { - multiple-images; - }; - firmware { optee { compatible = "linaro,optee-tz"; @@ -100,120 +96,6 @@ u-boot,dm-spl; };
-&binman { - u-boot-spl-ddr { - filename = "u-boot-spl-ddr.bin"; - pad-byte = <0xff>; - align-size = <4>; - align = <4>; - - u-boot-spl { - align-end = <4>; - }; - - blob_1: blob-ext@1 { - filename = "lpddr4_pmu_train_1d_imem.bin"; - size = <0x8000>; - }; - - blob_2: blob-ext@2 { - filename = "lpddr4_pmu_train_1d_dmem.bin"; - size = <0x4000>; - }; - - blob_3: blob-ext@3 { - filename = "lpddr4_pmu_train_2d_imem.bin"; - size = <0x8000>; - }; - - blob_4: blob-ext@4 { - filename = "lpddr4_pmu_train_2d_dmem.bin"; - size = <0x4000>; - }; - }; - - spl { - filename = "spl.bin"; - - mkimage { - args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000"; - - blob { - filename = "u-boot-spl-ddr.bin"; - }; - }; - }; - - itb { - filename = "u-boot.itb"; - - fit { - description = "Configuration to load ATF before U-Boot"; - #address-cells = <1>; - fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; - - images { - uboot { - description = "U-Boot (64-bit)"; - type = "standalone"; - arch = "arm64"; - compression = "none"; - load = <CONFIG_SYS_TEXT_BASE>; - - uboot_blob: blob-ext { - filename = "u-boot-nodtb.bin"; - }; - }; - - atf { - description = "ARM Trusted Firmware"; - type = "firmware"; - arch = "arm64"; - compression = "none"; - load = <0x920000>; - entry = <0x920000>; - - atf_blob: blob-ext { - filename = "bl31.bin"; - }; - }; - - fdt { - description = "NAME"; - type = "flat_dt"; - compression = "none"; - - uboot_fdt_blob: blob-ext { - filename = "u-boot.dtb"; - }; - }; - }; - - configurations { - default = "conf"; - - conf { - description = "NAME"; - firmware = "uboot"; - loadables = "atf"; - fdt = "fdt"; - }; - }; - }; - }; - - imx-boot { - filename = "flash.bin"; - pad-byte = <0x00>; - - spl: blob-ext@1 { - offset = <0x0>; - filename = "spl.bin"; - }; - - uboot: blob-ext@2 { - offset = <0x5fc00>; - filename = "u-boot.itb"; - }; - }; +&binman_uboot { + offset = <0x5fc00>; };

On Sat, Oct 23, 2021 at 01:15:13AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
With the move to using binman to generate SPL aka u-boot-spl-ddr.bin and U-Boot proper aka u-boot.itb every board now covers such configuration in its own U-Boot specific device tree include. Move the comon part of that configuration to the common imx8mm-u-boot.dtsi include file.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
This required a bit of hand-applying so please re-check my work, but applied to u-boot/master, thanks!

On Fri, 2022-01-07 at 21:07 -0500, Tom Rini wrote:
On Sat, Oct 23, 2021 at 01:15:13AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
With the move to using binman to generate SPL aka u-boot-spl-ddr.bin and U-Boot proper aka u-boot.itb every board now covers such configuration in its own U-Boot specific device tree include. Move the comon part of that configuration to the common imx8mm-u-boot.dtsi include file.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
This required a bit of hand-applying so please re-check my work, but applied to u-boot/master, thanks!
Yep, all looks good. This was just caused by Tim's venice stuff now having been applied after this series so for my series to remove his private binman stuff was not required as not yet there. And Tim's later patch already uses the common binman configuration. So finally all is good. Thanks!

From: Marcel Ziswiler marcel.ziswiler@toradex.com
Alphabetically re-order properties.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
---
(no changes since v2)
Changes in v2: - Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
arch/arm/dts/imx8mm-u-boot.dtsi | 34 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi index 5020255fa0f..770282d2b98 100644 --- a/arch/arm/dts/imx8mm-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-u-boot.dtsi @@ -15,8 +15,8 @@ };
&aips1 { - u-boot,dm-spl; u-boot,dm-pre-reloc; + u-boot,dm-spl; };
&aips2 { @@ -29,10 +29,10 @@
&binman { u-boot-spl-ddr { + align = <4>; + align-size = <4>; filename = "u-boot-spl-ddr.bin"; pad-byte = <0xff>; - align-size = <4>; - align = <4>;
u-boot-spl { align-end = <4>; @@ -76,17 +76,17 @@
fit { description = "Configuration to load ATF before U-Boot"; - #address-cells = <1>; fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; fit,fdt-list = "of-list"; + #address-cells = <1>;
images { uboot { - description = "U-Boot (64-bit)"; - type = "standalone"; arch = "arm64"; compression = "none"; + description = "U-Boot (64-bit)"; load = <CONFIG_SYS_TEXT_BASE>; + type = "standalone";
uboot_blob: blob-ext { filename = "u-boot-nodtb.bin"; @@ -94,12 +94,12 @@ };
atf { - description = "ARM Trusted Firmware"; - type = "firmware"; arch = "arm64"; compression = "none"; - load = <0x920000>; + description = "ARM Trusted Firmware"; entry = <0x920000>; + load = <0x920000>; + type = "firmware";
atf_blob: blob-ext { filename = "bl31.bin"; @@ -107,17 +107,17 @@ };
binman_fip: fip { - description = "Trusted Firmware FIP"; - type = "firmware"; arch = "arm64"; compression = "none"; + description = "Trusted Firmware FIP"; load = <0x40310000>; + type = "firmware"; };
@fdt-SEQ { + compression = "none"; description = "NAME"; type = "flat_dt"; - compression = "none";
uboot_fdt_blob: blob-ext { filename = "u-boot.dtb"; @@ -130,9 +130,9 @@
binman_configuration: @config-SEQ { description = "NAME"; + fdt = "fdt-SEQ"; firmware = "uboot"; loadables = "atf"; - fdt = "fdt-SEQ"; }; }; }; @@ -143,20 +143,20 @@ pad-byte = <0x00>;
spl: blob-ext@1 { - offset = <0x0>; filename = "spl.bin"; + offset = <0x0>; };
binman_uboot: blob-ext@2 { - offset = <0x57c00>; filename = "u-boot.itb"; + offset = <0x57c00>; }; }; };
&clk { - u-boot,dm-spl; u-boot,dm-pre-reloc; + u-boot,dm-spl; /delete-property/ assigned-clocks; /delete-property/ assigned-clock-parents; /delete-property/ assigned-clock-rates; @@ -167,6 +167,6 @@ };
&osc_24m { - u-boot,dm-spl; u-boot,dm-pre-reloc; + u-boot,dm-spl; };

On Sat, Oct 23, 2021 at 01:15:14AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
Alphabetically re-order properties.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
Applied to u-boot/master, thanks!

From: Marcel Ziswiler marcel.ziswiler@toradex.com
Explicitly add SPL aka u-boot-spl.bin filename.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
---
(no changes since v2)
Changes in v2: - Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
arch/arm/dts/imx8mm-u-boot.dtsi | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi index 770282d2b98..8feb0f2592a 100644 --- a/arch/arm/dts/imx8mm-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-u-boot.dtsi @@ -36,6 +36,7 @@
u-boot-spl { align-end = <4>; + filename = "u-boot-spl.bin"; };
blob_1: blob-ext@1 {

On Sat, Oct 23, 2021 at 01:15:15AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
Explicitly add SPL aka u-boot-spl.bin filename.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
Applied to u-boot/master, thanks!

From: Marcel Ziswiler marcel.ziswiler@toradex.com
Rather than using odd implicit blob-ext naming, explicitly specify the type to be of blob-ext and therefore also simplify the node naming.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
---
(no changes since v2)
Changes in v2: - Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
Changes in v1: - This was suggested by Simon on my earlier patch set upon which we decided to first break this up into a common binman dtsi and then subsequently do such further improvements.
arch/arm/dts/imx8mm-u-boot.dtsi | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi index 8feb0f2592a..7882fe73167 100644 --- a/arch/arm/dts/imx8mm-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-u-boot.dtsi @@ -39,24 +39,28 @@ filename = "u-boot-spl.bin"; };
- blob_1: blob-ext@1 { + 1d-imem { filename = "lpddr4_pmu_train_1d_imem.bin"; size = <0x8000>; + type = "blob-ext"; };
- blob_2: blob-ext@2 { + 1d_dmem { filename = "lpddr4_pmu_train_1d_dmem.bin"; size = <0x4000>; + type = "blob-ext"; };
- blob_3: blob-ext@3 { + 2d_imem { filename = "lpddr4_pmu_train_2d_imem.bin"; size = <0x8000>; + type = "blob-ext"; };
- blob_4: blob-ext@4 { + 2d_dmem { filename = "lpddr4_pmu_train_2d_dmem.bin"; size = <0x4000>; + type = "blob-ext"; }; };
@@ -89,8 +93,9 @@ load = <CONFIG_SYS_TEXT_BASE>; type = "standalone";
- uboot_blob: blob-ext { + uboot_blob { filename = "u-boot-nodtb.bin"; + type = "blob-ext"; }; };
@@ -102,8 +107,9 @@ load = <0x920000>; type = "firmware";
- atf_blob: blob-ext { + atf_blob { filename = "bl31.bin"; + type = "blob-ext"; }; };
@@ -120,8 +126,9 @@ description = "NAME"; type = "flat_dt";
- uboot_fdt_blob: blob-ext { + uboot_fdt_blob { filename = "u-boot.dtb"; + type = "blob-ext"; }; }; }; @@ -143,14 +150,16 @@ filename = "flash.bin"; pad-byte = <0x00>;
- spl: blob-ext@1 { + spl { filename = "spl.bin"; offset = <0x0>; + type = "blob-ext"; };
- binman_uboot: blob-ext@2 { + binman_uboot: uboot { filename = "u-boot.itb"; offset = <0x57c00>; + type = "blob-ext"; }; }; };

On Sat, Oct 23, 2021 at 01:15:16AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
Rather than using odd implicit blob-ext naming, explicitly specify the type to be of blob-ext and therefore also simplify the node naming.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
This required a bit of hand-applying so please re-check my work, but applied to u-boot/master, thanks!

On Fri, 2022-01-07 at 21:07 -0500, Tom Rini wrote:
On Sat, Oct 23, 2021 at 01:15:16AM +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
Rather than using odd implicit blob-ext naming, explicitly specify the type to be of blob-ext and therefore also simplify the node naming.
Signed-off-by: Marcel Ziswiler marcel.ziswiler@toradex.com Reviewed-by: Peng Fan peng.fan@nxp.com
This required a bit of hand-applying so please re-check my work, but applied to u-boot/master, thanks!
I could actually not spot any difference in this one. So all looks good. Thanks!

On Sat, 2021-10-23 at 01:15 +0200, Marcel Ziswiler wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
With the move to using binman to generate SPL aka u-boot-spl-ddr.bin and U-Boot proper aka u-boot.itb every board now covers such configuration in its own U-Boot specific device tree include. Move the comon part of that configuration to the common imx8mm-u-boot.dtsi include file.
The initial patch fixes an issue with intermediate binary naming for the imx8mm-cl-iot-gate. And subsequent patches further clean up that dtsi.
This series is based on my refresh of Adam's imx8mm_beacon switch to binman patch [1], my refresh of Michael's sl28 patches [2]
Sorry, there was a misunderstanding on my side. This i.MX 8M Mini patch series, of course, does not depend on anything sl28 which is fsl-qoriq based hardware. Thanks to Michael for pointing that out and sorry again!
and Tim's switching imx8mm_venice to using binman to pack images [3].
[1] https://marc.info/?l=u-boot&m=163493902915471 [2] https://marc.info/?l=u-boot&m=163494122816224 [3] https://marc.info/?l=u-boot&m=163355140309636
Changes in v3:
- Integrated imx8mm_beacon as well.
- Re-based on top of imx/master.
Changes in v2:
- New patch preparing cl-iot-gate.
- New patch preparing cl-iot-gate.
- Morph common binman dtsi into regular common u-boot dtsi as discussed
on mailing list.
- Re-based.
- Rather than doing that clean-up to the separate binman dtsi now do it
to the common u-boot dtsi one.
- Rather than doing that clean-up to the separate binman dtsi now do it
to the common u-boot dtsi one.
- Rather than doing that clean-up to the separate binman dtsi now do it
to the common u-boot dtsi one.
Changes in v1:
- This was suggested by Simon on my earlier patch set upon which we
decided to first break this up into a common binman dtsi and then subsequently do such further improvements.
Marcel Ziswiler (7): imx8mm-cl-iot-gate: fix imximage intermediate binary naming arm64: dts: imx8mm-cl-iot-gate-u-boot.dtsi: alphabetically re-order arm64: dts: imx8mm-cl-iot-gate-u-boot.dtsi: use common imx8mm-u-boot.dtsi arm64: dts: imx8mm: use common binman configuration arm64: dts: imx8mm-u-boot.dtsi: alphabetically re-order properties arm64: dts: imx8mm-u-boot.dtsi: explicitly add spl filename arm64: dts: imx8mm-u-boot.dtsi: improve odd blob-ext naming
arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi | 122 ---------- .../dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi | 209 ++++-------------- arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi | 188 +++------------- arch/arm/dts/imx8mm-evk-u-boot.dtsi | 123 ----------- arch/arm/dts/imx8mm-u-boot.dtsi | 149 ++++++++++++- arch/arm/dts/imx8mm-venice-u-boot.dtsi | 119 ---------- arch/arm/dts/imx8mm-verdin-u-boot.dtsi | 122 +--------- .../imximage-8mm-lpddr4.cfg | 2 +- 8 files changed, 212 insertions(+), 822 deletions(-)

On Fri, Oct 22, 2021 at 6:16 PM Marcel Ziswiler marcel@ziswiler.com wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
With the move to using binman to generate SPL aka u-boot-spl-ddr.bin and U-Boot proper aka u-boot.itb every board now covers such configuration in its own U-Boot specific device tree include. Move the comon part of that configuration to the common imx8mm-u-boot.dtsi include file.
The initial patch fixes an issue with intermediate binary naming for the imx8mm-cl-iot-gate. And subsequent patches further clean up that dtsi.
This series is based on my refresh of Adam's imx8mm_beacon switch to binman patch [1], my refresh of Michael's sl28 patches [2] and Tim's switching imx8mm_venice to using binman to pack images [3].
Thanks for doing the rebase. I wonder if we should drop the imx8mm-beacon patch and just add the adjusted defconfig changes rather than applying either my patch or the rebased patch, then undoing it right away with this series. I like the idea of merging them all together into one nice series using the common imx8mm-u-boot.dtsi file, but I wonder if we should split this into another sub-file called im8mm-lpddr4-u-boot.dtsi. If someone uses a different DDR, these referenced files won't be appropriate for their DDR type.
I tried applying this series on u-boot/master, but it didn't apply correctly, so the rest of my message might not apply if there is a patch somewhere that fixes it, and I just missed it.
1. The build fails because there is a file in a location different than what's expected:
make flash.bin CROSS_COMPILE=aarch64-linux-gnu- -j8 <snip> BINMAN flash.bin MKIMAGE flash.bin ./tools/mkimage: Can't open spl/u-boot-spl-ddr.bin: No such file or directory make[1]: *** [arch/arm/mach-imx/Makefile:167: flash.bin] Error 1 make[1]: *** Deleting file 'flash.bin' make: *** [Makefile:1516: flash.bin] Error 2
If I copy u-boot-spl-ddr.bin from the main build directory to the spl directory and run make again, it completes successfully.
2. I noticed that the offset doesn't appear to be jumping to the right location. I am not sure if something has changed in binman, but I intentionally loaded this over a much older flash.bin file because I wanted to make sure the correct version of u-boot loaded, but it did not.
Notice the version mismatch between SPL and U-Boot.
U-Boot SPL 2021.10-00983-geed0aab6ff-dirty (Oct 29 2021 - 14:24:10 -0500) WDT: Started watchdog@30280000 with servicing (60s timeout) Trying to boot from MMC1 NOTICE: BL31: v2.2(release):imx_5.4.24_er3-0-gb0a00f22b-dirty NOTICE: BL31: Built : 03:05:00, May 12 2021
U-Boot 2019.04-4.19.35-1.1.0+g4d377539a1 (Jun 03 2021 - 19:41:40 +0000)
CPU: Freescale i.MX8MMQ rev1.0 1600 MHz (running at 500 MHz) CPU: Industrial temperature grade (-40C to 105C) at 56C Reset cause: POR Model: Beacon EmbeddedWorks i.MX8M Mini Development Kit DRAM: 2 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 Loading Environment from MMC... OK In: serial Out: serial Err: serial
I can try to determine the proper offset again, but there is another binman patch that might make this easier if the elf properly has the offset defined [4].
[1] https://marc.info/?l=u-boot&m=163493902915471 [2] https://marc.info/?l=u-boot&m=163494122816224 [3] https://marc.info/?l=u-boot&m=163355140309636
[4] - https://patchwork.ozlabs.org/project/uboot/patch/20211026033058.430010-6-sjg...
If there is a patch I missed somewhere, please let me know, and I will go back and try again. I'll try to figure out what's going on with the u-boot offset sometime this weekend.
Changes in v3:
- Integrated imx8mm_beacon as well.
- Re-based on top of imx/master.
Changes in v2:
- New patch preparing cl-iot-gate.
- New patch preparing cl-iot-gate.
- Morph common binman dtsi into regular common u-boot dtsi as discussed on mailing list.
- Re-based.
- Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
- Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
- Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
Changes in v1:
- This was suggested by Simon on my earlier patch set upon which we decided to first break this up into a common binman dtsi and then subsequently do such further improvements.
Marcel Ziswiler (7): imx8mm-cl-iot-gate: fix imximage intermediate binary naming arm64: dts: imx8mm-cl-iot-gate-u-boot.dtsi: alphabetically re-order arm64: dts: imx8mm-cl-iot-gate-u-boot.dtsi: use common imx8mm-u-boot.dtsi arm64: dts: imx8mm: use common binman configuration arm64: dts: imx8mm-u-boot.dtsi: alphabetically re-order properties arm64: dts: imx8mm-u-boot.dtsi: explicitly add spl filename arm64: dts: imx8mm-u-boot.dtsi: improve odd blob-ext naming
arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi | 122 ---------- .../dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi | 209 ++++-------------- arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi | 188 +++------------- arch/arm/dts/imx8mm-evk-u-boot.dtsi | 123 ----------- arch/arm/dts/imx8mm-u-boot.dtsi | 149 ++++++++++++- arch/arm/dts/imx8mm-venice-u-boot.dtsi | 119 ---------- arch/arm/dts/imx8mm-verdin-u-boot.dtsi | 122 +--------- .../imximage-8mm-lpddr4.cfg | 2 +- 8 files changed, 212 insertions(+), 822 deletions(-)
-- 2.26.2

On Fri, Oct 29, 2021 at 12:56 PM Adam Ford aford173@gmail.com wrote:
On Fri, Oct 22, 2021 at 6:16 PM Marcel Ziswiler marcel@ziswiler.com wrote:
From: Marcel Ziswiler marcel.ziswiler@toradex.com
With the move to using binman to generate SPL aka u-boot-spl-ddr.bin and U-Boot proper aka u-boot.itb every board now covers such configuration in its own U-Boot specific device tree include. Move the comon part of that configuration to the common imx8mm-u-boot.dtsi include file.
The initial patch fixes an issue with intermediate binary naming for the imx8mm-cl-iot-gate. And subsequent patches further clean up that dtsi.
This series is based on my refresh of Adam's imx8mm_beacon switch to binman patch [1], my refresh of Michael's sl28 patches [2] and Tim's switching imx8mm_venice to using binman to pack images [3].
Thanks for doing the rebase. I wonder if we should drop the imx8mm-beacon patch and just add the adjusted defconfig changes rather than applying either my patch or the rebased patch, then undoing it right away with this series. I like the idea of merging them all together into one nice series using the common imx8mm-u-boot.dtsi file, but I wonder if we should split this into another sub-file called im8mm-lpddr4-u-boot.dtsi. If someone uses a different DDR, these referenced files won't be appropriate for their DDR type.
I tried applying this series on u-boot/master, but it didn't apply correctly, so the rest of my message might not apply if there is a patch somewhere that fixes it, and I just missed it.
- The build fails because there is a file in a location different
than what's expected:
make flash.bin CROSS_COMPILE=aarch64-linux-gnu- -j8
<snip> BINMAN flash.bin MKIMAGE flash.bin ./tools/mkimage: Can't open spl/u-boot-spl-ddr.bin: No such file or directory make[1]: *** [arch/arm/mach-imx/Makefile:167: flash.bin] Error 1 make[1]: *** Deleting file 'flash.bin' make: *** [Makefile:1516: flash.bin] Error 2
If I copy u-boot-spl-ddr.bin from the main build directory to the spl directory and run make again, it completes successfully.
- I noticed that the offset doesn't appear to be jumping to the
right location. I am not sure if something has changed in binman, but I intentionally loaded this over a much older flash.bin file because I wanted to make sure the correct version of u-boot loaded, but it did not.
Notice the version mismatch between SPL and U-Boot.
U-Boot SPL 2021.10-00983-geed0aab6ff-dirty (Oct 29 2021 - 14:24:10 -0500) WDT: Started watchdog@30280000 with servicing (60s timeout) Trying to boot from MMC1 NOTICE: BL31: v2.2(release):imx_5.4.24_er3-0-gb0a00f22b-dirty NOTICE: BL31: Built : 03:05:00, May 12 2021
U-Boot 2019.04-4.19.35-1.1.0+g4d377539a1 (Jun 03 2021 - 19:41:40 +0000)
CPU: Freescale i.MX8MMQ rev1.0 1600 MHz (running at 500 MHz) CPU: Industrial temperature grade (-40C to 105C) at 56C Reset cause: POR Model: Beacon EmbeddedWorks i.MX8M Mini Development Kit DRAM: 2 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 Loading Environment from MMC... OK In: serial Out: serial Err: serial
I can try to determine the proper offset again, but there is another binman patch that might make this easier if the elf properly has the offset defined [4].
[1] https://marc.info/?l=u-boot&m=163493902915471 [2] https://marc.info/?l=u-boot&m=163494122816224 [3] https://marc.info/?l=u-boot&m=163355140309636
[4] - https://patchwork.ozlabs.org/project/uboot/patch/20211026033058.430010-6-sjg...
If there is a patch I missed somewhere, please let me know, and I will go back and try again. I'll try to figure out what's going on with the u-boot offset sometime this weekend.
Changes in v3:
- Integrated imx8mm_beacon as well.
- Re-based on top of imx/master.
Changes in v2:
- New patch preparing cl-iot-gate.
- New patch preparing cl-iot-gate.
- Morph common binman dtsi into regular common u-boot dtsi as discussed on mailing list.
- Re-based.
- Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
- Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
- Rather than doing that clean-up to the separate binman dtsi now do it to the common u-boot dtsi one.
Changes in v1:
- This was suggested by Simon on my earlier patch set upon which we decided to first break this up into a common binman dtsi and then subsequently do such further improvements.
Marcel Ziswiler (7): imx8mm-cl-iot-gate: fix imximage intermediate binary naming arm64: dts: imx8mm-cl-iot-gate-u-boot.dtsi: alphabetically re-order arm64: dts: imx8mm-cl-iot-gate-u-boot.dtsi: use common imx8mm-u-boot.dtsi arm64: dts: imx8mm: use common binman configuration arm64: dts: imx8mm-u-boot.dtsi: alphabetically re-order properties arm64: dts: imx8mm-u-boot.dtsi: explicitly add spl filename arm64: dts: imx8mm-u-boot.dtsi: improve odd blob-ext naming
arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi | 122 ---------- .../dts/imx8mm-cl-iot-gate-optee-u-boot.dtsi | 209 ++++-------------- arch/arm/dts/imx8mm-cl-iot-gate-u-boot.dtsi | 188 +++------------- arch/arm/dts/imx8mm-evk-u-boot.dtsi | 123 ----------- arch/arm/dts/imx8mm-u-boot.dtsi | 149 ++++++++++++- arch/arm/dts/imx8mm-venice-u-boot.dtsi | 119 ---------- arch/arm/dts/imx8mm-verdin-u-boot.dtsi | 122 +--------- .../imximage-8mm-lpddr4.cfg | 2 +- 8 files changed, 212 insertions(+), 822 deletions(-)
-- 2.26.2
I'm very unclear where we stand right now as well as far as imx goes. As far as I understand the merge window for 2022.01 is now closed yet several of us still have imx patches sitting out there that likely got stuck because of merge difficulties. I have not gotten a response from Stefano how he wants us to deal with these patches.
I was hoping we would all be switched over to using binman for 2022.01.
Best regards,
Tim
participants (5)
-
Adam Ford
-
Marcel Ziswiler
-
Marcel Ziswiler
-
Tim Harvey
-
Tom Rini