From f309d05bccefc29977d474df734fecbe311f8f7b Mon Sep 17 00:00:00 2001 From: Rainer Keller Date: Fri, 5 Sep 2014 15:13:47 +0200 Subject: Add b2qt-update-framework Change-Id: Iaefed14f1d2bfecb436c2bfa68c94ffe74672128 Reviewed-by: Samuli Piippo --- conf/distro/include/nitrogen6x.conf | 9 ++++- .../0002-nitrogen6x-update.patch | 29 +++++++------- .../b2qt-update-framework/b2qt-update-framework.bb | 45 ++++++++++++++++++++++ 3 files changed, 69 insertions(+), 14 deletions(-) create mode 100644 recipes/b2qt-update-framework/b2qt-update-framework.bb diff --git a/conf/distro/include/nitrogen6x.conf b/conf/distro/include/nitrogen6x.conf index 982cf8a..56af2f7 100644 --- a/conf/distro/include/nitrogen6x.conf +++ b/conf/distro/include/nitrogen6x.conf @@ -29,8 +29,13 @@ BOOTFS_CONTENT = "\ ${KERNEL_IMAGETYPE}-imx6q-sabrelite.dtb:imx6q-sabrelite.dtb \ 6x_bootscript-${MACHINE}:6x_bootscript \ 6x_upgrade-${MACHINE}:6x_upgrade \ + ${KERNEL_IMAGETYPE}:update/${KERNEL_IMAGETYPE} \ + ${KERNEL_IMAGETYPE}-imx6q-${MACHINE}.dtb:update/imx6q-${MACHINE}.dtb \ + ${KERNEL_IMAGETYPE}-imx6dl-${MACHINE}.dtb:update/imx6dl-${MACHINE}.dtb \ + ${KERNEL_IMAGETYPE}-imx6q-sabrelite.dtb:update/imx6q-sabrelite.dtb \ + update/platform:update/platform \ " -BOOTFS_DEPENDS = "u-boot:do_deploy virtual/kernel:do_deploy u-boot-script-boundary:do_deploy" +BOOTFS_DEPENDS = "u-boot:do_deploy virtual/kernel:do_deploy u-boot-script-boundary:do_deploy b2qt-update-framework:do_deploy" EXTRA_IMAGEDEPENDS += "u-boot-script-boundary" @@ -62,4 +67,6 @@ MACHINE_EXTRA_INSTALL_SDK_HOST = "\ wayland-nativesdk \ " +B2QT_PLATFORM = "iMX6-eLinux" + ADB_PRODUCTID = "0x0d02" diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-boundary/0002-nitrogen6x-update.patch b/meta-fsl-extras/recipes/u-boot/u-boot-script-boundary/0002-nitrogen6x-update.patch index 995e418..dd699d8 100644 --- a/meta-fsl-extras/recipes/u-boot/u-boot-script-boundary/0002-nitrogen6x-update.patch +++ b/meta-fsl-extras/recipes/u-boot/u-boot-script-boundary/0002-nitrogen6x-update.patch @@ -11,9 +11,16 @@ diff --git a/board/boundary/nitrogen6x/6x_bootscript-yocto.txt b/board/boundary/ index 5bc6170..4116ed4 100644 --- a/board/boundary/nitrogen6x/6x_bootscript-yocto.txt +++ b/board/boundary/nitrogen6x/6x_bootscript-yocto.txt -@@ -1,3 +1,64 @@ +@@ -1,3 +1,67 @@ +# Boot2Qt update part begin +echo "Boot to Qt" ++mw.b 0x13000000 0x76 1 # v ++mw.b 0x13000001 0x75 1 # u ++mw.b 0x13000002 0x74 1 # t ++mw.b 0x13000003 0x69 1 # i ++ ++fdtaddr=0x12000000 ++ +if test "x$boot2qt_update_state" = "x" ; then + setenv boot2qt_update_state valid + saveenv @@ -21,10 +28,6 @@ index 5bc6170..4116ed4 100644 + +# This is a workaround because environment partition is read-only. +if fatload mmc 1:1 0x12000000 update/state ; then -+ mw.b 0x13000000 0x76 1 # v -+ mw.b 0x13000001 0x75 1 # u -+ mw.b 0x13000002 0x74 1 # t -+ + if cmp.b 0x12000000 0x13000000 1 ; then + echo "State: Valid" + setenv boot2qt_fat_state valid @@ -49,21 +52,21 @@ index 5bc6170..4116ed4 100644 + + # Guess dtb name + dtbname="imx6"; -+ if itest.s x6S != "x\$cpu" ; then -+ dtbname=\${dtbname}q-; ++ if itest.s x6S != "x$cpu" ; then ++ dtbname=${dtbname}q-; + else -+ dtbname=\${dtbname}s-; ++ dtbname=${dtbname}s-; + fi + -+ if itest.s x == "x\$board" ; then ++ if itest.s x == "x$board" ; then + board=sabrelite + fi -+ dtbname=\${dtbname}\${board}.dtb; ++ dtbname=${dtbname}${board}.dtb; + -+ fatload mmc 1:1 0x10800000 update/uImage -+ fatload mmc 1:1 0x12000000 update/${dtbname} ++ fatload mmc 1:1 ${loadaddr} update/uImage ++ fatload mmc 1:1 ${fdtaddr} update/${dtbname} + fatload mmc 1:1 0x13000000 update/uRamdisk -+ bootm 0x10800000 0x13000000 0x12000000 ++ bootm ${loadaddr} 0x13000000 ${fdtaddr} +fi + +if test "x$boot2qt_fat_state" = "xtesting" || test "x$boot2qt_update_state" = "xtesting"; then diff --git a/recipes/b2qt-update-framework/b2qt-update-framework.bb b/recipes/b2qt-update-framework/b2qt-update-framework.bb new file mode 100644 index 0000000..ceae95a --- /dev/null +++ b/recipes/b2qt-update-framework/b2qt-update-framework.bb @@ -0,0 +1,45 @@ +############################################################################# +## +## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +## +## This file is part of the Qt Enterprise Embedded Scripts of the Qt +## framework. +## +## $QT_BEGIN_LICENSE$ +## Commercial License Usage Only +## Licensees holding valid commercial Qt license agreements with Digia +## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, +## may use this file in accordance with the terms contained in said license +## agreement. +## +## For further information use the contact form at +## http://www.qt.io/contact-us. +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +DESCRIPTION = "Boot to Qt update framework" +HOMEPAGE = "http://www.qt.io" +SECTION = "devel" +LICENSE = "CLOSED" + +PV = "1.0.0" +PR = "r0" +SRCREV = "${PV}" + +inherit deploy + +do_deploy() { + install -d ${DEPLOYDIR}/update/ + echo ${B2QT_PLATFORM} > ${DEPLOYDIR}/update/platform +} + +addtask deploy after do_install before do_build + +do_compile[noexec] = "1" +do_install[noexec] = "1" +do_populate_sysroot[noexec] = "1" + +PACKAGE_ARCH = "${MACHINE_ARCH}" -- cgit v1.2.3-54-g00ecf