[U-Boot] [PATCH v2 6/8] powerpc: mpc85xx: Use binman to embed dtb inside u-boot
Bin Meng
bmeng.cn at gmail.com
Tue Aug 28 09:16:35 UTC 2018
On Tue, Aug 28, 2018 at 11:53 AM Jagdish Gediya <jagdish.gediya at nxp.com> wrote:
>
> Below is the sequence to embed dtb inside u-boot,
nits: U-Boot
> 1. Remove bootpg and resetvec section if needed
> 2. Append dtb
> 3. Append bootpg and resetvec section back if removed in step 1
>
> Above procedure is required only when CONFIG_MPC85xx and
> CONFIG_OF_SEPARATE are defined.
>
> Add new config CONFIG_MPC85XX_HAVE_RESET_VECTOR to indicate that
> image have resetvec section. step 1 and step 3 described above are
have -> has. step 1 -> Step 1
> required only if this config is y.
>
> Signed-off-by: Jagdish Gediya <jagdish.gediya at nxp.com>
> ---
> Changes for v2:
> - Don't change the generic target
> - Add new config option to use binman
>
> Makefile | 23 ++++++++++++++++++++++-
> arch/powerpc/cpu/mpc85xx/Kconfig | 4 ++++
> 2 files changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index b5bf8ab..03baa74 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -861,6 +861,10 @@ ifneq ($(CONFIG_SYS_INIT_SP_BSS_OFFSET),)
> ALL-y += init_sp_bss_offset_check
> endif
>
> +ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy)
> +ALL-y += u-boot-with-dtb.bin
> +endif
> +
> LDFLAGS_u-boot += $(LDFLAGS_FINAL)
>
> # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards.
> @@ -983,7 +987,8 @@ spl/u-boot-spl.srec: spl/u-boot-spl FORCE
> $(call if_changed,objcopy)
>
> OBJCOPYFLAGS_u-boot-nodtb.bin := -O binary \
> - $(if $(CONFIG_X86_16BIT_INIT),-R .start16 -R .resetvec)
> + $(if $(CONFIG_X86_16BIT_INIT),-R .start16 -R .resetvec) \
> + $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR),-R .bootpg -R .resetvec)
>
> binary_size_check: u-boot-nodtb.bin FORCE
> @file_size=$(shell wc -c u-boot-nodtb.bin | awk '{print $$1}') ; \
> @@ -1202,6 +1207,18 @@ u-boot-with-spl.sfp: spl/u-boot-spl.sfp u-boot.img FORCE
> $(call if_changed,socboot)
> endif
>
> +ifeq ($(CONFIG_MPC85xx)$(CONFIG_OF_SEPARATE),yy)
This looks odd. Both CONFIG_OF_SEPARATE and CONFIG_OF_EMBED should be
supported by binman.
> +u-boot-with-dtb.bin: u-boot.bin u-boot.dtb \
> + $(if $(CONFIG_MPC85XX_HAVE_RESET_VECTOR), 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
> +
> # x86 uses a large ROM. We fill it with 0xff, put the 16-bit stuff (including
> # reset vector) at the top, Intel ME descriptor at the bottom, and U-Boot in
> # the middle. This is handled by binman based on an image description in the
> @@ -1296,8 +1313,12 @@ 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/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig
> index 19e8d02..7d139ff 100644
> --- a/arch/powerpc/cpu/mpc85xx/Kconfig
> +++ b/arch/powerpc/cpu/mpc85xx/Kconfig
> @@ -1143,6 +1143,10 @@ config ARCH_T4240
> imply CMD_REGINFO
> imply FSL_SATA
>
> +config MPC85XX_HAVE_RESET_VECTOR
> + bool "Indicate reset vector at CONFIG_RESET_VECTOR_ADDRESS - 0xffc"
I don't think you want people to turn this option on and off, no? You
probably need move the "string" to the help paragraph.
> + depends on MPC85xx
> +
> config BOOKE
> bool
> default y
> --
Regards,
Bin
More information about the U-Boot
mailing list