diff --git a/openpower/package/firestone-xml/firestone.mk b/openpower/package/firestone-xml/firestone.mk
index aa77e03..600c285 100644
--- a/openpower/package/firestone-xml/firestone.mk
+++ b/openpower/package/firestone-xml/firestone.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FIRESTONE_XML_VERSION ?= 8023db709f2ed5ee4c481fcb7eff68a30248e0ae
+FIRESTONE_XML_VERSION ?= 3383b31643c225f7bcecc8ce08dcbb6803f3e058
 FIRESTONE_XML_SITE ?= $(call github,open-power,firestone-xml,$(FIRESTONE_XML_VERSION))
 
 FIRESTONE_XML_LICENSE = Apache-2.0
diff --git a/openpower/package/hostboot/hostboot-0019-Fix-TX_MSBSWAP-attribute-for-Firestone.patch b/openpower/package/hostboot/hostboot-0019-Fix-TX_MSBSWAP-attribute-for-Firestone.patch
new file mode 100644
index 0000000..fbdfbda
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0019-Fix-TX_MSBSWAP-attribute-for-Firestone.patch
@@ -0,0 +1,102 @@
+From 42ad0709dfe4c053498660fe9bc884126082c2d6 Mon Sep 17 00:00:00 2001
+From: Norman James <njames@us.ibm.com>
+Date: Tue, 17 Mar 2015 23:49:24 -0500
+Subject: [PATCH] Serverwiz2: TX_MSBSWAP and PEER_PATH fix
+
+Change-Id: I733f9c09837482469365b4de533f3560d049d0a6
+---
+ src/usr/targeting/common/Targets.pm    |  7 +++++++
+ src/usr/targeting/common/processMrw.pl | 29 ++++++++++++++++-------------
+ 2 files changed, 23 insertions(+), 13 deletions(-)
+
+diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
+index 29f6bcb..ea5ffde 100644
+--- a/src/usr/targeting/common/Targets.pm
++++ b/src/usr/targeting/common/Targets.pm
+@@ -338,8 +338,15 @@ sub buildHierarchy
+     {
+         foreach my $b (@{ $target_xml->{bus} })
+         {
++            if (ref($b->{dest_path}) eq "HASH") {
++                $b->{dest_path}="";
++            }
++            if (ref($b->{source_path}) eq "HASH") {
++                $b->{source_path}="";
++            }
+             my $source_target =
+               $key . "/" . $b->{source_path} . $b->{source_target};
++
+             my $dest_target = $key . "/" . $b->{dest_path} . $b->{dest_target};
+             my $bus_type    = $b->{bus_type};
+             push(
+diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
+index 691cbcb..7133534 100644
+--- a/src/usr/targeting/common/processMrw.pl
++++ b/src/usr/targeting/common/processMrw.pl
+@@ -667,11 +667,15 @@ sub processAbus
+     my $target    = shift;
+ 
+     my $found_abus = 0;
+-   $targetObj->setAttribute($target, "PEER_PATH","physical:na");
+-   $targetObj->setAttribute($target, "EI_BUS_TX_LANE_INVERT","0");
+-   $targetObj->setAttribute($target, "EI_BUS_TX_MSBSWAP","0");
+-   # $targetObj->setAttribute($target, "PEER_TARGET","");
+-
++    if ($targetObj->isBadAttribute($target, "PEER_PATH"))
++    {
++        $targetObj->setAttribute($target, "PEER_PATH","physical:na");
++    }
++    $targetObj->setAttribute($target, "EI_BUS_TX_LANE_INVERT","0");
++    if ($targetObj->isBadAttribute($target, "EI_BUS_TX_MSBSWAP"))
++    {
++        $targetObj->setAttribute($target, "EI_BUS_TX_MSBSWAP","0");
++    }
+     my $abus_child_conn = $targetObj->getFirstConnectionDestination($target);
+     if ($abus_child_conn ne "")
+     {
+@@ -787,12 +791,12 @@ sub processPcie
+ 
+     #iop_swap{iop}{clk swap}{clk group reversal}
+     $iop_swap{0}{0}{'00'}=$t[0];
+-    $iop_swap{0}{0}{'01'}=$t[1];
+-    $iop_swap{0}{0}{'10'}=$t[2];
++    $iop_swap{0}{0}{'10'}=$t[1];
++    $iop_swap{0}{0}{'01'}=$t[2];
+     $iop_swap{0}{0}{'11'}=$t[3];
+     $iop_swap{0}{1}{'00'}=$t[4];
+-    $iop_swap{0}{1}{'01'}=$t[5];
+-    $iop_swap{0}{1}{'10'}=$t[6];
++    $iop_swap{0}{1}{'10'}=$t[5];
++    $iop_swap{0}{1}{'01'}=$t[6];
+     $iop_swap{0}{1}{'11'}=$t[7];
+ 
+     $iop_swap{1}{0}{'00'}=$t[8];
+@@ -800,8 +804,8 @@ sub processPcie
+     $iop_swap{1}{0}{'10'}=$t[10];
+     $iop_swap{1}{0}{'11'}=$t[11];
+     $iop_swap{1}{1}{'00'}=$t[12];
+-    $iop_swap{1}{1}{'01'}=$t[13];
+-    $iop_swap{1}{1}{'10'}=$t[14];
++    $iop_swap{1}{1}{'10'}=$t[13];
++    $iop_swap{1}{1}{'01'}=$t[14];
+     $iop_swap{1}{1}{'11'}=$t[15];
+ 
+     my @lane_eq;
+@@ -958,13 +962,12 @@ sub processMembufVpdAssociation
+ {
+     my $targetObj = shift;
+     my $target    = shift;
+-
+     my $vpds=$targetObj->findConnections($target,"I2C","VPD");
+     if ($vpds ne "" ) {
+         my $vpd = $vpds->{CONN}->[0];
+-
+         my $membuf_assocs=$targetObj->findConnections($vpd->{DEST_PARENT},
+                           "LOGICAL_ASSOCIATION","MEMBUF");
++
+         if ($membuf_assocs ne "") {
+             foreach my $membuf_assoc (@{$membuf_assocs->{CONN}}) {
+                 my $membuf_target = $membuf_assoc->{DEST_PARENT};
+-- 
+1.8.2.2
+
diff --git a/openpower/package/hostboot/hostboot-0020-Move-slave-sbe-start-before-proc-cen-ref-clk-enable.patch b/openpower/package/hostboot/hostboot-0020-Move-slave-sbe-start-before-proc-cen-ref-clk-enable.patch
new file mode 100644
index 0000000..06e4730
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0020-Move-slave-sbe-start-before-proc-cen-ref-clk-enable.patch
@@ -0,0 +1,60 @@
+From d6882c71233b9c4b2fb801c4f3e588b47c2c73bc Mon Sep 17 00:00:00 2001
+From: Dan Crowell <dcrowell@us.ibm.com>
+Date: Wed, 1 Apr 2015 11:07:42 -0500
+Subject: [PATCH] Move slave sbe start before proc_cen_ref_clk_enable
+
+The proc_cen_ref_clk_enable step contains scoms to the processor
+that do not work if the proc hasn't run through its sbe code yet.
+
+Change-Id: I7665992a01bd66a37cd5e79aa2bb2142a304a8f4
+---
+ src/include/usr/isteps/istep06list.H | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/include/usr/isteps/istep06list.H b/src/include/usr/isteps/istep06list.H
+index 6adb784..6a26b2a 100644
+--- a/src/include/usr/isteps/istep06list.H
++++ b/src/include/usr/isteps/istep06list.H
+@@ -68,12 +68,12 @@ namespace   INITSERVICE
+  *      :   Clear deconfigured states
+  *  06.8    proc_revert_sbe_mcs_setup
+  *      :   Clean up MCS extent regs
+- *  06.9    proc_cen_ref_clk_enable
+- *      :   Setup centaur ref clocks
+- *  06.10    host_slave_sbe_config
++ *  06.10   host_slave_sbe_config
+  *  06.11   host_sbe_start
+  *  06.12   proc_check_slave_sbe_seeprom_complete
+  *        : Check Slave SBE Complete
++ *  06.9    proc_cen_ref_clk_enable
++ *      :   Setup centaur ref clocks
+  *  06.13   proc_xmit_sbe
+  *        : vSBE Init of Slave Chips
+  *
+@@ -127,11 +127,6 @@ const   TaskInfo    g_istep06[]  =   {
+                 { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+         },
+         {
+-                ISTEPNAME(06,09,"proc_cen_ref_clk_enable"),
+-                SLAVE_SBE::call_proc_cen_ref_clk_enable,
+-                { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+-        },
+-        {
+                 ISTEPNAME(06,10,"host_slave_sbe_config"),
+                 SLAVE_SBE::call_host_slave_sbe_config,
+                 { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+@@ -147,6 +142,11 @@ const   TaskInfo    g_istep06[]  =   {
+                 { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, false }
+         },
+         {
++                ISTEPNAME(06,09,"proc_cen_ref_clk_enable"),
++                SLAVE_SBE::call_proc_cen_ref_clk_enable,
++                { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
++        },
++        {
+                 ISTEPNAME(06,13,"proc_xmit_sbe"),
+                 SLAVE_SBE::call_proc_xmit_sbe,
+                 { START_FN, EXT_IMAGE, NORMAL_IPL_OP, false }
+-- 
+1.8.2.2
+
