diff --git a/buildroot b/buildroot
index 1455c21..047bf10 160000
--- a/buildroot
+++ b/buildroot
@@ -1 +1 @@
-Subproject commit 1455c21047b8c17372fa19d237ba5a28df9976d5
+Subproject commit 047bf10f5e0f2fe9115b911d448e8e0c955c0362
diff --git a/openpower/package/habanero-xml/habanero-xml.mk b/openpower/package/habanero-xml/habanero-xml.mk
index 7c7c8ae..a028a2b 100644
--- a/openpower/package/habanero-xml/habanero-xml.mk
+++ b/openpower/package/habanero-xml/habanero-xml.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-HABANERO_XML_VERSION ?= e33dbb614962b487417cadc9187582af2be7d262
+HABANERO_XML_VERSION ?= 502536fa76d6d73a9001d1a329a137f4668db4e8
 HABANERO_XML_SITE ?= $(call github,open-power,habanero-xml,$(HABANERO_XML_VERSION))
 
 HABANERO_XML_LICENSE = Apache-2.0
diff --git a/openpower/package/hostboot/hostboot-0001-Revert-Base-devtree-model-on-vpd.patch b/openpower/package/hostboot/hostboot-0001-Revert-Base-devtree-model-on-vpd.patch
index df8151c..efa81c3 100644
--- a/openpower/package/hostboot/hostboot-0001-Revert-Base-devtree-model-on-vpd.patch
+++ b/openpower/package/hostboot/hostboot-0001-Revert-Base-devtree-model-on-vpd.patch
@@ -1,29 +1,66 @@
-From 61bc4c7ce14309165023389ba859163c1664b292 Mon Sep 17 00:00:00 2001
-From: Andrew Geissler <andrewg@us.ibm.com>
-Date: Sun, 14 Dec 2014 18:42:00 -0600
-Subject: [PATCH] Revert "Base devtree model on vpd"
+From 9d1ec4127e24aeb3c57895731acf71a160b3b193 Mon Sep 17 00:00:00 2001
+From: Bill Hoffa <wghoffa@us.ibm.com>
+Date: Wed, 28 Jan 2015 11:20:18 -0600
+Subject: [PATCH 1/2] New PCIE Patch
 
-This reverts commit 212a11e8f24dae439cf9189762546079bbf40fb1.
+Change-Id: Ib601d7a92935670582b9cc1fd8fcd61b68159542
 ---
- src/usr/devtree/bld_devtree.C | 55 ++-----------------------------------------
- 1 file changed, 2 insertions(+), 53 deletions(-)
+ src/usr/targeting/common/genHwsvMrwXml.pl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
+index 9c93205..f5c33e0 100755
+--- a/src/usr/targeting/common/genHwsvMrwXml.pl
++++ b/src/usr/targeting/common/genHwsvMrwXml.pl
+@@ -3049,7 +3049,7 @@ sub generate_proc
+             $pcie_list{$ipath}{0}{0}{'lane-mask'},
+             $pcie_list{$ipath}{0}{1}{'lane-mask'},
+             $pcie_list{$ipath}{1}{0}{'lane-mask'},
+-            $pcie_list{$ipath}{1}{1}{'lane-mask'}
++            0x0FF
+         </default>
+     </attribute>
+     <attribute>
+-- 
+1.8.2.2
+
+
+From 25148d8c9f85273ee851df99d00782ef8ad7e3de Mon Sep 17 00:00:00 2001
+From: Bill Hoffa <wghoffa@us.ibm.com>
+Date: Thu, 29 Jan 2015 16:28:55 -0600
+Subject: [PATCH 2/2] Temporary Patch to fix Opal Devtree Issue
+
+Change-Id: Ie6aecc4a9b957dfd665f5bda1bb4a72728fba40b
+---
+ src/usr/devtree/bld_devtree.C | 64 +++----------------------------------------
+ 1 file changed, 4 insertions(+), 60 deletions(-)
 
 diff --git a/src/usr/devtree/bld_devtree.C b/src/usr/devtree/bld_devtree.C
-index ca6d6d2..b28033b 100644
+index 07ec253..abe8496 100644
 --- a/src/usr/devtree/bld_devtree.C
 +++ b/src/usr/devtree/bld_devtree.C
-@@ -44,9 +44,6 @@
- #include <vfs/vfs.H>
- #include <fsi/fsiif.H>
- #include <config.h>
--#include <devicefw/userif.H>
--#include <vpd/cvpdenums.H>
--
+@@ -585,6 +585,7 @@ void load_hbrt_image(uint64_t& io_address)
+     }
+ }
  
