diff --git a/openpower/configs/p10ebmc_defconfig b/openpower/configs/p10ebmc_defconfig
index a5d51b5..81fbdd4 100644
--- a/openpower/configs/p10ebmc_defconfig
+++ b/openpower/configs/p10ebmc_defconfig
@@ -72,7 +72,7 @@
 #BR2_EVEREST_XML_CUSTOM_GIT_VALUE="git@github.com:open-power/everest-xml.git"
 #BR2_EVEREST_XML_VERSION="f3461debbbde70d33d5264411ee37abde9be6815"
 BR2_EVEREST_XML_CUSTOM_GIT_VALUE="git@github.ibm.com:openbmc/everest-xml.git"
-BR2_EVEREST_XML_VERSION="5a68371aad43092706be34f4aec063ef177b0288"
+BR2_EVEREST_XML_VERSION="164a47d65eb2428be11df16fcc1d16ce6b83e507"
 BR2_EVEREST_XML_SYSTEM_FILENAME="Everest-MRW_hb.system.xml"
 BR2_EVEREST_XML_TARGETING_FILENAME="Everest-MRW_hb.mrw.xml"
 BR2_PACKAGE_OPENPOWER_PNOR_P10=y
diff --git a/openpower/package/ekb/Config.in b/openpower/package/ekb/Config.in
index a9b93a8..9233677 100644
--- a/openpower/package/ekb/Config.in
+++ b/openpower/package/ekb/Config.in
@@ -30,7 +30,7 @@
 
 config BR2_EKB_VERSION
     string
-    default "a9996cb6861198688010522baed369b0af0e6aca" if BR2_EKB_LATEST_VERSION
+    default "efd3569c4d8c4c545620539edc0515ec68b78f43" if BR2_EKB_LATEST_VERSION
     default BR2_EKB_CUSTOM_VERSION_VALUE if BR2_EKB_CUSTOM_VERSION
 endif
 
diff --git a/openpower/package/hostboot-binaries/Config.in b/openpower/package/hostboot-binaries/Config.in
index dc1d838..3e2cdc8 100644
--- a/openpower/package/hostboot-binaries/Config.in
+++ b/openpower/package/hostboot-binaries/Config.in
@@ -24,7 +24,7 @@
 
 config BR2_HOSTBOOT_BINARIES_VERSION
 	string
-	default "hw030222a.opmst" if BR2_HOSTBOOT_BINARIES_LATEST_VERSION
+	default "hw030322a.opmst10" if BR2_HOSTBOOT_BINARIES_LATEST_VERSION
 	default BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION_VALUE \
 		if BR2_HOSTBOOT_BINARIES_CUSTOM_VERSION
 
diff --git a/openpower/package/hostboot-p10/Config.in b/openpower/package/hostboot-p10/Config.in
index 59f5dcb..67a7d15 100644
--- a/openpower/package/hostboot-p10/Config.in
+++ b/openpower/package/hostboot-p10/Config.in
@@ -25,7 +25,7 @@
 
 config BR2_HOSTBOOT_P10_VERSION
 	string
-	default "8a9a822470fd0177af68bed86607533b8b68968e" if BR2_HOSTBOOT_P10_LATEST_VERSION
+	default "5d404fa2e30ab9d4466bc863010a09d99a31c758" if BR2_HOSTBOOT_P10_LATEST_VERSION
 	default BR2_HOSTBOOT_P10_CUSTOM_VERSION_VALUE \
 		if BR2_HOSTBOOT_P10_CUSTOM_VERSION
 
diff --git a/openpower/package/hostboot-p10/hostboot-p10.mk b/openpower/package/hostboot-p10/hostboot-p10.mk
index 2bbc8ef..35cad03 100644
--- a/openpower/package/hostboot-p10/hostboot-p10.mk
+++ b/openpower/package/hostboot-p10/hostboot-p10.mk
@@ -17,7 +17,9 @@
 HOSTBOOT_P10_ENV_VARS=$(TARGET_MAKE_ENV) PERL_USE_UNSAFE_INC=1 \
     CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hostboot/$(BR2_HOSTBOOT_P10_CONFIG_FILE) \
     OPENPOWER_BUILD=1 CROSS_PREFIX="$(CCACHE) $(TARGET_CROSS)" HOST_PREFIX="" HOST_BINUTILS_DIR=$(HOST_BINUTILS_DIR) \
-    HOSTBOOT_VERSION=`cat $(HOSTBOOT_P10_VERSION_FILE)`
+    HOSTBOOT_VERSION=`cat $(HOSTBOOT_P10_VERSION_FILE)` \
+    HOSTBOOT_FW_VERSION_SHORT=`cat $(HOSTBOOT_P10_FW_VERSION_SHORT_FILE)` \
+    HOSTBOOT_FW_VERSION_LONG=`cat $(HOSTBOOT_P10_FW_VERSION_LONG_FILE)`
 
 FSP_TRACE_IMAGES_DIR = $(STAGING_DIR)/fsp-trace/
 
