diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index 752f278..4d008b1 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 ?= 814c42018faf5626960becf1e089f42127c6bd2d
 
 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-1001-PM-set-PGPE-and-SGPE-Timer-Select.patch
deleted file mode 100644
index bee9678..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-1001-PM-set-PGPE-and-SGPE-Timer-Select.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From a59b11a11688d5244ff7a79d9fed2a4cfcde6ccf 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
-
-- Writes fixed values for FIT and watchdog timers on both engines
-- Needed for DD2 as DD1 was done with initfile settings
-- Will work for either DD level
-
-Change-Id: I8fa0a5a20091016e4210b7c81b0297bded7ade62
-Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42496
-Reviewed-by: RAHUL BATRA <rbatra@us.ibm.com>
-Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
-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>
----
- 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(+)
-
-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
---- 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)));
-         }
- 
-+        // 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...");
-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
-+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C
-@@ -282,6 +282,14 @@ fapi2::ReturnCode p9_pm_stop_gpe_init(
-             }
-         }
- 
-+        // Setup the SGPE Timer Selects
-+        // These hardcoded values are assumed by the SGPE Hcode for setting up
-+        // the FIT and Watchdog values.
-+        l_data64.flush<0>()
-+        .insertFromRight<0, 4>(0x1)     // Watchdog
-+        .insertFromRight<4, 4>(0xA);    // FIT
-+        FAPI_TRY(fapi2::putScom(i_target, PU_GPE3_GPETSEL_SCOM, l_data64));
-+
-         // Boot the STOP GPE
-         FAPI_TRY(stop_gpe_init(i_target), "ERROR: failed to initialize Stop GPE");
- 
--- 
-1.8.2.2
-
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
-
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index 6a76165..cef9abc 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-OPENPOWER_PNOR_VERSION ?= 660174c2c376cec27ab08893a488febb5b058a61
+OPENPOWER_PNOR_VERSION ?= e9e092f5ebf6baa7170b9bb6c5ec681a9f6174e3
 OPENPOWER_PNOR_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_VERSION))
 
 OPENPOWER_PNOR_LICENSE = Apache-2.0