- trace_desc_t *g_trac_devtree = NULL;
- TRAC_INIT(&g_trac_devtree, "DEVTREE", 4096);
-@@ -606,56 +603,8 @@ errlHndl_t bld_fdt_system(devTree * i_dt, bool i_smallTree)
-         i_dt->addPropertyString(rootNode, "compatible", "ibm,powernv");
++
+ errlHndl_t bld_fdt_system(devTree * i_dt, bool i_smallTree)
+ {
+     errlHndl_t errhdl = NULL;
+@@ -601,75 +602,18 @@ errlHndl_t bld_fdt_system(devTree * i_dt, bool i_smallTree)
+     // Nothing to do for small trees currently.
+     if (!i_smallTree)
+     {
+-        /* Fetch the MRW-defined compatible model from attributes */
+-        ATTR_OPAL_MODEL_type l_model = {0};
+-        TARGETING::Target* sys = NULL;
+-        TARGETING::targetService().getTopLevelTarget(sys);
+-        sys->tryGetAttr<TARGETING::ATTR_OPAL_MODEL>(l_model);
+ 
+         /* Add compatibility node */
+-        const char* l_compats[] = { "ibm,powernv", l_model, NULL };
+-        i_dt->addPropertyStrings(rootNode, "compatible", l_compats);
++        i_dt->addPropertyString(rootNode, "compatible", "ibm,powernv");
  
          /* Add system model node */
 -        // Based off of the DR field in the OPFR
@@ -49,6 +86,8 @@
 -            {
 -                TRACFCOMP(g_trac_devtree,ERR_MRK" Couldn't get DR size for HUID=0x%.8X",
 -                          TARGETING::get_huid(l_pMem));
+-                i_dt->addPropertyString(rootNode, "model", "unknown");
+-                errlCommit(errhdl, DEVTREE_COMP_ID);
 -            }
 -            else
 -            {
@@ -81,6 +120,12 @@
      }
  
      return errhdl;
+ }
+ 
+-
+ errlHndl_t bld_fdt_cpu(devTree * i_dt,
+                        std::vector<uint64_t>& o_homerRegions,
+                        bool i_smallTree)
 -- 
 1.8.2.2
 
diff --git a/openpower/package/hostboot/hostboot-0002-Changes-for-Habanero-bringup-uart-delay-and-centaur.patch b/openpower/package/hostboot/hostboot-0002-Changes-for-Habanero-bringup-uart-delay-and-centaur.patch
index 8a7d93c..74cb584 100644
--- a/openpower/package/hostboot/hostboot-0002-Changes-for-Habanero-bringup-uart-delay-and-centaur.patch
+++ b/openpower/package/hostboot/hostboot-0002-Changes-for-Habanero-bringup-uart-delay-and-centaur.patch
@@ -22,43 +22,6 @@
  
                  uint8_t data = 0;
                  uint64_t loops = 0;
-diff --git a/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C b/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C
-index 5286d26..9642a36 100644
---- a/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C
-+++ b/src/usr/hwpf/hwp/dram_training/palmetto_vddr.C
-@@ -88,19 +88,27 @@ static errlHndl_t for_each_centaur(errlHndl_t (*func)(Target *))
- 
-     errlHndl_t l_err = NULL;
- 
--    for (TargetHandleList::iterator
--            l_membuf_iter = l_membufTargetList.begin();
--            l_membuf_iter != l_membufTargetList.end();
--            ++l_membuf_iter)
-+    for (TargetHandleList::iterator l_membuf_iter = l_membufTargetList.begin();
-+         l_membuf_iter != l_membufTargetList.end();
-+         ++l_membuf_iter)
-     {
-         Target* l_pCentaur = *l_membuf_iter;
- 
--        l_err = (*func)(l_pCentaur);
-+        TRACFCOMP(g_trac_vddr, "Performing VDDR for %x", l_pCentaur->getAttr<ATTR_HUID>());
-+        if (2 == l_pCentaur->getAttr<ATTR_FSI_MASTER_PORT>())
-+        {
-+            l_err = (*func)(l_pCentaur);
-+        }
-+        else
-+        {
-+            TRACFCOMP(g_trac_vddr, "Skipped VDDR");
-+        }
- 
-         if( l_err )
-         {
-             break;
-         }
-+        TRACFCOMP(g_trac_vddr, "No error in VDDR.");
-     }
- 
-     return l_err;
 -- 
 1.9.1
 
diff --git a/openpower/package/hostboot/hostboot-0003-Temporary-Patch-to-fix-PCIE-issues-for-Open-Power-sy.patch b/openpower/package/hostboot/hostboot-0003-Temporary-Patch-to-fix-PCIE-issues-for-Open-Power-sy.patch
index 7237c7e..b6f14c6 100755
--- a/openpower/package/hostboot/hostboot-0003-Temporary-Patch-to-fix-PCIE-issues-for-Open-Power-sy.patch
+++ b/openpower/package/hostboot/hostboot-0003-Temporary-Patch-to-fix-PCIE-issues-for-Open-Power-sy.patch
@@ -1,17 +1,18 @@
-From 2de1849ea6850ad5849e770a9e8ee5bd2f8fdfec Mon Sep 17 00:00:00 2001
-From: Andrew Geissler <andrewg@us.ibm.com>
-Date: Sun, 14 Dec 2014 23:10:18 -0600
-Subject: [PATCH] Temporary Patch to fix PCIE issues for Open Power systems
+From 9d1ec4127e24aeb3c57895731acf71a160b3b193 Mon Sep 17 00:00:00 2001
+From: Bill Hoffa <wghoffa@us.ibm.com>
+Date: Wed, 28 Jan 2015 11:20:18 -0600
+Subject: [PATCH] New PCIE Patch
 
+Change-Id: Ib601d7a92935670582b9cc1fd8fcd61b68159542
 ---
  src/usr/targeting/common/genHwsvMrwXml.pl | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
-index a6ebb2f..a2c243a 100755
+index 9c93205..f5c33e0 100755
 --- a/src/usr/targeting/common/genHwsvMrwXml.pl
 +++ b/src/usr/targeting/common/genHwsvMrwXml.pl
-@@ -2956,7 +2956,7 @@ sub generate_proc
+@@ -3049,7 +3049,7 @@ sub generate_proc
              $pcie_list{$ipath}{0}{0}{'lane-mask'},
              $pcie_list{$ipath}{0}{1}{'lane-mask'},
              $pcie_list{$ipath}{1}{0}{'lane-mask'},
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index 194d656..7b44b2b 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-HOSTBOOT_VERSION ?= c9613b312be0600491ffb367aa71a97cb0216949
+HOSTBOOT_VERSION ?= f51150123d9a0fe86c63d9681dc819cb97db7c1d
 HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
 
 HOSTBOOT_LICENSE = Apache-2.0
diff --git a/openpower/package/occ/occ.mk b/openpower/package/occ/occ.mk
index 38fab52..728a941 100644
--- a/openpower/package/occ/occ.mk
+++ b/openpower/package/occ/occ.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-OCC_VERSION ?= 7d74758c1ccb09a86510821cf8f6ed94a17c4ec3
+OCC_VERSION ?= 0a19fa3049ce60d8d9f5905cd05c1018cbdfb253
 OCC_SITE ?= $(call github,open-power,occ,$(OCC_VERSION))
 OCC_LICENSE = Apache-2.0
 OCC_DEPENDENCIES = host-binutils host-p8-pore-binutils
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index d3dd798..63dc69a 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -8,7 +8,7 @@
 # make doesn't care for quotes in the dependencies.
 XML_PACKAGE=$(subst $\",,$(BR2_OPENPOWER_XML_PACKAGE))
 
-OPENPOWER_PNOR_VERSION ?= 838d5ade26d7747e2863758f289aaa4f56adc2b7
+OPENPOWER_PNOR_VERSION ?= f2dd4340228d1287a2622faffdfecebce9a321dd
 OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
 
 OPENPOWER_PNOR_LICENSE = Apache-2.0
diff --git a/openpower/package/palmetto-xml/palmetto-xml.mk b/openpower/package/palmetto-xml/palmetto-xml.mk
index f1b4d7e..af0b8b8 100644
--- a/openpower/package/palmetto-xml/palmetto-xml.mk
+++ b/openpower/package/palmetto-xml/palmetto-xml.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PALMETTO_XML_VERSION = f346cbc0e7837ff560ed5fd3197e5c887ac3f564
+PALMETTO_XML_VERSION = 227fdb14b0f03a422964ddc19563fdfd3a38e909
 PALMETTO_XML_SITE = $(call github,open-power,palmetto-xml,$(PALMETTO_XML_VERSION))
 
 PALMETTO_XML_LICENSE = Apache-2.0
