diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index 752f278..9c94c21 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= 695bd891343faf1f0ef85fe53148590e58239efd
-HOSTBOOT_VERSION_BRANCH_MASTER ?= f0e3f6dfcbec36f0fdf631172f973209ff645bc1
+HOSTBOOT_VERSION_BRANCH_MASTER ?= d0a8f18502ab3d62238aa4945068cd7c79d75ebc
 
 HOSTBOOT_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(HOSTBOOT_VERSION_BRANCH_MASTER),$(HOSTBOOT_VERSION_BRANCH_MASTER_P8))
 HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
diff --git a/openpower/package/hostboot/p9Patches/hostboot-1000-PM-HOMER-Header-Magic-word-change.patch b/openpower/package/hostboot/p9Patches/hostboot-1001-PM-HOMER-Header-Magic-word-change.patch
similarity index 94%
rename from openpower/package/hostboot/p9Patches/hostboot-1000-PM-HOMER-Header-Magic-word-change.patch
rename to openpower/package/hostboot/p9Patches/hostboot-1001-PM-HOMER-Header-Magic-word-change.patch
index 62ec5dd..49e1de3 100644
--- a/openpower/package/hostboot/p9Patches/hostboot-1000-PM-HOMER-Header-Magic-word-change.patch
+++ b/openpower/package/hostboot/p9Patches/hostboot-1001-PM-HOMER-Header-Magic-word-change.patch
@@ -1,7 +1,7 @@
-From 42d09998528d8175867eccb7ed58d91b990a5b13 Mon Sep 17 00:00:00 2001
+From 6707528059ba2b13b6ab78c1ed12d99ecd3fa69c Mon Sep 17 00:00:00 2001
 From: Prem Shanker Jha <premjha2@in.ibm.com>
 Date: Fri, 23 Jun 2017 10:42:53 -0500
-Subject: [PATCH v1 1000/1002] PM: HOMER Header Magic word change.
+Subject: [PATCH v1 1001/1002] PM: HOMER Header Magic word change.
 
 Commit restores the magic words of CPMR, QPMR and PPMR region to
 CPMR_1.0, QPMR_1.0 and PPMR_1.0 respectively. It dissociates it
@@ -19,7 +19,7 @@
  1 file changed, 14 insertions(+), 18 deletions(-)
 
 diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C b/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
-index c930d48..e38fed0 100644
+index 8957295..4ddb140 100644
 --- a/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
 +++ b/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
 @@ -134,6 +134,7 @@ enum
