Update firestone XML and patches needed for Firestone
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
+