[PATCH 1/2] Makefile: Fix dependency for u-boot-with-dtb.bin

Makefile uses binman to produce u-boot-with-dtb.bin target. As its input it takes DTB file and u-boot binary without DTB, which is stored in file u-boot-nodtb.bin. So fix target dependency.
Signed-off-by: Pali Rohár pali@kernel.org --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index ff25f9297486..dcfcd7ebd5d2 100644 --- a/Makefile +++ b/Makefile @@ -1628,7 +1628,7 @@ u-boot-with-nand-spl.sfp: u-boot-spl-padx4.sfp u-boot.img FORCE endif
ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -u-boot-with-dtb.bin: u-boot.bin u-boot.dtb \ +u-boot-with-dtb.bin: u-boot-nodtb.bin u-boot.dtb \ $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), u-boot-br.bin) FORCE $(call if_changed,binman)

Currently Makefile produces final mpc85xx image when SPL is not used in custom file u-boot-with-dtb.bin. It is quite confusing name as build process produce also intermediate file standard file u-boot-dtb.bin (which is just intermediate and not bootable). Other platforms use u-boot.bin (UBOOT_BIN) as standard name for final bootable raw image.
So change Makefile rules and binman to produce final bootable file for mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not define default rule for u-boot.bin then instruct binman (via DTS file) to store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and finally rename target u-boot-with-dtb.bin to u-boot.bin.
With this change are also removed custom Makefile hacks for mpc85xx that it produced non-standard output file. And also updated documentation.
Signed-off-by: Pali Rohár pali@kernel.org --- Makefile | 19 +++++-------------- arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- arch/powerpc/dts/u-boot.dtsi | 2 +- board/freescale/p1_p2_rdb_pc/README | 2 +- board/freescale/p2041rdb/README | 3 --- board/freescale/t102xrdb/README | 2 +- board/freescale/t104xrdb/README | 2 +- board/freescale/t208xqds/README | 2 +- board/freescale/t208xrdb/README | 2 +- 9 files changed, 12 insertions(+), 24 deletions(-)
diff --git a/Makefile b/Makefile index dcfcd7ebd5d2..b1b08695cc47 100644 --- a/Makefile +++ b/Makefile @@ -991,10 +991,6 @@ ifeq ($(CONFIG_INIT_SP_RELATIVE)$(CONFIG_OF_SEPARATE),yy) INPUTS-y += init_sp_bss_offset_check endif
-ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -INPUTS-y += u-boot-with-dtb.bin -endif - ifeq ($(CONFIG_ARCH_ROCKCHIP),y) # On ARM64 this target is produced by binman so we don't need this dep ifeq ($(CONFIG_ARM64),y) @@ -1218,9 +1214,12 @@ else ifeq ($(CONFIG_OF_SEPARATE).$(CONFIG_OF_OMIT_DTB),y.) u-boot-dtb.bin: u-boot-nodtb.bin dts/dt.dtb FORCE $(call if_changed,cat)
+ifneq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) u-boot.bin: u-boot-dtb.bin FORCE $(call if_changed,copy) -else +endif + +else ifneq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) u-boot.bin: u-boot-nodtb.bin FORCE $(call if_changed,copy) endif @@ -1433,11 +1432,7 @@ MKIMAGEFLAGS_u-boot-spl.kwb = -n $(KWD_CONFIG_FILE) \ MKIMAGEFLAGS_u-boot.pbl = -n $(srctree)/$(CONFIG_SYS_FSL_PBL_RCW:"%"=%) \ -R $(srctree)/$(CONFIG_SYS_FSL_PBL_PBI:"%"=%) -A $(ARCH) -T pblimage
-ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -UBOOT_BIN := u-boot-with-dtb.bin -else UBOOT_BIN := u-boot.bin -endif
MKIMAGEFLAGS_u-boot-lzma.img = -A $(ARCH) -T standalone -C lzma -O u-boot \ -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_UBOOT_START) \ @@ -1628,7 +1623,7 @@ u-boot-with-nand-spl.sfp: u-boot-spl-padx4.sfp u-boot.img FORCE endif
ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -u-boot-with-dtb.bin: u-boot-nodtb.bin u-boot.dtb \ +u-boot.bin: u-boot-nodtb.bin u-boot.dtb \ $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), u-boot-br.bin) FORCE $(call if_changed,binman)
@@ -1694,12 +1689,8 @@ spl/u-boot-spl.pbl: spl/u-boot-spl.bin FORCE ifeq ($(ARCH),arm) UBOOT_BINLOAD := u-boot.img else -ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -UBOOT_BINLOAD := u-boot-with-dtb.bin -else UBOOT_BINLOAD := u-boot.bin endif -endif
OBJCOPYFLAGS_u-boot-with-spl-pbl.bin = -I binary -O binary --pad-to=$(CONFIG_SPL_PAD_TO) \ --gap-fill=0xff diff --git a/arch/powerpc/dts/kmcent2-u-boot.dtsi b/arch/powerpc/dts/kmcent2-u-boot.dtsi index ab76a9f1226c..eeaa688b6577 100644 --- a/arch/powerpc/dts/kmcent2-u-boot.dtsi +++ b/arch/powerpc/dts/kmcent2-u-boot.dtsi @@ -76,7 +76,7 @@ };
binman { - filename = "u-boot-with-dtb.bin"; + filename = "u-boot.bin"; skip-at-start = <CONFIG_SYS_TEXT_BASE>; sort-by-offset; pad-byte = <0xff>; diff --git a/arch/powerpc/dts/u-boot.dtsi b/arch/powerpc/dts/u-boot.dtsi index 67de476a45ed..0251afddca82 100644 --- a/arch/powerpc/dts/u-boot.dtsi +++ b/arch/powerpc/dts/u-boot.dtsi @@ -7,7 +7,7 @@
/ { binman { - filename = "u-boot-with-dtb.bin"; + filename = "u-boot.bin"; skip-at-start = <CONFIG_SYS_TEXT_BASE>; sort-by-offset; pad-byte = <0xff>; diff --git a/board/freescale/p1_p2_rdb_pc/README b/board/freescale/p1_p2_rdb_pc/README index 86ff04e69d97..f542decec79b 100644 --- a/board/freescale/p1_p2_rdb_pc/README +++ b/board/freescale/p1_p2_rdb_pc/README @@ -60,5 +60,5 @@ enabled in relative defconfig file, CONFIG_RESET_VECTOR_ADDRESS - 0xffc
If device tree support is enabled in defconfig, -1. use 'u-boot-with-dtb.bin' for NOR boot. +1. use 'u-boot.bin' for NOR boot. 2. use 'u-boot-with-spl.bin' for other boot. diff --git a/board/freescale/p2041rdb/README b/board/freescale/p2041rdb/README index 79f77e496125..96612daeeb11 100644 --- a/board/freescale/p2041rdb/README +++ b/board/freescale/p2041rdb/README @@ -100,9 +100,6 @@ enabled in relative defconfig file, 3. CONFIG_MPC85XX_HAVE_RESET_VECTOR if reset vector is located at CONFIG_RESET_VECTOR_ADDRESS - 0xffc
-If device tree support is enabled in defconfig, use 'u-boot-with-dtb.bin' -instead of u-boot.bin for all boot. - CPLD command ============ The CPLD is used to control the power sequence and some serdes lane diff --git a/board/freescale/t102xrdb/README b/board/freescale/t102xrdb/README index 84deb9562a14..de170f52b4d3 100644 --- a/board/freescale/t102xrdb/README +++ b/board/freescale/t102xrdb/README @@ -267,7 +267,7 @@ enabled in relative defconfig file, config_reset_vector_address - 0xffc
if device tree support is enabled in defconfig, -1. use 'u-boot-with-dtb.bin' for nor boot. +1. use 'u-boot.bin' for nor boot. 2. use 'u-boot-with-spl-pbl.bin' for other boot.
2-stage NAND/SPI/SD boot loader diff --git a/board/freescale/t104xrdb/README b/board/freescale/t104xrdb/README index 09cb98e33d6a..e90dca416639 100644 --- a/board/freescale/t104xrdb/README +++ b/board/freescale/t104xrdb/README @@ -382,5 +382,5 @@ enabled in relative defconfig file, CONFIG_RESET_VECTOR_ADDRESS - 0xffc
If device tree support is enabled in defconfig, -1. use 'u-boot-with-dtb.bin' for NOR boot. +1. use 'u-boot.bin' for NOR boot. 2. use 'u-boot-with-spl-pbl.bin' for other boot. diff --git a/board/freescale/t208xqds/README b/board/freescale/t208xqds/README index 75d317342f60..63953d6b9b66 100755 --- a/board/freescale/t208xqds/README +++ b/board/freescale/t208xqds/README @@ -288,5 +288,5 @@ enabled in relative defconfig file, CONFIG_RESET_VECTOR_ADDRESS - 0xffc
If device tree support is enabled in defconfig, -1. use 'u-boot-with-dtb.bin' for NOR boot. +1. use 'u-boot.bin' for NOR boot. 2. use 'u-boot-with-spl-pbl.bin' for other boot. diff --git a/board/freescale/t208xrdb/README b/board/freescale/t208xrdb/README index c4bfd3b466f4..60551f6723e6 100644 --- a/board/freescale/t208xrdb/README +++ b/board/freescale/t208xrdb/README @@ -284,5 +284,5 @@ enabled in relative defconfig file, CONFIG_RESET_VECTOR_ADDRESS - 0xffc
If device tree support is enabled in defconfig, -1. use 'u-boot-with-dtb.bin' for NOR boot. +1. use 'u-boot.bin' for NOR boot. 2. use 'u-boot-with-spl-pbl.bin' for other boot.

On Mon, Aug 01, 2022 at 05:42:20PM +0200, Pali Rohár wrote:
Currently Makefile produces final mpc85xx image when SPL is not used in custom file u-boot-with-dtb.bin. It is quite confusing name as build process produce also intermediate file standard file u-boot-dtb.bin (which is just intermediate and not bootable). Other platforms use u-boot.bin (UBOOT_BIN) as standard name for final bootable raw image.
So change Makefile rules and binman to produce final bootable file for mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not define default rule for u-boot.bin then instruct binman (via DTS file) to store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and finally rename target u-boot-with-dtb.bin to u-boot.bin.
With this change are also removed custom Makefile hacks for mpc85xx that it produced non-standard output file. And also updated documentation.
Signed-off-by: Pali Rohár pali@kernel.org
Reviewed-by: Tom Rini trini@konsulko.com

Hi Pali,
On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote:
Currently Makefile produces final mpc85xx image when SPL is not used in custom file u-boot-with-dtb.bin. It is quite confusing name as build process produce also intermediate file standard file u-boot-dtb.bin (which is just intermediate and not bootable). Other platforms use u-boot.bin (UBOOT_BIN) as standard name for final bootable raw image.
So change Makefile rules and binman to produce final bootable file for mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not define default rule for u-boot.bin then instruct binman (via DTS file) to store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and finally rename target u-boot-with-dtb.bin to u-boot.bin.
With this change are also removed custom Makefile hacks for mpc85xx that it produced non-standard output file. And also updated documentation.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 19 +++++-------------- arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- arch/powerpc/dts/u-boot.dtsi | 2 +- board/freescale/p1_p2_rdb_pc/README | 2 +- board/freescale/p2041rdb/README | 3 --- board/freescale/t102xrdb/README | 2 +- board/freescale/t104xrdb/README | 2 +- board/freescale/t208xqds/README | 2 +- board/freescale/t208xrdb/README | 2 +- 9 files changed, 12 insertions(+), 24 deletions(-)
At present u-boot.bin has a very standard meaning - it is U-Boot with the DT.
Boards which need something more than that can/should use binman to create a separate file.
I certainly agree that u-boot-with-dtb.bin is a terrible name, though. Something more descriptive would be better.
But is it possible to drop these SoC-specific rules in the Makefile and just build everything needed in the standard binman rule in the Makefile?
Regards, Simon

On Monday 01 August 2022 13:13:22 Simon Glass wrote:
Hi Pali,
On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote:
Currently Makefile produces final mpc85xx image when SPL is not used in custom file u-boot-with-dtb.bin. It is quite confusing name as build process produce also intermediate file standard file u-boot-dtb.bin (which is just intermediate and not bootable). Other platforms use u-boot.bin (UBOOT_BIN) as standard name for final bootable raw image.
So change Makefile rules and binman to produce final bootable file for mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not define default rule for u-boot.bin then instruct binman (via DTS file) to store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and finally rename target u-boot-with-dtb.bin to u-boot.bin.
With this change are also removed custom Makefile hacks for mpc85xx that it produced non-standard output file. And also updated documentation.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 19 +++++-------------- arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- arch/powerpc/dts/u-boot.dtsi | 2 +- board/freescale/p1_p2_rdb_pc/README | 2 +- board/freescale/p2041rdb/README | 3 --- board/freescale/t102xrdb/README | 2 +- board/freescale/t104xrdb/README | 2 +- board/freescale/t208xqds/README | 2 +- board/freescale/t208xrdb/README | 2 +- 9 files changed, 12 insertions(+), 24 deletions(-)
At present u-boot.bin has a very standard meaning - it is U-Boot with the DT.
Boards which need something more than that can/should use binman to create a separate file.
I certainly agree that u-boot-with-dtb.bin is a terrible name, though. Something more descriptive would be better.
But is it possible to drop these SoC-specific rules in the Makefile and just build everything needed in the standard binman rule in the Makefile?
Regards, Simon
I do not know what is binman doing and how to use it. I just do not see reason why it is needed to use such additional tool for building final binary for powerpc/mpc85xx as other arm boards do not use it at all.
Ad your comment "At present u-boot.bin has a very standard meaning - it is U-Boot with the DT." - This is exactly what binman for mpc85xx produces.
So I see there could be improvements, but as a first step this my patch should be enough?

On Mon, Aug 01, 2022 at 09:39:00PM +0200, Pali Rohár wrote:
On Monday 01 August 2022 13:13:22 Simon Glass wrote:
Hi Pali,
On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote:
Currently Makefile produces final mpc85xx image when SPL is not used in custom file u-boot-with-dtb.bin. It is quite confusing name as build process produce also intermediate file standard file u-boot-dtb.bin (which is just intermediate and not bootable). Other platforms use u-boot.bin (UBOOT_BIN) as standard name for final bootable raw image.
So change Makefile rules and binman to produce final bootable file for mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not define default rule for u-boot.bin then instruct binman (via DTS file) to store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and finally rename target u-boot-with-dtb.bin to u-boot.bin.
With this change are also removed custom Makefile hacks for mpc85xx that it produced non-standard output file. And also updated documentation.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 19 +++++-------------- arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- arch/powerpc/dts/u-boot.dtsi | 2 +- board/freescale/p1_p2_rdb_pc/README | 2 +- board/freescale/p2041rdb/README | 3 --- board/freescale/t102xrdb/README | 2 +- board/freescale/t104xrdb/README | 2 +- board/freescale/t208xqds/README | 2 +- board/freescale/t208xrdb/README | 2 +- 9 files changed, 12 insertions(+), 24 deletions(-)
At present u-boot.bin has a very standard meaning - it is U-Boot with the DT.
Boards which need something more than that can/should use binman to create a separate file.
I certainly agree that u-boot-with-dtb.bin is a terrible name, though. Something more descriptive would be better.
But is it possible to drop these SoC-specific rules in the Makefile and just build everything needed in the standard binman rule in the Makefile?
Regards, Simon
I do not know what is binman doing and how to use it. I just do not see reason why it is needed to use such additional tool for building final binary for powerpc/mpc85xx as other arm boards do not use it at all.
Ad your comment "At present u-boot.bin has a very standard meaning - it is U-Boot with the DT." - This is exactly what binman for mpc85xx produces.
So I see there could be improvements, but as a first step this my patch should be enough?
So, one of the issues with PowerPC stuff is that much of it is so far behind the rest of U-Boot in terms of frameworks. So yes, let us start by fixing the functional problem you're describing here and then see what appetite exists for further work here.

On Monday 01 August 2022 19:15:46 Tom Rini wrote:
On Mon, Aug 01, 2022 at 09:39:00PM +0200, Pali Rohár wrote:
On Monday 01 August 2022 13:13:22 Simon Glass wrote:
Hi Pali,
On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote:
Currently Makefile produces final mpc85xx image when SPL is not used in custom file u-boot-with-dtb.bin. It is quite confusing name as build process produce also intermediate file standard file u-boot-dtb.bin (which is just intermediate and not bootable). Other platforms use u-boot.bin (UBOOT_BIN) as standard name for final bootable raw image.
So change Makefile rules and binman to produce final bootable file for mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not define default rule for u-boot.bin then instruct binman (via DTS file) to store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and finally rename target u-boot-with-dtb.bin to u-boot.bin.
With this change are also removed custom Makefile hacks for mpc85xx that it produced non-standard output file. And also updated documentation.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 19 +++++-------------- arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- arch/powerpc/dts/u-boot.dtsi | 2 +- board/freescale/p1_p2_rdb_pc/README | 2 +- board/freescale/p2041rdb/README | 3 --- board/freescale/t102xrdb/README | 2 +- board/freescale/t104xrdb/README | 2 +- board/freescale/t208xqds/README | 2 +- board/freescale/t208xrdb/README | 2 +- 9 files changed, 12 insertions(+), 24 deletions(-)
At present u-boot.bin has a very standard meaning - it is U-Boot with the DT.
Boards which need something more than that can/should use binman to create a separate file.
I certainly agree that u-boot-with-dtb.bin is a terrible name, though. Something more descriptive would be better.
But is it possible to drop these SoC-specific rules in the Makefile and just build everything needed in the standard binman rule in the Makefile?
Regards, Simon
I do not know what is binman doing and how to use it. I just do not see reason why it is needed to use such additional tool for building final binary for powerpc/mpc85xx as other arm boards do not use it at all.
Ad your comment "At present u-boot.bin has a very standard meaning - it is U-Boot with the DT." - This is exactly what binman for mpc85xx produces.
So I see there could be improvements, but as a first step this my patch should be enough?
So, one of the issues with PowerPC stuff is that much of it is so far behind the rest of U-Boot in terms of frameworks. So yes, let us start by fixing the functional problem you're describing here and then see what appetite exists for further work here.
-- Tom
Ok, so these two patches in this patch series is a starting point.
Now I send another patch which does another cleanup in this area: https://patchwork.ozlabs.org/project/uboot/patch/20220803112442.4735-1-pali@...

On Wednesday 03 August 2022 13:28:01 Pali Rohár wrote:
On Monday 01 August 2022 19:15:46 Tom Rini wrote:
On Mon, Aug 01, 2022 at 09:39:00PM +0200, Pali Rohár wrote:
On Monday 01 August 2022 13:13:22 Simon Glass wrote:
Hi Pali,
On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote:
Currently Makefile produces final mpc85xx image when SPL is not used in custom file u-boot-with-dtb.bin. It is quite confusing name as build process produce also intermediate file standard file u-boot-dtb.bin (which is just intermediate and not bootable). Other platforms use u-boot.bin (UBOOT_BIN) as standard name for final bootable raw image.
So change Makefile rules and binman to produce final bootable file for mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not define default rule for u-boot.bin then instruct binman (via DTS file) to store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and finally rename target u-boot-with-dtb.bin to u-boot.bin.
With this change are also removed custom Makefile hacks for mpc85xx that it produced non-standard output file. And also updated documentation.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 19 +++++-------------- arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- arch/powerpc/dts/u-boot.dtsi | 2 +- board/freescale/p1_p2_rdb_pc/README | 2 +- board/freescale/p2041rdb/README | 3 --- board/freescale/t102xrdb/README | 2 +- board/freescale/t104xrdb/README | 2 +- board/freescale/t208xqds/README | 2 +- board/freescale/t208xrdb/README | 2 +- 9 files changed, 12 insertions(+), 24 deletions(-)
At present u-boot.bin has a very standard meaning - it is U-Boot with the DT.
Boards which need something more than that can/should use binman to create a separate file.
I certainly agree that u-boot-with-dtb.bin is a terrible name, though. Something more descriptive would be better.
But is it possible to drop these SoC-specific rules in the Makefile and just build everything needed in the standard binman rule in the Makefile?
Regards, Simon
I do not know what is binman doing and how to use it. I just do not see reason why it is needed to use such additional tool for building final binary for powerpc/mpc85xx as other arm boards do not use it at all.
Ad your comment "At present u-boot.bin has a very standard meaning - it is U-Boot with the DT." - This is exactly what binman for mpc85xx produces.
So I see there could be improvements, but as a first step this my patch should be enough?
So, one of the issues with PowerPC stuff is that much of it is so far behind the rest of U-Boot in terms of frameworks. So yes, let us start by fixing the functional problem you're describing here and then see what appetite exists for further work here.
-- Tom
Ok, so these two patches in this patch series is a starting point.
Now I send another patch which does another cleanup in this area: https://patchwork.ozlabs.org/project/uboot/patch/20220803112442.4735-1-pali@...
PING?

Hi,
On Wed, 17 Aug 2022 at 15:07, Pali Rohár pali@kernel.org wrote:
On Wednesday 03 August 2022 13:28:01 Pali Rohár wrote:
On Monday 01 August 2022 19:15:46 Tom Rini wrote:
On Mon, Aug 01, 2022 at 09:39:00PM +0200, Pali Rohár wrote:
On Monday 01 August 2022 13:13:22 Simon Glass wrote:
Hi Pali,
On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote:
Currently Makefile produces final mpc85xx image when SPL is not used in custom file u-boot-with-dtb.bin. It is quite confusing name as build process produce also intermediate file standard file u-boot-dtb.bin (which is just intermediate and not bootable). Other platforms use u-boot.bin (UBOOT_BIN) as standard name for final bootable raw image.
So change Makefile rules and binman to produce final bootable file for mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not define default rule for u-boot.bin then instruct binman (via DTS file) to store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and finally rename target u-boot-with-dtb.bin to u-boot.bin.
With this change are also removed custom Makefile hacks for mpc85xx that it produced non-standard output file. And also updated documentation.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 19 +++++-------------- arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- arch/powerpc/dts/u-boot.dtsi | 2 +- board/freescale/p1_p2_rdb_pc/README | 2 +- board/freescale/p2041rdb/README | 3 --- board/freescale/t102xrdb/README | 2 +- board/freescale/t104xrdb/README | 2 +- board/freescale/t208xqds/README | 2 +- board/freescale/t208xrdb/README | 2 +- 9 files changed, 12 insertions(+), 24 deletions(-)
At present u-boot.bin has a very standard meaning - it is U-Boot with the DT.
Boards which need something more than that can/should use binman to create a separate file.
I certainly agree that u-boot-with-dtb.bin is a terrible name, though. Something more descriptive would be better.
But is it possible to drop these SoC-specific rules in the Makefile and just build everything needed in the standard binman rule in the Makefile?
Regards, Simon
I do not know what is binman doing and how to use it. I just do not see reason why it is needed to use such additional tool for building final binary for powerpc/mpc85xx as other arm boards do not use it at all.
Ad your comment "At present u-boot.bin has a very standard meaning - it is U-Boot with the DT." - This is exactly what binman for mpc85xx produces.
So I see there could be improvements, but as a first step this my patch should be enough?
So, one of the issues with PowerPC stuff is that much of it is so far behind the rest of U-Boot in terms of frameworks. So yes, let us start by fixing the functional problem you're describing here and then see what appetite exists for further work here.
-- Tom
Ok, so these two patches in this patch series is a starting point.
Now I send another patch which does another cleanup in this area: https://patchwork.ozlabs.org/project/uboot/patch/20220803112442.4735-1-pali@...
PING?
I'm not sure what to say here and will leave it to Tom.
- Simon

On Wed, Aug 17, 2022 at 04:44:39PM -0600, Simon Glass wrote:
Hi,
On Wed, 17 Aug 2022 at 15:07, Pali Rohár pali@kernel.org wrote:
On Wednesday 03 August 2022 13:28:01 Pali Rohár wrote:
On Monday 01 August 2022 19:15:46 Tom Rini wrote:
On Mon, Aug 01, 2022 at 09:39:00PM +0200, Pali Rohár wrote:
On Monday 01 August 2022 13:13:22 Simon Glass wrote:
Hi Pali,
On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote: > > Currently Makefile produces final mpc85xx image when SPL is not used in > custom file u-boot-with-dtb.bin. It is quite confusing name as build > process produce also intermediate file standard file u-boot-dtb.bin (which > is just intermediate and not bootable). Other platforms use u-boot.bin > (UBOOT_BIN) as standard name for final bootable raw image. > > So change Makefile rules and binman to produce final bootable file for > mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not > define default rule for u-boot.bin then instruct binman (via DTS file) to > store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and > finally rename target u-boot-with-dtb.bin to u-boot.bin. > > With this change are also removed custom Makefile hacks for mpc85xx that it > produced non-standard output file. And also updated documentation. > > Signed-off-by: Pali Rohár pali@kernel.org > --- > Makefile | 19 +++++-------------- > arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- > arch/powerpc/dts/u-boot.dtsi | 2 +- > board/freescale/p1_p2_rdb_pc/README | 2 +- > board/freescale/p2041rdb/README | 3 --- > board/freescale/t102xrdb/README | 2 +- > board/freescale/t104xrdb/README | 2 +- > board/freescale/t208xqds/README | 2 +- > board/freescale/t208xrdb/README | 2 +- > 9 files changed, 12 insertions(+), 24 deletions(-)
At present u-boot.bin has a very standard meaning - it is U-Boot with the DT.
Boards which need something more than that can/should use binman to create a separate file.
I certainly agree that u-boot-with-dtb.bin is a terrible name, though. Something more descriptive would be better.
But is it possible to drop these SoC-specific rules in the Makefile and just build everything needed in the standard binman rule in the Makefile?
Regards, Simon
I do not know what is binman doing and how to use it. I just do not see reason why it is needed to use such additional tool for building final binary for powerpc/mpc85xx as other arm boards do not use it at all.
Ad your comment "At present u-boot.bin has a very standard meaning - it is U-Boot with the DT." - This is exactly what binman for mpc85xx produces.
So I see there could be improvements, but as a first step this my patch should be enough?
So, one of the issues with PowerPC stuff is that much of it is so far behind the rest of U-Boot in terms of frameworks. So yes, let us start by fixing the functional problem you're describing here and then see what appetite exists for further work here.
-- Tom
Ok, so these two patches in this patch series is a starting point.
Now I send another patch which does another cleanup in this area: https://patchwork.ozlabs.org/project/uboot/patch/20220803112442.4735-1-pali@...
PING?
I'm not sure what to say here and will leave it to Tom.
And I'm assuming that Marek will pick this up, along with all of your other outstanding PowerPC patches that are essentially related to making the original turris platform work.

+ Peng Fan
On Sunday 21 August 2022 08:17:29 Tom Rini wrote:
On Wed, Aug 17, 2022 at 04:44:39PM -0600, Simon Glass wrote:
Hi,
On Wed, 17 Aug 2022 at 15:07, Pali Rohár pali@kernel.org wrote:
On Wednesday 03 August 2022 13:28:01 Pali Rohár wrote:
On Monday 01 August 2022 19:15:46 Tom Rini wrote:
On Mon, Aug 01, 2022 at 09:39:00PM +0200, Pali Rohár wrote:
On Monday 01 August 2022 13:13:22 Simon Glass wrote: > Hi Pali, > > On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote: > > > > Currently Makefile produces final mpc85xx image when SPL is not used in > > custom file u-boot-with-dtb.bin. It is quite confusing name as build > > process produce also intermediate file standard file u-boot-dtb.bin (which > > is just intermediate and not bootable). Other platforms use u-boot.bin > > (UBOOT_BIN) as standard name for final bootable raw image. > > > > So change Makefile rules and binman to produce final bootable file for > > mpc85xx also into file u-boot.bin. There is just need for mpc85xx to not > > define default rule for u-boot.bin then instruct binman (via DTS file) to > > store final image into u-boot.bin (instead of u-boot-with-dtb.bin) and > > finally rename target u-boot-with-dtb.bin to u-boot.bin. > > > > With this change are also removed custom Makefile hacks for mpc85xx that it > > produced non-standard output file. And also updated documentation. > > > > Signed-off-by: Pali Rohár pali@kernel.org > > --- > > Makefile | 19 +++++-------------- > > arch/powerpc/dts/kmcent2-u-boot.dtsi | 2 +- > > arch/powerpc/dts/u-boot.dtsi | 2 +- > > board/freescale/p1_p2_rdb_pc/README | 2 +- > > board/freescale/p2041rdb/README | 3 --- > > board/freescale/t102xrdb/README | 2 +- > > board/freescale/t104xrdb/README | 2 +- > > board/freescale/t208xqds/README | 2 +- > > board/freescale/t208xrdb/README | 2 +- > > 9 files changed, 12 insertions(+), 24 deletions(-) > > At present u-boot.bin has a very standard meaning - it is U-Boot with the DT. > > Boards which need something more than that can/should use binman to > create a separate file. > > I certainly agree that u-boot-with-dtb.bin is a terrible name, though. > Something more descriptive would be better. > > But is it possible to drop these SoC-specific rules in the Makefile > and just build everything needed in the standard binman rule in the > Makefile? > > Regards, > Simon
I do not know what is binman doing and how to use it. I just do not see reason why it is needed to use such additional tool for building final binary for powerpc/mpc85xx as other arm boards do not use it at all.
Ad your comment "At present u-boot.bin has a very standard meaning - it is U-Boot with the DT." - This is exactly what binman for mpc85xx produces.
So I see there could be improvements, but as a first step this my patch should be enough?
So, one of the issues with PowerPC stuff is that much of it is so far behind the rest of U-Boot in terms of frameworks. So yes, let us start by fixing the functional problem you're describing here and then see what appetite exists for further work here.
-- Tom
Ok, so these two patches in this patch series is a starting point.
Now I send another patch which does another cleanup in this area: https://patchwork.ozlabs.org/project/uboot/patch/20220803112442.4735-1-pali@...
PING?
I'm not sure what to say here and will leave it to Tom.
And I'm assuming that Marek will pick this up, along with all of your other outstanding PowerPC patches that are essentially related to making the original turris platform work.
-- Tom

On Mon, Aug 01, 2022 at 05:42:19PM +0200, Pali Rohár wrote:
Makefile uses binman to produce u-boot-with-dtb.bin target. As its input it takes DTB file and u-boot binary without DTB, which is stored in file u-boot-nodtb.bin. So fix target dependency.
Signed-off-by: Pali Rohár pali@kernel.org
Reviewed-by: Tom Rini trini@konsulko.com

On Mon, 1 Aug 2022 at 09:43, Pali Rohár pali@kernel.org wrote:
Makefile uses binman to produce u-boot-with-dtb.bin target. As its input it takes DTB file and u-boot binary without DTB, which is stored in file u-boot-nodtb.bin. So fix target dependency.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index ff25f9297486..dcfcd7ebd5d2 100644 --- a/Makefile +++ b/Makefile @@ -1628,7 +1628,7 @@ u-boot-with-nand-spl.sfp: u-boot-spl-padx4.sfp u-boot.img FORCE endif
ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -u-boot-with-dtb.bin: u-boot.bin u-boot.dtb \ +u-boot-with-dtb.bin: u-boot-nodtb.bin u-boot.dtb \ $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), u-boot-br.bin) FORCE $(call if_changed,binman)
-- 2.20.1
Reviewed-by: Simon Glass sjg@chromium.org
But I feel this should be dropped and be handled by the normal binman rule in the Makefile.

On Monday 01 August 2022 17:42:19 Pali Rohár wrote:
Makefile uses binman to produce u-boot-with-dtb.bin target. As its input it takes DTB file and u-boot binary without DTB, which is stored in file u-boot-nodtb.bin. So fix target dependency.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index ff25f9297486..dcfcd7ebd5d2 100644 --- a/Makefile +++ b/Makefile @@ -1628,7 +1628,7 @@ u-boot-with-nand-spl.sfp: u-boot-spl-padx4.sfp u-boot.img FORCE endif
ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -u-boot-with-dtb.bin: u-boot.bin u-boot.dtb \ +u-boot-with-dtb.bin: u-boot-nodtb.bin u-boot.dtb \ $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), u-boot-br.bin) FORCE $(call if_changed,binman)
-- 2.20.1
PING? This fix is also waiting here for month.

