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
 