@@ -30,7 +30,7 @@
  };
  
  /**
-@@ -3790,34 +3791,29 @@ void customizeMagicWord( Homerlayout_t*     i_pHomer, uint8_t i_ecLevel )
+@@ -3789,34 +3790,29 @@ void customizeMagicWord( Homerlayout_t*     i_pHomer, uint8_t i_ecLevel )
      uint64_t magicWordCustom[MAX_HOMER_HEADER];
      uint64_t * pMagicWord[MAX_HOMER_HEADER];
      pMagicWord[0]   =   &pQpmrHdr->magic_number;
diff --git a/openpower/package/hostboot/p9Patches/hostboot-1001-PM-set-PGPE-and-SGPE-Timer-Select.patch b/openpower/package/hostboot/p9Patches/hostboot-1002-PM-set-PGPE-and-SGPE-Timer-Select.patch
similarity index 65%
rename from openpower/package/hostboot/p9Patches/hostboot-1001-PM-set-PGPE-and-SGPE-Timer-Select.patch
rename to openpower/package/hostboot/p9Patches/hostboot-1002-PM-set-PGPE-and-SGPE-Timer-Select.patch
index bee9678..8cedc71 100644
--- a/openpower/package/hostboot/p9Patches/hostboot-1001-PM-set-PGPE-and-SGPE-Timer-Select.patch
+++ b/openpower/package/hostboot/p9Patches/hostboot-1002-PM-set-PGPE-and-SGPE-Timer-Select.patch
@@ -1,7 +1,7 @@
-From a59b11a11688d5244ff7a79d9fed2a4cfcde6ccf Mon Sep 17 00:00:00 2001
+From 72976d2d7f3a303830a41cf282260be09260bcfc Mon Sep 17 00:00:00 2001
 From: Greg Still <stillgs@us.ibm.com>
 Date: Tue, 27 Jun 2017 09:26:41 -0500
-Subject: [PATCH v1 1001/1002] PM: set PGPE and SGPE Timer Select
+Subject: [PATCH v1 1002/1002] PM: set PGPE and SGPE Timer Select
 
 - Writes fixed values for FIT and watchdog timers on both engines
 - Needed for DD2 as DD1 was done with initfile settings
@@ -14,31 +14,35 @@
 Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
 Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
 Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
+
+Conflicts:
+	src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C
 ---
- src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C | 9 +++++++++
- src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C   | 8 ++++++++
- 2 files changed, 17 insertions(+)
+ src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C | 10 ++++++++++
+ src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C   |  8 ++++++++
+ 2 files changed, 18 insertions(+)
 
 diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C
-index f307d4b..c601f64 100644
+index bdf8f74..1ca2772 100644
 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C
 +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C
-@@ -134,6 +134,15 @@ fapi2::ReturnCode pstate_gpe_init(
-             FAPI_TRY(putScom(i_target, PU_OCB_OCI_OCCFLG_SCOM2, BIT(p9hcd::PGPE_PSTATE_PROTOCOL_AUTO_ACTIVATE)));
-         }
+@@ -113,6 +113,16 @@ fapi2::ReturnCode pstate_gpe_init(
  
-+        // Setup the PGPE Timer Selects
-+        // These hardcoded values are assumed by the PGPE Hcode for setting up
-+        // the FIT and Watchdog values a based on the nest frequency that is
-+        // passed to it via the PGPE header.
-+        l_data64.flush<0>()
-+        .insertFromRight<0, 4>(0x1)    // Watchdog
-+        .insertFromRight<4, 4>(0xA);   // FIT
-+        FAPI_TRY(fapi2::putScom(i_target, PU_GPE2_GPETSEL_SCOM, l_data64));
+     FAPI_TRY(putScom(i_target, PU_OCB_OCI_OCCS2_SCOM, l_occ_scratch2));
+ 
++    // Setup the PGPE Timer Selects
++    // These hardcoded values are assumed by the PGPE Hcode for setting up
++    // the FIT and Watchdog values a based on the nest frequency that is
++    // passed to it via the PGPE header.
++    l_data64.flush<0>()
++      .insertFromRight<0, 4>(0x1)    // Watchdog
++    .insertFromRight<4, 4>(0xA);   // FIT
++    FAPI_TRY(fapi2::putScom(i_target, PU_GPE2_GPETSEL_SCOM, l_data64));
 +
-         // Program XCR to ACTIVATE PGPE
-         // @todo RTC 146665 Operations to PPEs should use a p9ppe namespace
-         FAPI_INF("   Starting the PGPE...");
++
+     // Program XCR to ACTIVATE PGPE
+     // @todo RTC 146665 Operations to PPEs should use a p9ppe namespace
+     FAPI_INF("   Starting the PGPE...");
 diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C
 index 5e05fcb..0829556 100644
 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C
diff --git a/openpower/package/hostboot/p9Patches/hostboot-1002-Temporarily-inhibit-importing-i2c-array-info-into.patch b/openpower/package/hostboot/p9Patches/hostboot-1002-Temporarily-inhibit-importing-i2c-array-info-into.patch
deleted file mode 100644
index 3ebbb46..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-1002-Temporarily-inhibit-importing-i2c-array-info-into.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 573961cfe0eb570d7e0e99616318d39fa04495f0 Mon Sep 17 00:00:00 2001
-From: Nick Bofferding <bofferdn@us.ibm.com>
-Date: Thu, 6 Jul 2017 08:11:40 -0500
-Subject: [PATCH v1 1002/1002] Temporarily inhibit importing i2c array info
- into HDAT
-
-Change-Id: Ibf80dcce5244e6a84c994c06cf78876cbecce962
----
- src/usr/i2c/i2c.C | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/usr/i2c/i2c.C b/src/usr/i2c/i2c.C
-index e969bae..682fd89 100755
---- a/src/usr/i2c/i2c.C
-+++ b/src/usr/i2c/i2c.C
-@@ -3916,7 +3916,9 @@ void getDeviceInfo( TARGETING::Target* i_i2cMaster,
- 
-     } //end of i2cm
- 
--#if CONFIG_INCLUDE_XML_OPENPOWER
-+// @TODO RTC 173541: Re-enable
-+// #if CONFIG_INCLUDE_XML_OPENPOWER
-+#if 0
-     TARGETING::Target * sys = NULL;
-     TARGETING::targetService().getTopLevelTarget(sys);
- 
--- 
-1.8.2.2
-