On Wed, Aug 31, 2022 at 02:03:06PM +0200, Pali Rohár wrote:
On Monday 01 August 2022 17:42:19 Pali Rohár wrote:
Makefile uses binman to produce u-boot-with-dtb.bin target. As its input it takes DTB file and u-boot binary without DTB, which is stored in file u-boot-nodtb.bin. So fix target dependency.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index ff25f9297486..dcfcd7ebd5d2 100644 --- a/Makefile +++ b/Makefile @@ -1628,7 +1628,7 @@ u-boot-with-nand-spl.sfp: u-boot-spl-padx4.sfp u-boot.img FORCE endif
ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -u-boot-with-dtb.bin: u-boot.bin u-boot.dtb \ +u-boot-with-dtb.bin: u-boot-nodtb.bin u-boot.dtb \ $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), u-boot-br.bin) FORCE $(call if_changed,binman)
PING? This fix is also waiting here for month.
Like all of your other PowerPC changes, Marek?

+ Peng Fan
On Monday 01 August 2022 17:42:19 Pali Rohár wrote:
Makefile uses binman to produce u-boot-with-dtb.bin target. As its input it takes DTB file and u-boot binary without DTB, which is stored in file u-boot-nodtb.bin. So fix target dependency.
Signed-off-by: Pali Rohár pali@kernel.org
Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index ff25f9297486..dcfcd7ebd5d2 100644 --- a/Makefile +++ b/Makefile @@ -1628,7 +1628,7 @@ u-boot-with-nand-spl.sfp: u-boot-spl-padx4.sfp u-boot.img FORCE endif
ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) -u-boot-with-dtb.bin: u-boot.bin u-boot.dtb \ +u-boot-with-dtb.bin: u-boot-nodtb.bin u-boot.dtb \ $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), u-boot-br.bin) FORCE $(call if_changed,binman)
-- 2.20.1
participants (3)
-
Pali Rohár
-
Simon Glass
-
Tom Rini