Patchwork u-boot inc: update inc file for newer u-boot versions

login
register
mail settings
Submitter chase maupin
Date Feb. 6, 2012, 2:16 p.m.
Message ID <1328537818-23228-1-git-send-email-Chase.Maupin@ti.com>
Download mbox | patch
Permalink /patch/20783/
State Accepted
Commit 2965aa2faaccce43f6c3e451c0a2ded3734766e4
Headers show

Comments

chase maupin - Feb. 6, 2012, 2:16 p.m.
* Add support for different suffixes found with later u-boot
  versions which have switched from .bin to .img
* Allow recipes that include u-boot.inc to also package an
  SPL if they build one.
    * Minimum requirement is to set the SPL_BINARY value to add
      the SPL to the u-boot package as well as into the deploy
      directory.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
---
 meta/recipes-bsp/u-boot/u-boot.inc |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)
Saul Wold - Feb. 8, 2012, 4:05 a.m.
On 02/06/2012 06:16 AM, Chase Maupin wrote:
> * Add support for different suffixes found with later u-boot
>    versions which have switched from .bin to .img
> * Allow recipes that include u-boot.inc to also package an
>    SPL if they build one.
>      * Minimum requirement is to set the SPL_BINARY value to add
>        the SPL to the u-boot package as well as into the deploy
>        directory.
>
> Signed-off-by: Chase Maupin<Chase.Maupin@ti.com>
> ---
>   meta/recipes-bsp/u-boot/u-boot.inc |   35 +++++++++++++++++++++++++++++++----
>   1 files changed, 31 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
> index 4180345..700d5d3 100644
> --- a/meta/recipes-bsp/u-boot/u-boot.inc
> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> @@ -19,11 +19,22 @@ python () {
>   		raise bb.parse.SkipPackage("because UBOOT_MACHINE is not set")
>   }
>
> -UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
> -UBOOT_BINARY ?= "u-boot.bin"
> -UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
> +# Some versions of u-boot use .bin and others use .img.  By default use .bin
> +# but enable individual recipes to change this value.
> +UBOOT_SUFFIX ?= "bin"
> +UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
> +UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
> +UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
>   UBOOT_MAKE_TARGET ?= "all"
>
> +# Some versions of u-boot build an SPL (Second Program Loader) image that
> +# should be packaged along with the u-boot binary as well as placed in the
> +# deploy directory.  For those versions they can set the following variables
> +# to allow packaging the SPL.
> +SPL_BINARY ?= ""
> +SPL_IMAGE ?= "${SPL_BINARY}-${PV}-${PR}"
> +SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
> +
>   do_compile () {
>   	unset LDFLAGS
>   	unset CFLAGS
> @@ -36,15 +47,31 @@ do_install () {
>       install -d ${D}/boot
>       install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
>       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
> +
> +    if [ "x${SPL_BINARY}" != "x" ]
> +    then
> +        install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
> +        ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
> +    fi
>   }
>
>   FILES_${PN} = "/boot"
>
>   do_deploy () {
> -	install ${S}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE}
> +    install -d ${DEPLOYDIR}
> +	install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
>
>   	cd ${DEPLOYDIR}
>   	rm -f ${UBOOT_SYMLINK}
>   	ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
> +
> +    if [ "x${SPL_BINARY}" != "x" ]
> +    then
> +        install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
> +        rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}
> +        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
> +        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
> +    fi
>   }
> +
>   addtask deploy before do_build after do_compile


Merged into OE-core

Thanks
	Sau!

Patch

diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 4180345..700d5d3 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -19,11 +19,22 @@  python () {
 		raise bb.parse.SkipPackage("because UBOOT_MACHINE is not set")
 }
 
-UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
-UBOOT_BINARY ?= "u-boot.bin"
-UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
+# Some versions of u-boot use .bin and others use .img.  By default use .bin
+# but enable individual recipes to change this value.
+UBOOT_SUFFIX ?= "bin"
+UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
+UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
+UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
 UBOOT_MAKE_TARGET ?= "all"
 
+# Some versions of u-boot build an SPL (Second Program Loader) image that
+# should be packaged along with the u-boot binary as well as placed in the
+# deploy directory.  For those versions they can set the following variables
+# to allow packaging the SPL.
+SPL_BINARY ?= ""
+SPL_IMAGE ?= "${SPL_BINARY}-${PV}-${PR}"
+SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
+
 do_compile () {
 	unset LDFLAGS
 	unset CFLAGS
@@ -36,15 +47,31 @@  do_install () {
     install -d ${D}/boot
     install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
     ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
+
+    if [ "x${SPL_BINARY}" != "x" ]
+    then
+        install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
+        ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
+    fi
 }
 
 FILES_${PN} = "/boot"
 
 do_deploy () {
-	install ${S}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE}
+    install -d ${DEPLOYDIR}
+	install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
 
 	cd ${DEPLOYDIR}
 	rm -f ${UBOOT_SYMLINK}
 	ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
+
+    if [ "x${SPL_BINARY}" != "x" ]
+    then
+        install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
+        rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}
+        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
+        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
+    fi
 }
+
 addtask deploy before do_build after do_compile