diff options
author | Pali Rohár <pali@kernel.org> | 2022-08-03 13:24:42 +0200 |
---|---|---|
committer | Marek Behún <kabel@kernel.org> | 2022-09-16 17:39:42 +0200 |
commit | 5af42eafd7e132ba36740e6438ee5e6fac2062ae (patch) | |
tree | 08eaaf58f69eff8302173c35606a77422aadb653 | |
parent | d8fa0a76681af3ecea3941f5c743332dd76c7543 (diff) |
Makefile: Reduce usage of custom mpc85xx u-boot.bin target
Building of final u-boot.bin binary for mpc85xx via binman is needed only
when inserting DTB binary in the middle of the u-boot ELF binary (before
.bootpg and .resetvec ELF sections).
These requirements are met when CONFIG_MPC85XX_HAVE_RESET_VECTOR is enabled
(= generating .bootpg/.resetvec sections) and CONFIG_OF_SEPARATE is enabled
(= inserting DTB binary).
So in all other cases use standard build procedure instead of custom
mpc85xx u-boot.bin Makefile target via binman.
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | arch/powerpc/Kconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/dts/u-boot.dtsi | 8 |
3 files changed, 9 insertions, 12 deletions
@@ -1213,12 +1213,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) +ifneq ($(CONFIG_MPC85XX_HAVE_RESET_VECTOR)$(CONFIG_OF_SEPARATE),yy) u-boot.bin: u-boot-dtb.bin FORCE $(call if_changed,copy) endif -else ifneq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy) +else ifneq ($(CONFIG_MPC85XX_HAVE_RESET_VECTOR)$(CONFIG_OF_SEPARATE),yy) u-boot.bin: u-boot-nodtb.bin FORCE $(call if_changed,copy) endif @@ -1598,17 +1598,14 @@ 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.bin: u-boot-nodtb.bin u-boot.dtb \ - $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), u-boot-br.bin) FORCE +ifeq ($(CONFIG_MPC85XX_HAVE_RESET_VECTOR)$(CONFIG_OF_SEPARATE),yy) +u-boot.bin: u-boot-nodtb.bin u-boot.dtb u-boot-br.bin FORCE $(call if_changed,binman) -ifeq ($(CONFIG_MPC85XX_HAVE_RESET_VECTOR),y) OBJCOPYFLAGS_u-boot-br.bin := -O binary -j .bootpg -j .resetvec u-boot-br.bin: u-boot FORCE $(call if_changed,objcopy) endif -endif quiet_cmd_ldr = LD $@ cmd_ldr = $(LD) $(LDFLAGS_$(@F)) \ diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 2cb5dae736..3b518c2695 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -21,7 +21,7 @@ config MPC85xx select SYS_FSL_DDR select SYS_FSL_DDR_BE select SYS_FSL_IFC_BE - select BINMAN if OF_SEPARATE + select BINMAN if MPC85XX_HAVE_RESET_VECTOR && OF_SEPARATE imply CMD_HASH imply CMD_IRQ imply USB_EHCI_HCD if USB diff --git a/arch/powerpc/dts/u-boot.dtsi b/arch/powerpc/dts/u-boot.dtsi index 0251afddca..6588bb7fa5 100644 --- a/arch/powerpc/dts/u-boot.dtsi +++ b/arch/powerpc/dts/u-boot.dtsi @@ -5,6 +5,8 @@ #include <config.h> +#if defined(CONFIG_MPC85XX_HAVE_RESET_VECTOR) && defined(CONFIG_OF_SEPARATE) + / { binman { filename = "u-boot.bin"; @@ -19,17 +21,15 @@ }; u-boot-dtb-with-ucode { -#ifdef CONFIG_MPC85xx align = <4>; -#endif }; -#ifdef CONFIG_MPC85XX_HAVE_RESET_VECTOR #ifndef CONFIG_RESET_VECTOR_ADDRESS #define CONFIG_RESET_VECTOR_ADDRESS 0xfffffffc #endif powerpc-mpc85xx-bootpg-resetvec { offset = <(CONFIG_RESET_VECTOR_ADDRESS - 0xffc)>; }; -#endif }; }; + +#endif |