All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jagdish Gediya <jagdish.gediya@nxp.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot
Date: Mon,  3 Sep 2018 21:35:10 +0530	[thread overview]
Message-ID: <1535990712-8359-7-git-send-email-jagdish.gediya@nxp.com> (raw)
In-Reply-To: <1535990712-8359-1-git-send-email-jagdish.gediya@nxp.com>

Below is the sequence to embed dtb inside 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 has resetvec section. Step 1 and step 3 described above are
required only if this config is y.

Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com>
---
Changes for v2:
	- Don't change the generic target
	- Add new config option to use binman

Changes for v3:
	- Commit message change('u-boot' -> 'U-Boot')

 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)
+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"
+	depends on MPC85xx
+
 config BOOKE
 	bool
 	default y
-- 
2.7.4

  parent reply	other threads:[~2018-09-03 16:05 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-03 16:05 [U-Boot] [PATCH v3 0/8] Device tree support for PowerPC in U-Boot Jagdish Gediya
2018-09-03 16:05 ` [U-Boot] [PATCH v3 1/8] powerpc/dts: Define '_end' symbol in mpc85xx U-Boot lds files Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-17  5:58   ` Bin Meng
2018-09-28 15:50   ` York Sun
2018-09-03 16:05 ` [U-Boot] [PATCH v3 2/8] powerpc/dts: Makefile changes to clean and build dts Jagdish Gediya
2018-09-03 16:05 ` [U-Boot] [PATCH v3 3/8] binman: Add a new "skip-at-start" property in Section class Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-03 16:05 ` [U-Boot] [PATCH v3 4/8] binman: Add support for PowerPC mpc85xx 'bootpg + resetvec' entry Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-17  5:58   ` Bin Meng
2018-09-03 16:05 ` [U-Boot] [PATCH v3 5/8] powerpc: mpc85xx: Select BINMAN by default Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-03 16:05 ` Jagdish Gediya [this message]
2018-09-14 10:53   ` [U-Boot] [PATCH v3 6/8] powerpc: mpc85xx: Use binman to embed dtb inside U-Boot Simon Glass
2018-09-25 18:48   ` York Sun
2018-09-26 10:17     ` Jagdish Gediya
2018-09-26 18:11       ` York Sun
2018-09-03 16:05 ` [U-Boot] [PATCH v3 7/8] powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boards Jagdish Gediya
2018-09-14 10:53   ` Simon Glass
2018-09-03 16:05 ` [U-Boot] [PATCH v3 8/8] powerpc: dts: Enable device tree support for T2080QDS Jagdish Gediya
2018-09-14 10:53   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1535990712-8359-7-git-send-email-jagdish.gediya@nxp.com \
    --to=jagdish.gediya@nxp.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.