--- /dev/null
+From f2e796c903b2a3f81dbd38da3dc087cb7539d307 Mon Sep 17 00:00:00 2001
+From: Zhenhua Luo <zhenhua.luo@freescale.com>
+Date: Wed, 3 Sep 2014 03:03:42 -0500
+Subject: [PATCH] Makefile: make BOARDS/DESTDIR overidable and add endian
+ switch
+
+1. For one specific board, no need to build the rcw for all supported
+   targets, make BOARDS and DESTDIR overridable to achieve this.
+2. Add the endian swap for qspiboot rcw
+
+Upstream-Status: Pending
+
+Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
+---
+ Makefile     |    4 ++--
+ Makefile.inc |    9 +++++++--
+ 2 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 6ec1697..0f94293 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+-DESTDIR = .
+-BOARDS = b4420qds b4860qds \
++DESTDIR ?= .
++BOARDS ?= b4420qds b4860qds \
+        ls1021aqds ls1021atwr \
+        p2041rdb p3041ds p4080ds p5020ds p5040ds \
+        t1024qds t1023rdb t1024rdb t1040rdb t1042rdb t1042rdb_pi t1040qds \
+diff --git a/Makefile.inc b/Makefile.inc
+index 4cadb2e..6e8b78f 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -1,4 +1,4 @@
+-DESTDIR = .
++DESTDIR ?= .
+ INSTALL = install
+ PYTHON ?= python2
+ RCW = $(PYTHON) ../rcw.py
+@@ -18,7 +18,12 @@ all: $(targets)
+ install: $(targets)
+       $(INSTALL) -d $(DESTDIR)
+       @for file in $^; do \
+-              $(INSTALL) -m 644 -D $$file $(DESTDIR)/$$file; \
++              case $$file in \
++                      *qspiboot*) file_swap="`echo $$file | sed -e 's/qspiboot/qspiboot_swap/'`"; \
++                                              tclsh byte_swap.tcl $$file $$file_swap 8 ; \
++                                              $(INSTALL) -m 644 -D $$file_swap $(DESTDIR)/$$file_swap ;; \
++                      *) $(INSTALL) -m 644 -D $$file $(DESTDIR)/$$file; \
++        esac \
+       done
+       $(INSTALL) -m 644 -D README $(DESTDIR)
+ 
+-- 
+1.7.9.7
+
 
-DESCRIPTION = "Reset Control Words (RCW)"
-SECTION = "rcw"
+SUMMARY = "Reset Configuration Word"
+DESCRIPTION = "Reset Configuration Word - hardware boot-time parameters for the QorIQ targets"
 LICENSE = "BSD"
 PR = "r8"
 
 LIC_FILES_CHKSUM = "file://rcw.py;beginline=8;endline=28;md5=9ba0b28922dd187b06b6c8ebcfdd208e"
 
-# this package is specific to the machine itself
-INHIBIT_DEFAULT_DEPS = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
 inherit deploy
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/rcw.git;nobranch=1"
-SRCREV = "3e89f378ed70e9b856756de8c3dbdfccb045fa0c"
+SRCBRANCH = "master"
+SRCREV = "426f7a6535d93dac76f5125035e0938a85e778d2"
+SRC_URI = "git://git.freescale.com/ppc/sdk/rcw.git;branch=${SRCBRANCH} \
+    file://rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch \
+"
 
 S = "${WORKDIR}/git"
 
-export PYTHON
+EXTRA_OEMAKE = "BOARDS=${@d.getVar('MACHINE', True).replace('-64b','')} DESTDIR=${D}/boot/rcw/"
 
 do_install () {
-    make install
-
-    M=`echo ${MACHINE} | sed s/-64b//g`
-    if [ "t1042rdb" = "${M}" ] || [ "t1042rdb-pi" = "${M}" ];then
-        M=t1042rdb_pi
-    fi
-    install -d ${D}/boot/rcw
-    cp -r ${S}/${M}/${M}/* ${D}/boot/rcw
+    oe_runmake install
 }
 
 do_deploy () {
-    M=`echo ${MACHINE} | sed s/-64b//g`
-    if [ "t1042rdb" = "${M}" ] || [ "t1042rdb-pi" = "${M}" ];then
-        M=t1042rdb_pi
-    fi
     install -d ${DEPLOYDIR}/rcw
-    cp -r ${S}/${M}/${M}/* ${DEPLOYDIR}/rcw
+    cp -r ${D}/boot/rcw/* ${DEPLOYDIR}/rcw/
 }
 addtask deploy after do_install
 
 PACKAGES += "${PN}-image"
 FILES_${PN}-image += "/boot"
 
-COMPATIBLE_HOST_qoriq-ppc = ".*"
-COMPATIBLE_HOST ?= "(none)"
 ALLOW_EMPTY_${PN} = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(qoriq-ppc)"