diff --git a/openpower/package/pdata/Config.in b/openpower/package/pdata/Config.in
index d7e10a6..cab6619 100644
--- a/openpower/package/pdata/Config.in
+++ b/openpower/package/pdata/Config.in
@@ -47,7 +47,7 @@
 
 config BR2_PDATA_VERSION
     string
-    default "dc5f98559081af0ba86e9f42f29f68c3d06bb539" if BR2_PDATA_LATEST_VERSION
+    default "28882b85a6167b9c68778755d061c0db0b19351b" if BR2_PDATA_LATEST_VERSION
     default BR2_PDATA_CUSTOM_VERSION_VALUE if BR2_PDATA_CUSTOM_VERSION
 
 endif
diff --git a/openpower/package/pkg-versions.mk b/openpower/package/pkg-versions.mk
index 032e864..39c608f 100644
--- a/openpower/package/pkg-versions.mk
+++ b/openpower/package/pkg-versions.mk
@@ -10,6 +10,8 @@
 define OPENPOWER_SUBPACKAGE_VERSION
 
 $(2)_VERSION_FILE = $$(OPENPOWER_VERSION_DIR)/$(1).version.txt
+$(2)_FW_VERSION_SHORT_FILE = $$(OPENPOWER_VERSION_DIR)/$(1).fwversion_short.txt
+$(2)_FW_VERSION_LONG_FILE = $$(OPENPOWER_VERSION_DIR)/$(1).fwversion_long.txt
 ALL_SUBPACKAGE_VERSIONS += $$($(2)_VERSION_FILE)
 
 ### Create subpackage patch file
@@ -100,8 +102,48 @@
 	cat $$(OPENPOWER_VERSION_DIR)/$(1).patch.txt >> $$($(2)_VERSION_FILE); fi \
 fi
 
+# Check the package name against HOSTBOOT_P to filter out other
+# packages such as HOSTBOOT_BINARIES, we only want HOSTBOOT_P10, HOSTBOOT_P11, etc.
+# This allows future usage of this logic since the Hostboot repo build process
+# seeds from this output file and does -NOT- know about package names, etc.
+# All Hostboot repo build needs is the git hashes built which are cat'd to the
+# _FW_VERSION_*_FILE
+#
+# If OPBUILD_VERSION is used in the environment then we trim
+# the string since we are limited to 16 chars for the PELs in Hostboot.
+# If OPBUILD_VERSION is empty we run the git commands to get the hashes.
+# Sample OPBUILD_VERSION  OP10-v2.7-10.146 gets trimmed to v2.7-10.146
+# sed 's/[^\-]*-//' up until first dash
+#
+# The *_FW_VERSION_SHORT_FILE is the FW subsystem identifier to aide
+# mapping op-build images to proper build level.  The FW subsystem
+# string is subsequently embedded in the Hostboot images built.
+#
+$(if $(findstring HOSTBOOT_P, $(2)),
+if [ -n "$$(OPBUILD_VERSION)" ]; then \
+	echo -n "$$(OPBUILD_VERSION)" \
+	| sed 's/[^\-]*-//' | xargs echo -n\
+	> $$($(2)_FW_VERSION_SHORT_FILE); \
+else \
+cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; (git describe --always || echo "unknown") \
+	| sed -e 's/\(.*\)-.*/\1/' | xargs echo -n\
+	> $$($(2)_FW_VERSION_SHORT_FILE); \
+fi\)
+
+# Remove with sed any empty line
+# /./ matches any character, including newline
+# ! negates the select, makes the command apply to lines which do -NOT- match selector, i.e. empty lines
+# d deletes the selected lines
+# sed `/./!d'
+$(if $(findstring HOSTBOOT_P, $(2)),
+cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; (git describe --always --long || echo "unknown") \
+	| sed '/./!d' | xargs echo -n\
+	> $$($(2)_FW_VERSION_LONG_FILE); \)
+
 # Add new line to version.txt
 echo "" >> $$($(2)_VERSION_FILE);
+echo "" >> $$($(2)_FW_VERSION_SHORT_FILE);
+echo "" >> $$($(2)_FW_VERSION_LONG_FILE);
 
 endef # $(2)_OPENPOWER_VERSION_FILE
 
@@ -161,6 +203,7 @@
 mkdir -p "$$(OPENPOWER_VERSION_DIR)"
 
 # Add vendor or default open-power
+
 if [ -n "$$(OPBUILD_VENDOR)" ]; then \
 echo -n "$$(OPBUILD_VENDOR)-" > $$($(2)_VERSION_FILE); \
 else \
