diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index f344875..b449eca 100755
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -6,7 +6,10 @@
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-mrw/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/common-p8-xml/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/machine-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/rainier-2u-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/rainier-4u-xml/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/openpower-pnor-p10/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/petitboot/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/p8-pore-binutils/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/hcode/Config.in"
diff --git a/openpower/package/hcode-p10/hcode-p10.mk b/openpower/package/hcode-p10/hcode-p10.mk
index b7a9101..016202a 100644
--- a/openpower/package/hcode-p10/hcode-p10.mk
+++ b/openpower/package/hcode-p10/hcode-p10.mk
@@ -28,13 +28,19 @@
 ###################################
 # P10 Compilation
 
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+BINARY_IONV_FILENAME=$(BR2_HOSTBOOT_P10_BINARY_IONV_FILENAME)
+else
+BINARY_IONV_FILENAME=$(BR2_HOSTBOOT_BINARY_IONV_FILENAME)
+endif
+
 HCODE_P10_ENV_VARS= CONFIG_FILE=$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/hcode/$(BR2_HCODE_CONFIG_FILE) \
 	LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib \
 	CROSS_COMPILER_PATH=$(PPE42_GCC_BIN) PPE_TOOL_PATH=$(CROSS_COMPILER_PATH) \
 	PPE_PREFIX=$(CROSS_COMPILER_PATH)/bin/powerpc-eabi- \
         SELF_REST_PREFIX=$(CROSS_COMPILER_PATH)/bin/powerpc-eabi- \
 	RINGFILEPATH=$(STAGING_DIR)/hostboot_binaries __EKB_PREFIX=$(CXXPATH) \
-	CONFIG_IONV_FILE_LOCATION=$(STAGING_DIR)/hostboot_binaries/$(BR2_HOSTBOOT_BINARY_IONV_FILENAME) \
+	CONFIG_IONV_FILE_LOCATION=$(STAGING_DIR)/hostboot_binaries/$(BINARY_IONV_FILENAME) \
 	CONFIG_INCLUDE_IONV=$(BR2_HCODE_INCLUDE_IONV) OPENPOWER_BUILD=1
 
 define HCODE_P10_INSTALL_IMAGES_CMDS
diff --git a/openpower/package/hostboot-binaries/hostboot_binaries.mk b/openpower/package/hostboot-binaries/hostboot_binaries.mk
index 1f813e0..2fa2d7f 100644
--- a/openpower/package/hostboot-binaries/hostboot_binaries.mk
+++ b/openpower/package/hostboot-binaries/hostboot_binaries.mk
@@ -62,6 +62,14 @@
 # P10:
 ifeq ($(BR2_OPENPOWER_POWER10),y)
 
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+BINARY_IONV_FILENAME=$(BR2_HOSTBOOT_P10_BINARY_IONV_FILENAME)
+BINARY_SBEC_FILENAME=$(BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME)
+else
+BINARY_IONV_FILENAME=$(BR2_HOSTBOOT_BINARY_IONV_FILENAME)
+BINARY_SBEC_FILENAME=$(BR2_HOSTBOOT_BINARY_SBEC_FILENAME)
+endif
+
 P10_RING_DYNAMIC_FILE=p10.hw.dynamic.bin
 P10_RING_OVERLAYS_FILE=p10.hw.overlays.bin
 P10_RING_QME_FILE=p10.hw.qme.rings.bin
@@ -75,8 +83,8 @@
 
 define HOSTBOOT_BINARIES_INSTALL_IMAGES_CMDS
      $(INSTALL) -D $(@D)/gpu_gpe1.bin  $(STAGING_DIR)/hostboot_binaries/gpu_gpe1.bin
-     $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_IONV_FILENAME)  $(STAGING_DIR)/hostboot_binaries/
-     $(INSTALL) -D $(@D)/$(BR2_HOSTBOOT_BINARY_SBEC_FILENAME) $(STAGING_DIR)/hostboot_binaries/
+     $(INSTALL) -D $(@D)/$(BINARY_IONV_FILENAME)  $(STAGING_DIR)/hostboot_binaries/
+     $(INSTALL) -D $(@D)/$(BINARY_SBEC_FILENAME) $(STAGING_DIR)/hostboot_binaries/
      $(INSTALL) -D $(@D)/$(P10_RING_DYNAMIC_FILE)  $(STAGING_DIR)/hostboot_binaries/
      $(INSTALL) -D $(@D)/$(P10_RING_OVERLAYS_FILE)  $(STAGING_DIR)/hostboot_binaries/
      $(INSTALL) -D $(@D)/$(P10_RING_QME_FILE)  $(STAGING_DIR)/hostboot_binaries/
diff --git a/openpower/package/ima-catalog/ima-catalog.mk b/openpower/package/ima-catalog/ima-catalog.mk
index f357960..c93b09d 100644
--- a/openpower/package/ima-catalog/ima-catalog.mk
+++ b/openpower/package/ima-catalog/ima-catalog.mk
@@ -8,6 +8,12 @@
 IMA_CATALOG_LICENSE = Apache-2.0
 IMA_CATALOG_DEPENDENCIES = host-dtc host-xz
 
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+IMA_CATALOG_FILENAME=$(BR2_IMA_CATALOG_P10_FILENAME)
+else
+IMA_CATALOG_FILENAME=$(BR2_IMA_CATALOG_FILENAME)
+endif
+
 IMA_CATALOG_INSTALL_IMAGES = YES
 IMA_CATALOG_INSTALL_TARGET = NO
 
@@ -16,7 +22,7 @@
 endef
 
 define IMA_CATALOG_INSTALL_IMAGES_CMDS
-       $(INSTALL) $(@D)/$(BR2_IMA_CATALOG_FILENAME) $(BINARIES_DIR)
+       $(INSTALL) $(@D)/$(IMA_CATALOG_FILENAME) $(BINARIES_DIR)
 endef
 
 $(eval $(generic-package))
diff --git a/openpower/package/ocmb-explorer-fw/ocmb_explorer_fw.mk b/openpower/package/ocmb-explorer-fw/ocmb_explorer_fw.mk
index 178a3e5..c456b0d 100644
--- a/openpower/package/ocmb-explorer-fw/ocmb_explorer_fw.mk
+++ b/openpower/package/ocmb-explorer-fw/ocmb_explorer_fw.mk
@@ -15,9 +15,15 @@
 OCMB_EXPLORER_FW_INSTALL_IMAGES = YES
 OCMB_EXPLORER_FW_INSTALL_TARGET = NO
 
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+OCMBFW_FILENAME = $(call qstrip,$(BR2_OCMBFW_FILENAME))
+else
+OCMBFW_FILENAME = $(call qstrip,$(BR2_OCMBFW_P10_FILENAME))
+endif
+
 # Commands to extract and install the Open Capi Memory Buffer Firmware (OCMBFW)
 define OCMB_EXPLORER_FW_INSTALL_IMAGES_CMDS
-      $(INSTALL) -D $(@D)/$(call qstrip,$(BR2_OCMBFW_FILENAME)) $(BINARIES_DIR)/
+      $(INSTALL) -D $(@D)/$(OCMBFW_FILENAME) $(BINARIES_DIR)/
 endef
 
 define OCMB_EXPLORER_FW_EXTRACT_CMDS
diff --git a/openpower/package/openpower-pnor-p10/Config.in b/openpower/package/openpower-pnor-p10/Config.in
new file mode 100644
index 0000000..09ad1e9
--- /dev/null
+++ b/openpower/package/openpower-pnor-p10/Config.in
@@ -0,0 +1,120 @@
+config BR2_PACKAGE_OPENPOWER_PNOR_P10
+        bool "openpower_pnor_p10"
+        depends on (!BR2_OPENPOWER_PNOR)
+        select BR2_TARGET_ROOTFS_INITRAMFS
+        select BR2_PACKAGE_HOSTBOOT_P10
+        select BR2_PACKAGE_HOSTBOOT_BINARIES
+        select BR2_PACKAGE_SKIBOOT
+        select BR2_PACKAGE_OPENPOWER_FFS
+        select BR2_PACKAGE_OCC_P10
+        select BR2_PACKAGE_CAPP_UCODE
+        select BR2_PACKAGE_IMA_CATALOG
+        select BR2_PACKAGE_HOST_OPENPOWER_VPNOR
+        select BR2_PACKAGE_RAINIER_2U_XML
+        select BR2_PACKAGE_RAINIER_4U_XML
+        select BR2_PACKAGE_HCODE_P10
+        help
+            Utilites for building a targeting Power10 binary image
+
+menu "OpenPOWER PNOR P10 assembly options"
+
+choice
+    prompt "Secure Boot key transition type"
+    default BR2_OPENPOWER_P10_SECUREBOOT_NO_KEY_TRANSITION
+
+config BR2_OPENPOWER_P10_SECUREBOOT_NO_KEY_TRANSITION
+    bool "None"
+    help
+      Builds a driver that does not transition Secure Boot keys
+
+config BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_DEV
+    bool "Transition existing keys to development keys"
+    help
+      Builds a driver that transitions Secure Boot keys to development keys and
+      powers off the system.  Only usable when system security has been
+      disabled.
+
+config BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_PROD
+    bool "Transition development keys to production keys"
+    help
+      Builds a driver that transitions Secure Boot development keys to
+      vendor supplied production keys and powers off the system.
+
+endchoice
+
+config BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE
+        string "Secureboot signing mode"
+        default "development"
+        help
+            Available options [development | production]
+            Indicates the signing mode when generating the PNOR image.  Only
+            applicable when hostboot is compiled with SECUREBOOT compile flag.
+            Default mode is development.
+
+config BR2_OPENPOWER_P10_PNOR_XML_LAYOUT_FILENAME
+        string "Name of Openpower pnor xml layout file"
+        help
+            String used to define hw specific make config file
+
+config BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET
+        string "Legacy name of P10 PNOR Configuration"
+        help
+            String used to define Legacy configuration name, used for
+            building legacy PNOR-related binaries and intermediate files
+
+config BR2_OPENPOWER_P10_XMLS
+        string "List of machine XMLs to include"
+        default "rainier-2u-xml rainier-4u-xml"
+        help
+            List of machine-xmls to include in the OpenPower PNOR
+
+config BR2_SKIBOOT_P10_LID_NAME
+        string "Name of skiboot lid name to be used"
+        default "skiboot.lid"
+        help
+            String used to define skiboot lid filename
+
+config BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME
+        string "Name of sbe hostboot binary"
+        help
+            String used to define name of sbe hostboot binary file
+
+config BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME
+        string "Name of sbec hostboot binary"
+        help
+            String used to define name of sbec hostboot binary file
+
+config BR2_HOSTBOOT_P10_BINARY_IONV_FILENAME
+        string "Name of IONV binary"
+        default "ionv.bin"
+        help
+            String used to define name of ionv binary file
+
+config BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME
+        string "Name of winkle hostboot binary"
+        help
+            String used to define name of winkle hostboot binary file
+
+config BR2_IMA_CATALOG_P10_FILENAME
+        string "Name of IMA catalog binary"
+        help
+            String used to define name of IMA catalog binary file
+
+config BR2_IMA_CATALOG_P10_ECC_FILENAME
+        string "Name of IMA catalog binary"
+        help
+            String used to define name of IMA catalog binary file, ecc protected
+
+config BR2_OCMBFW_P10_FILENAME
+        string "Name of the OCMBFW Update original file"
+        default "signed_app_fw.mem"
+        help
+            String used to define name of OCBMFW Update original file (before any processing occurs)
+
+config BR2_OCMBFW_P10_PROCESSED_FILENAME
+        string "Name of OCMBFW Update binary processed file"
+        default "ocmbfw.bin.ecc"
+        help
+            String used to define the name of the OCMBFW update binary file after processing, ecc protected
+
+endmenu
diff --git a/openpower/package/openpower-pnor-p10/openpower-pnor-p10.mk b/openpower/package/openpower-pnor-p10/openpower-pnor-p10.mk
new file mode 100644
index 0000000..bae465d
--- /dev/null
+++ b/openpower/package/openpower-pnor-p10/openpower-pnor-p10.mk
@@ -0,0 +1,372 @@
+################################################################################
+#
+# openpower_pnor_p10
+#
+################################################################################
+
+OPENPOWER_PNOR_P10_VERSION ?= aa76df051c5196b311039337e757e0fbe1ae78a9
+
+# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+# after that, when code is propagated to a public repo
+#OPENPOWER_PNOR_P10_SITE ?= $(call github,open-power,pnor,$(OPENPOWER_PNOR_P10_VERSION))
+OPENPOWER_PNOR_P10_SITE = git@github.ibm.com:open-power/pnor.git
+OPENPOWER_PNOR_P10_SITE_METHOD=git
+
+OPENPOWER_PNOR_P10_LICENSE = Apache-2.0
+OPENPOWER_PNOR_P10_LICENSE_FILES = LICENSE
+OPENPOWER_PNOR_P10_DEPENDENCIES = hostboot-binaries skiboot host-openpower-ffs capp-ucode host-openpower-pnor-util linux-rebuild-with-initramfs host-xz host-sb-signing-utils hostboot-p10 occ-p10 sbe-p10 hcode-p10 ocmb-explorer-fw $(call qstrip,$(BR2_OPENPOWER_P10_XMLS))
+
+ifeq ($(BR2_PACKAGE_IMA_CATALOG),y)
+OPENPOWER_PNOR_P10_DEPENDENCIES += ima-catalog
+endif
+
+ifeq ($(BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_DEV),y)
+OPENPOWER_PNOR_P10_KEY_TRANSITION_ARG = -key_transition imprint
+else ifeq ($(BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_PROD),y)
+OPENPOWER_PNOR_P10_KEY_TRANSITION_ARG = -key_transition production
+endif
+
+ifneq ($(BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE),"")
+OPENPOWER_PNOR_P10_SIGN_MODE_ARG = -sign_mode $(BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE)
+endif
+
+OPENPOWER_PNOR_P10_INSTALL_IMAGES = YES
+OPENPOWER_PNOR_P10_INSTALL_TARGET = NO
+
+# Subpackages we want to include in the version info (do not include openpower-pnor-p10)
+# This is used inside pkg-versions.mk
+OPENPOWER_PNOR_P10_VERSIONED_SUBPACKAGES = skiboot linux petitboot hostboot-binaries capp-ucode pdata hostboot-p10 occ-p10 sbe-p10 hcode-p10 ocmb-explorer-fw $(call qstrip,$(BR2_OPENPOWER_P10_XMLS))
+
+OPENPOWER_PNOR_P10_OCMB_URL = $(call qstrip,$(OCMB_EXPLORER_FW_SITE)/$(OCMB_EXPLORER_FW_SOURCE))
+
+#######
+# OPENPOWER_PNOR_P10_UPDATE_IMAGE - process/sign PNOR partitions
+# Arguments:
+#     $1 - The target-specific mrw package name (i.e., rainier-2u-xml)
+#######
+define OPENPOWER_PNOR_P10_UPDATE_IMAGE
+        echo "***Signing images for target:$(call qstrip,$(1))"
+
+        $(eval XML_VAR = $$(call UPPERCASE,$$(call qstrip,$(1))))
+        echo "***XML_VAR: $(XML_VAR)"
+
+        $(eval TARGETING_BINARY_SOURCE = $$(BR2_$(XML_VAR)_TARGETING_BIN_FILENAME))
+        echo "***TARGETING_BINARY_SOURCE: $(TARGETING_BINARY_SOURCE)"
+
+        $(eval TARGETING_BINARY_FILENAME = $$(BR2_$(XML_VAR)_TARGETING_ECC_FILENAME))
+        echo "***TARGETING_BINARY_FILENAME: $(TARGETING_BINARY_FILENAME)"
+
+        $(eval XML_FILENAME = $$(call qstrip,$$(BR2_$(XML_VAR)_FILENAME)))
+        echo "***XML_FILENAME: $(XML_FILENAME)"
+
+        $(eval WOF_BINARY_FILENAME = $$(patsubst %.xml,%.wofdata,$(XML_FILENAME)))
+        echo "***WOF_BINARY_FILENAME: $(WOF_BINARY_FILENAME)"
+
+        $(eval MEMD_BINARY_FILENAME = $$(patsubst %.xml,%.memd_output.dat,$(XML_FILENAME)))
+        echo "***MEMD_BINARY_FILENAME: $(MEMD_BINARY_FILENAME)"
+
+        $(eval DEVTREE_BINARY_FILENAME = $$(patsubst %.xml,%.dtb,$(XML_FILENAME)))
+        echo "***DEVTREE_BINARY_FILENAME: $(DEVTREE_BINARY_FILENAME)"
+
+        $(eval PNOR_SCRATCH_DIR = $(STAGING_DIR)/openpower_pnor_scratch.$(XML_VAR))
+        echo "***PNOR scratch directory: $(PNOR_SCRATCH_DIR)"
+        mkdir -p $(PNOR_SCRATCH_DIR)
+
+
+        $(TARGET_MAKE_ENV) $(@D)/update_image.pl \
+            -release p10 \
+            -op_target_dir $(STAGING_DIR)/hostboot_build_images \
+            -hb_image_dir $(STAGING_DIR)/hostboot_build_images \
+            -scratch_dir $(PNOR_SCRATCH_DIR) \
+            -hb_binary_dir $(STAGING_DIR)/hostboot_binaries \
+            -hcode_dir $(STAGING_DIR)/hcode \
+            -targeting_binary_filename $(TARGETING_BINARY_FILENAME) \
+            -targeting_binary_source $(TARGETING_BINARY_SOURCE) \
+            -targeting_RO_binary_filename $(TARGETING_BINARY_FILENAME).protected \
+            -targeting_RO_binary_source $(TARGETING_BINARY_SOURCE).protected \
+            -targeting_RW_binary_filename $(TARGETING_BINARY_FILENAME).unprotected \
+            -targeting_RW_binary_source $(TARGETING_BINARY_SOURCE).unprotected \
+            -sbe_binary_filename $(BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME) \
+            -sbe_binary_dir $(STAGING_DIR)/sbe_binaries \
+            -sbec_binary_filename $(BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME) \
+            -wink_binary_filename $(BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME) \
+            -occ_binary_filename $(OCC_STAGING_DIR)/$(BR2_OCC_P10_BIN_FILENAME) \
+            -capp_binary_filename $(BINARIES_DIR)/$(BR2_CAPP_UCODE_BIN_FILENAME) \
+            -ima_catalog_binary_filename $(BINARIES_DIR)/$(BR2_IMA_CATALOG_P10_FILENAME) \
+            -openpower_version_filename $(OPENPOWER_PNOR_P10_VERSION_FILE) \
+            -wof_binary_filename $(STAGING_DIR)/openpower_mrw_scratch/$(WOF_BINARY_FILENAME) \
+            -memd_binary_filename $(STAGING_DIR)/openpower_mrw_scratch/$(MEMD_BINARY_FILENAME) \
+            -payload $(BINARIES_DIR)/$(BR2_SKIBOOT_P10_LID_NAME) \
+            -payload_filename skiboot.lid.xz \
+            -binary_dir $(BINARIES_DIR) \
+            -bootkernel_filename $(LINUX_IMAGE_NAME) \
+            -ocmbfw_version $(OCMB_EXPLORER_FW_VERSION) \
+            -ocmbfw_url $(OPENPOWER_PNOR_P10_OCMB_URL) \
+            -ocmbfw_original_filename $(BINARIES_DIR)/$(BR2_OCMBFW_P10_FILENAME) \
+            -ocmbfw_binary_filename $(PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_P10_PROCESSED_FILENAME) \
+            -pnor_layout $(@D)/p10Layouts/$(BR2_OPENPOWER_P10_PNOR_XML_LAYOUT_FILENAME) \
+            -sbe_img_dir $(BUILD_DIR)/sbe-p10-$(call qstrip,$(BR2_SBE_P10_VERSION))/images \
+            -devtree_binary_filename $(STAGING_DIR)/usr/share/pdata/$(DEVTREE_BINARY_FILENAME) \
+            -xz_compression \
+            $(OPENPOWER_PNOR_P10_KEY_TRANSITION_ARG) \
+            $(OPENPOWER_PNOR_P10_SIGN_MODE_ARG)
+
+        if [ -n "$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET)" ] ; then \
+            echo "***Generating legacy pnor targets..." ;\
+            mkdir -p $(STAGING_DIR)/pnor.$(XML_VAR) ; \
+            $(TARGET_MAKE_ENV) $(@D)/create_pnor_image.pl \
+                -release p10 \
+                -xml_layout_file $(@D)/p10Layouts/$(BR2_OPENPOWER_P10_PNOR_XML_LAYOUT_FILENAME) \
+                -pnor_filename $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor \
+                -hb_image_dir $(STAGING_DIR)/hostboot_build_images \
+                -scratch_dir $(PNOR_SCRATCH_DIR) \
+                -outdir $(STAGING_DIR)/pnor.$(XML_VAR)/ \
+                -payload $(PNOR_SCRATCH_DIR)/$(BR2_SKIBOOT_LID_XZ_NAME) \
+                -bootkernel $(PNOR_SCRATCH_DIR)/$(LINUX_IMAGE_NAME) \
+                -sbe_binary_filename $(BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME) \
+                -sbec_binary_filename $(BR2_HOSTBOOT_P10_BINARY_SBEC_FILENAME) \
+                -wink_binary_filename $(BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME) \
+                -occ_binary_filename $(OCC_STAGING_DIR)/$(BR2_OCC_P10_BIN_FILENAME) \
+                -targeting_binary_filename $(TARGETING_BINARY_FILENAME) \
+                -targeting_RO_binary_filename $(TARGETING_BINARY_FILENAME).protected \
+                -targeting_RW_binary_filename $(TARGETING_BINARY_FILENAME).unprotected \
+                -wofdata_binary_filename $(PNOR_SCRATCH_DIR)/wofdata.bin.ecc \
+                -memddata_binary_filename $(PNOR_SCRATCH_DIR)/memd_extra_data.bin.ecc \
+                -ocmbfw_binary_filename $(PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_P10_PROCESSED_FILENAME) \
+                -openpower_version_filename $(PNOR_SCRATCH_DIR)/openpower_pnor_version.bin  \
+                -devtree_binary_filename $(PNOR_SCRATCH_DIR)/DEVTREE.bin ;\
+            $(INSTALL) $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor $(BINARIES_DIR) ;\
+            PATH=$(HOST_DIR)/usr/bin:$(PATH) $(HOST_DIR)/usr/bin/generate-tar -i squashfs \
+                -m $(XML_VAR) \
+                -f $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor.squashfs.tar \
+                $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor -s ;\
+            $(INSTALL) $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor.squashfs.tar $(BINARIES_DIR) ;\
+            cd $(STAGING_DIR)/pnor.$(XML_VAR) ;\
+            PATH=$(HOST_DIR)/usr/sbin:$(PATH) $(HOST_DIR)/usr/bin/generate-ubi \
+                $(XML_VAR).pnor.squashfs.tar ;\
+            $(INSTALL) $(STAGING_DIR)/pnor.$(XML_VAR)/$(XML_VAR).pnor.ubi.mtd $(BINARIES_DIR) ;\
+            $(TARGET_MAKE_ENV) $(@D)/makelidpkg \
+                $(BINARIES_DIR)/$(XML_VAR).ebmc_lids.tar.gz \
+                $(PNOR_SCRATCH_DIR); \
+            if [ -e $(STAGING_DIR)/openpower_pnor_scratch ] ; then \
+                echo "*** Reusing existing $(STAGING_DIR)/openpower_pnor_scratch => $$(readlink -f $(STAGING_DIR)/openpower_pnor_scratch)";\
+            else \
+                ln -rs $(PNOR_SCRATCH_DIR) $(STAGING_DIR)/openpower_pnor_scratch ;\
+                ln -rs $(BINARIES_DIR)/$(XML_VAR).ebmc_lids.tar.gz \
+                    $(BINARIES_DIR)/ebmc_lids.tar.gz ;\
+                ln -rs $(BINARIES_DIR)/$(XML_VAR).pnor \
+                    $(BINARIES_DIR)/$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET).pnor ;\
+                ln -rs $(BINARIES_DIR)/$(XML_VAR).pnor.squashfs.tar \
+                    $(BINARIES_DIR)/$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET).pnor.squashfs.tar ;\
+                ln -rs $(BINARIES_DIR)/$(XML_VAR).pnor.ubi.mtd \
+                    $(BINARIES_DIR)/$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET).pnor.ubi.mtd ;\
+            fi ;\
+        fi
+        # Copy images to mmc dir 
+        # HBBL
+        test -f "$(BINARIES_DIR)/mmc/HBBL.P10" ||\
+             $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hbbl.bin.ecc \
+                $(BINARIES_DIR)/mmc/HBBL.P10
+
+        # HBB
+        test -f "$(BINARIES_DIR)/mmc/HBB.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hostboot.header.bin.ecc \
+                $(BINARIES_DIR)/mmc/HBB.P10
+
+        # HBI
+        test -f "$(BINARIES_DIR)/mmc/HBI.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hostboot_extended.header.bin.ecc \
+                $(BINARIES_DIR)/mmc/HBI.P10
+
+        # HBD
+        $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(TARGETING_BINARY_FILENAME) \
+            $(BINARIES_DIR)/mmc/HBD.$(XML_VAR)
+
+        # SBE
+        test -f "$(BINARIES_DIR)/mmc/SBE.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME) \
+                $(BINARIES_DIR)/mmc/SBE.P10
+
+        # PAYLOAD
+        test -f "$(BINARIES_DIR)/mmc/PAYLOAD.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/skiboot.lid.xz \
+                $(BINARIES_DIR)/mmc/PAYLOAD.P10
+
+        # HCODE
+        test -f "$(BINARIES_DIR)/mmc/HCODE.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(BR2_HOSTBOOT_P10_BINARY_WINK_FILENAME) \
+                $(BINARIES_DIR)/mmc/HCODE.P10
+
+        # HBRT
+        test -f "$(BINARIES_DIR)/mmc/HBRT.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hostboot_runtime.header.bin.ecc \
+                $(BINARIES_DIR)/mmc/HBRT.P10
+
+        # OCC
+        test -f "$(BINARIES_DIR)/mmc/OCC.P10" ||\
+            $(INSTALL) -m 0644 -D $(OCC_STAGING_DIR)/$(BR2_OCC_P10_BIN_FILENAME).ecc \
+                $(BINARIES_DIR)/mmc/OCC.P10
+
+        # BOOTKERNEL
+        test -f "$(BINARIES_DIR)/mmc/BOOTKERNEL.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(LINUX_IMAGE_NAME) \
+                $(BINARIES_DIR)/mmc/BOOTKERNEL.P10
+
+        # CAPP
+        test -f "$(BINARIES_DIR)/mmc/CAPP.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/cappucode.bin.ecc \
+                $(BINARIES_DIR)/mmc/CAPP.P10
+
+        # VERSION
+        test -f "$(BINARIES_DIR)/mmc/VERSION.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/openpower_pnor_version.bin \
+                $(BINARIES_DIR)/mmc/VERSION.P10
+
+        # IMA_CATALOG
+        test -f "$(BINARIES_DIR)/mmc/IMA_CATALOG.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/ima_catalog.bin.ecc \
+                $(BINARIES_DIR)/mmc/IMA_CATALOG.P10
+
+        # SBKT (special content)
+        test -f "$(BINARIES_DIR)/mmc/SBKT.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/SBKT.bin \
+                $(BINARIES_DIR)/mmc/SBKT.P10
+
+        # HBEL (blank)
+        test -f "$(BINARIES_DIR)/mmc/HBEL.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hbel.bin.ecc \
+                $(BINARIES_DIR)/mmc/HBEL.P10
+
+        # GUARD (blank)
+        test -f "$(BINARIES_DIR)/mmc/GUARD.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/guard.bin.ecc \
+                $(BINARIES_DIR)/mmc/GUARD.P10
+
+        # HB_VOLATILE (blank)
+        test -f "$(BINARIES_DIR)/mmc/HB_VOLATILE.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hb_volatile.bin \
+                $(BINARIES_DIR)/mmc/HB_VOLATILE.P10
+
+        # NVRAM (blank)
+        test -f "$(BINARIES_DIR)/mmc/NVRAM.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/nvram.bin \
+                $(BINARIES_DIR)/mmc/NVRAM.P10
+
+        # ATTR_TMP (blank)
+        test -f "$(BINARIES_DIR)/mmc/ATTR_TMP.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/attr_tmp.bin.ecc \
+                $(BINARIES_DIR)/mmc/ATTR_TMP.P10
+
+        # ATTR_PERM (blank)
+        test -f "$(BINARIES_DIR)/mmc/ATTR_PERM.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/attr_perm.bin.ecc \
+                $(BINARIES_DIR)/mmc/ATTR_PERM.P10
+
+        # FIRDATA (blank, optional)
+        if [ -f "$(PNOR_SCRATCH_DIR)/firdata.bin.ecc" ] ; then \
+            test -f "$(BINARIES_DIR)/mmc/FIRDATA.P10" || \
+                $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/firdata.bin.ecc \
+                    $(BINARIES_DIR)/mmc/FIRDATA.P10 ; \
+        fi
+
+        # SECBOOT (blank)
+        test -f "$(BINARIES_DIR)/mmc/SECBOOT.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/secboot.bin.ecc \
+                $(BINARIES_DIR)/mmc/SECBOOT.P10
+
+        # RINGOVD (blank)
+        test -f "$(BINARIES_DIR)/mmc/RINGOVD.P10" ||\
+            $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/ringOvd.bin \
+                $(BINARIES_DIR)/mmc/RINGOVD.P10
+
+        # CVPD (blank, optional)
+        if [ -f "$(PNOR_SCRATCH_DIR)/cvpd.bin.ecc" ] ; then \
+            test -f "$(BINARIES_DIR)/mmc/CVPD.P10" ||\
+                $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/cvpd.bin.ecc \
+                    $(BINARIES_DIR)/mmc/CVPD.P10 ; \
+        fi
+
+        # DJVPD (blank, optional)
+        if [ -f "$(PNOR_SCRATCH_DIR)/djvpd_fill.bin.ecc" ] ; then \
+            test -f "$(BINARIES_DIR)/mmc/DJVPD.P10" ||\
+                $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/djvpd_fill.bin.ecc \
+                    $(BINARIES_DIR)/mmc/DJVPD.P10 ; \
+        fi
+
+        # MVPD (blank, optional)
+        if [ -f "$(PNOR_SCRATCH_DIR)/mvpd_fill.bin.ecc" ] ; then \
+            test -f "$(BINARIES_DIR)/mmc/MVPD.P10" ||\
+                $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/mvpd_fill.bin.ecc \
+                    $(BINARIES_DIR)/mmc/MVPD.P10 ; \
+        fi
+
+        # EECACHE (blank, optional)
+        if [ -f "$(PNOR_SCRATCH_DIR)/eecache_fill.bin.ecc" ] ; then \
+            test -f "$(BINARIES_DIR)/mmc/EECACHE.P10" ||\
+                $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/eecache_fill.bin.ecc \
+                    $(BINARIES_DIR)/mmc/EECACHE.P10 ; \
+        fi
+
+        # WOFDATA
+        $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/wofdata.bin.ecc \
+            $(BINARIES_DIR)/mmc/WOFDATA.$(XML_VAR)
+
+        # MEMD (optional)
+        if [ -f "$(PNOR_SCRATCH_DIR)/memd_extra_data.bin.ecc" ] ; then \
+            test -f "$(BINARIES_DIR)/mmc/MEMD.P10" ||\
+                $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/memd_extra_data.bin.ecc \
+                    $(BINARIES_DIR)/mmc/MEMD.P10 ; \
+        fi
+
+        # HDAT
+        $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/hdat.bin.ecc \
+            $(BINARIES_DIR)/mmc/HDAT.$(XML_VAR)
+
+        # OCMBFW (optional)
+        if [ -f "$(PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_P10_PROCESSED_FILENAME)" ] ; then \
+            test -f "$(BINARIES_DIR)/mmc/OCMBFW.P10" ||\
+                $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/$(BR2_OCMBFW_P10_PROCESSED_FILENAME) \
+                    $(BINARIES_DIR)/mmc/OCMBFW.P10 ; \
+        fi
+
+        # DEVTREE
+        $(INSTALL) -m 0644 -D $(PNOR_SCRATCH_DIR)/DEVTREE.bin \
+            $(BINARIES_DIR)/mmc/DEVTREE.$(XML_VAR)
+
+endef
+
+define OPENPOWER_PNOR_P10_INSTALL_IMAGES_CMDS
+
+        if [ -n "$(BR2_OPENPOWER_PNOR_P10_LEGACY_PNOR_TARGET)" ] ; then  \
+            rm -f $(BINARIES_DIR)/*.pnor \
+                $(BINARIES_DIR)/*.pnor.squashfs.tar \
+                $(BINARIES_DIR)/*.ubi.mtd ;\
+            rm -rf $(BINARIES_DIR)/ebmc_lids.tar.gz \
+                $(BINARIES_DIR)/*.ebmc_lids.tar.gz ;\
+            rm -rf $(STAGING_DIR)/openpower_pnor_scratch \
+                $(STAGING_DIR)/openpower_pnor_scratch.* ;\
+        fi
+
+        $(foreach xmlpkg,$(BR2_OPENPOWER_P10_XMLS),\
+            $(call OPENPOWER_PNOR_P10_UPDATE_IMAGE,\
+                $(xmlpkg)))
+
+        # Create Debug Tarball (target-agnostic)
+        mkdir -p $(STAGING_DIR)/pnor/host_fw_debug_tarball_files/
+        cp -r $(STAGING_DIR)/hostboot_build_images/* \
+            $(BUILD_DIR)/skiboot-$(SKIBOOT_VERSION)/skiboot.elf \
+            $(BUILD_DIR)/skiboot-$(SKIBOOT_VERSION)/skiboot.map \
+            $(BUILD_DIR)/linux-$(LINUX_VERSION)/.config \
+            $(BUILD_DIR)/linux-$(LINUX_VERSION)/vmlinux \
+            $(BUILD_DIR)/linux-$(LINUX_VERSION)/System.map \
+            $(STAGING_DIR)/fsp-trace/fsp-trace \
+            $(BINARIES_DIR)/zImage.epapr \
+            $(STAGING_DIR)/pnor/host_fw_debug_tarball_files/
+        tar -zcvf $(BINARIES_DIR)/host_fw_debug.tar -C $(STAGING_DIR)/pnor/host_fw_debug_tarball_files/  .
+
+endef
+
+$(eval $(generic-package))
+# Generate openPOWER pnor version string by combining subpackage version string files
+$(eval $(OPENPOWER_VERSION))
+
diff --git a/openpower/package/openpower-pnor/Config.in b/openpower/package/openpower-pnor/Config.in
index 64231ce..a25bf52 100644
--- a/openpower/package/openpower-pnor/Config.in
+++ b/openpower/package/openpower-pnor/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPENPOWER_PNOR
         bool "openpower_pnor"
         default y if (BR2_OPENPOWER_PLATFORM)
+        depends on (!BR2_PACKAGE_OPENPOWER_PNOR_P10)
         select BR2_PACKAGE_HOSTBOOT_P10 if (! (BR2_OPENPOWER_POWER8 || BR2_OPENPOWER_POWER9) )
         select BR2_PACKAGE_HOSTBOOT if BR2_OPENPOWER_POWER9
         select BR2_PACKAGE_HOSTBOOT_P8 if BR2_OPENPOWER_POWER8
diff --git a/openpower/package/openpower-pnor/openpower-pnor.mk b/openpower/package/openpower-pnor/openpower-pnor.mk
index fa1ac55..9e61417 100644
--- a/openpower/package/openpower-pnor/openpower-pnor.mk
+++ b/openpower/package/openpower-pnor/openpower-pnor.mk
@@ -231,4 +231,4 @@
 
 $(eval $(generic-package))
 # Generate openPOWER pnor version string by combining subpackage version string files
-$(eval $(call OPENPOWER_VERSION,$(OPENPOWER_PNOR)))
+$(eval $(OPENPOWER_VERSION))
diff --git a/openpower/package/pdata/Config.in b/openpower/package/pdata/Config.in
index df8ba38..622f0aa 100644
--- a/openpower/package/pdata/Config.in
+++ b/openpower/package/pdata/Config.in
@@ -3,8 +3,9 @@
 config BR2_PACKAGE_PDATA
         bool "pdata"
         default y if (BR2_OPENPOWER_POWER10)
+        select BR2_PACKAGE_HOST_DTC
         depends on BR2_PACKAGE_EKB
-        depends on BR2_PACKAGE_MACHINE_XML
+        depends on (BR2_PACKAGE_MACHINE_XML || BR2_PACKAGE_RAINIER_2U_XML || BR2_PACKAGE_RAINIER_4U_XML)
         help
           To initialize and boot a server, various software components
           ( BMC apps and Hostboot) will interact. PDATA provides device tree
@@ -15,6 +16,20 @@
 if BR2_PACKAGE_PDATA
 
 choice
+    prompt "PDATA location"
+
+config BR2_PDATA_GITHUB_PROJECT
+    bool "PDATA located at default Github project"
+
+config BR2_PDATA_CUSTOM_GIT
+    bool "PDATA located at Custom Git repository"
+
+endchoice
+
+config BR2_PDATA_CUSTOM_GIT_VALUE
+    string "URL of PDATA Custom Git repository"
+
+choice
     prompt "PDATA version"
     default BR2_PDATA_LATEST_VERSION
 
diff --git a/openpower/package/pdata/pdata.mk b/openpower/package/pdata/pdata.mk
index 4ebe703..b1500ba 100644
--- a/openpower/package/pdata/pdata.mk
+++ b/openpower/package/pdata/pdata.mk
@@ -5,11 +5,15 @@
 ################################################################################
 
 PDATA_VERSION = $(call qstrip,$(BR2_PDATA_VERSION))
-# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+ifeq ($(BR2_PDATA_GITHUB_PROJECT),y)
 # after that, when code is propagated to a public repo
 #PDATA_SITE = $(call github,phal,pdata,$(PDATA_VERSION))
 PDATA_SITE = git@github.ibm.com:phal/pdata.git
 PDATA_SITE_METHOD = git
+else ifeq ($(BR2_PDATA_CUSTOM_GIT),y)
+PDATA_SITE = $(BR2_PDATA_CUSTOM_GIT_VALUE)
+PDATA_SITE_METHOD = git
+endif
 
 PDATA_LICENSE = Apache-2.0
 PDATA_LICENSE_FILES = $(@D)/LICENSE
@@ -17,7 +21,7 @@
 PDATA_INSTALL_TARGET = NO
 PDATA_AUTORECONF = YES
 PDATA_AUTORECONF_OPTS += -I $(HOST_DIR)/share/autoconf-archive
-PDATA_DEPENDENCIES = ekb host-dtc machine-xml host-autoconf-archive
+PDATA_DEPENDENCIES = ekb host-dtc host-autoconf-archive
 
 EKB_STAGING_DIR = $(STAGING_DIR)/ekb
 MACHINE_XML_STAGING_DIR = $(STAGING_DIR)/openpower_mrw_scratch
@@ -27,13 +31,18 @@
 TARGET_PROC = p10
 endif
 
-QSTRIP_MACHINE_XML = $(call qstrip,$(BR2_OPENPOWER_MACHINE_XML_FILENAME))
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+PDATA_DEPENDENCIES += $(call qstrip,$(BR2_OPENPOWER_P10_XMLS))
+QSTRIP_MACHINE_XMLS = $(call qstrip,$(foreach xml,$(BR2_OPENPOWER_P10_XMLS),$(MACHINE_XML_STAGING_DIR)/$(BR2_$(call UPPERCASE,$(call qstrip,$(xml)))_FILENAME)))
+else
+PDATA_DEPENDENCIES += machine-xml
+QSTRIP_MACHINE_XMLS = $(call qstrip,$(MACHINE_XML_STAGING_DIR)/$(BR2_OPENPOWER_MACHINE_XML_FILENAME))
+endif
 
-PDATA_CONF_OPTS = --enable-gen_dynamicdt \
-                  CHIP=$(TARGET_PROC) \
+PDATA_CONF_OPTS = --enable-gen_dynamicdt CHIP=$(TARGET_PROC)
 
-PDATA_MAKE_OPTS =  EKB=$(EKB_STAGING_DIR) \
-                   SYSTEMS_MRW_XML=$(MACHINE_XML_STAGING_DIR)/$(QSTRIP_MACHINE_XML) \
+PDATA_MAKE_OPTS = EKB=$(EKB_STAGING_DIR) \
+                  SYSTEMS_MRW_XML="$(QSTRIP_MACHINE_XMLS)"
 
 define PDATA_CREATE_M4_DIR
 		mkdir -p $(@D)/m4
diff --git a/openpower/package/pkg-versions.mk b/openpower/package/pkg-versions.mk
index be50245..3d967bf 100644
--- a/openpower/package/pkg-versions.mk
+++ b/openpower/package/pkg-versions.mk
@@ -58,7 +58,7 @@
 	rm -rf $$(OPENPOWER_VERSION_DIR)/$(1).tmp_patch.txt; \
 fi
 
-endef ###
+endef # $(2)_OPENPOWER_PATCH_FILE
 
 ### Create subpackage version file
 define $(2)_OPENPOWER_VERSION_FILE
@@ -103,11 +103,15 @@
 # Add new line to version.txt
 echo "" >> $$($(2)_VERSION_FILE);
 
-endef ###
+endef # $(2)_OPENPOWER_VERSION_FILE
 
-# Add appropriate templates to hooks
+# Add appropriate templates to hooks if they're not there already
+ifeq (,$$(findstring $(2)_OPENPOWER_PATCH_FILE,$$($(2)_POST_PATCH_HOOKS)))
 $(2)_POST_PATCH_HOOKS += $(2)_OPENPOWER_PATCH_FILE
+endif
+ifeq (,$$(findstring $(2)_OPENPOWER_VERSION_FILE,$$($(2)_PRE_CONFIGURE_HOOKS)))
 $(2)_PRE_CONFIGURE_HOOKS += $(2)_OPENPOWER_VERSION_FILE
+endif
 
 # Top-level rule to print or generate a subpackage version
 $(1)-version: $$(if $$(wildcard $$($(2)_VERSION_FILE)),$(1)-print-version,$(1)-build-version)
@@ -128,99 +132,114 @@
 		@echo "	End creating version string..."
 		@echo -n "	version: "; cat $$($(2)_VERSION_FILE) | xargs echo
 
-endef
+endef # OPENPOWER_SUBPACKAGE_VERSION
 
-define OPENPOWER_VERSION
 
-UPPER_CASE_PKG = $(call UPPERCASE,$(1))
-$$(UPPER_CASE_PKG)_VERSION_FILE = $$(OPENPOWER_VERSION_DIR)/$(1).version.txt
+####
+# $(1) is the lowercase package version
+# $(2) is the uppercase pacakge version
+####
+define INNER_OPENPOWER_VERSION
+
+$(2)_VERSION_FILE = $$(OPENPOWER_VERSION_DIR)/$(1).version.txt
+ifeq ($$(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+UPPER_CASE_SIGN_MODE = $(call UPPERCASE,$$(BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE))
+CONFIG_NAME = $$(BR2_OPENPOWER_P10_CONFIG_NAME)
+VERSIONED_SUBPACKAGES = $$(OPENPOWER_PNOR_P10_VERSIONED_SUBPACKAGES)
+else
 UPPER_CASE_SIGN_MODE = $(call UPPERCASE,$$(BR2_OPENPOWER_SECUREBOOT_SIGN_MODE))
+CONFIG_NAME = $$(BR2_OPENPOWER_CONFIG_NAME)
+VERSIONED_SUBPACKAGES = $$(OPENPOWER_VERSIONED_SUBPACKAGES)
+endif
 
-$$(eval $$(foreach pkg,$$(OPENPOWER_VERSIONED_SUBPACKAGES), \
+$$(eval $$(foreach pkg,$$(VERSIONED_SUBPACKAGES), \
 		$$(call OPENPOWER_SUBPACKAGE_VERSION,$$(pkg),$$(call UPPERCASE,$$(pkg)))))
 
 ### Combine subpackage files into one version file
-define $$(UPPER_CASE_PKG)_OPENPOWER_VERSION_FILE
+define $(2)_OPENPOWER_VERSION_FILE
 
 mkdir -p "$$(OPENPOWER_VERSION_DIR)"
 
 # Add vendor or default open-power
 if [ -n "$$(OPBUILD_VENDOR)" ]; then \
-echo -n "$$(OPBUILD_VENDOR)-" > $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "$$(OPBUILD_VENDOR)-" > $$($(2)_VERSION_FILE); \
 else \
-echo -n "open-power-" > $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "open-power-" > $$($(2)_VERSION_FILE); \
 fi
 
 # Add platform or default from defconfig
 if [ -n "$$(OPBUILD_PLATFORM)" ]; then \
-echo -n "$$(OPBUILD_PLATFORM)-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "$$(OPBUILD_PLATFORM)-" >> $$($(2)_VERSION_FILE); \
 else \
-echo -n "$$(BR2_OPENPOWER_CONFIG_NAME)-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "$$(CONFIG_NAME)-" >> $$($(2)_VERSION_FILE); \
 fi
 
 # Add op-build version
 # Order: OPBUILD_VERSION, tag, commit, unknown
 if [ -n "$$(OPBUILD_VERSION)" ]; then \
-	echo -n "$$(OPBUILD_VERSION)" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+	echo -n "$$(OPBUILD_VERSION)" >> $$($(2)_VERSION_FILE); \
 else \
 cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; (git describe --always --dirty || echo "unknown") \
 	| xargs echo -n \
-	>> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+	>> $$($(2)_VERSION_FILE); \
 fi
 
 # Flag whether op-build is production signed
 if [ "$$(UPPER_CASE_SIGN_MODE)" == 'PRODUCTION' ]; then \
-	echo -n "-prod" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+	echo -n "-prod" >> $$($(2)_VERSION_FILE); \
 fi
 
-# Add new line to $$($$(UPPER_CASE_PKG)_VERSION_FILE)
-echo "" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE);
+# Add new line to $$($(2)_VERSION_FILE)
+echo "" >> $$($(2)_VERSION_FILE);
 
 # Add a specific line for op-build if it has been overwritten
 if [ -n "$$(OPBUILD_VENDOR)" ]; then \
-echo -n "	op-build-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+echo -n "	op-build-" >> $$($(2)_VERSION_FILE); \
 (cd "$$(BR2_EXTERNAL_OP_BUILD_PATH)"; (git describe --always --dirty  || echo "unknown")) \
 	| xargs echo \
-	>> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+	>> $$($(2)_VERSION_FILE); \
 fi
 
 # Include the currently checked-out buildroot version
-echo -n "	buildroot-" >> $$($$(UPPER_CASE_PKG)_VERSION_FILE);
+echo -n "	buildroot-" >> $$($(2)_VERSION_FILE);
 (git describe --always --dirty || echo "unknown") \
 	| xargs echo \
-	>> $$($$(UPPER_CASE_PKG)_VERSION_FILE); \
+	>> $$($(2)_VERSION_FILE); \
 
 
-# Combing subpackage version files into $$($$(UPPER_CASE_PKG)_VERSION_FILE)
+# Combing subpackage version files into $$($(2)_VERSION_FILE)
 $$(foreach verFile,$$(ALL_SUBPACKAGE_VERSIONS),
 	if [ -f $$(verFile) ]; then cat $$(verFile) \
-	>> $$($$(UPPER_CASE_PKG)_VERSION_FILE); fi )
+	>>$$($(2)_VERSION_FILE); fi )
 
-endef ###
+endef #  $(2)_OPENPOWER_VERSION_FILE
 
-$$(UPPER_CASE_PKG)_PRE_BUILD_HOOKS += $$(UPPER_CASE_PKG)_OPENPOWER_VERSION_FILE
+$(2)_PRE_BUILD_HOOKS += $(2)_OPENPOWER_VERSION_FILE
 
 # Top-level rule to print or generate openpower-pnor version
-$(1)-version: $$(if $$(wildcard $$($$(UPPER_CASE_PKG)_VERSION_FILE)),$(1)-print-version,$(1)-build-version)
+$(1)-version: $$(if $$(wildcard $$($(2)_VERSION_FILE)),$(1)-print-version,$(1)-build-version)
 
 # Rule to print out pnor version
 $(1)-print-version:
-		@echo "=== $$(UPPER_CASE_PKG)_VERSION ==="
-		@cat $$($$(UPPER_CASE_PKG)_VERSION_FILE)
+		@echo "=== $(2)_VERSION ==="
+		@cat $$($(2)_VERSION_FILE)
 		@echo ""; echo "**See openpower/package/VERSION.readme for detailed info on package strings"; echo ""
 
 # Rule to generate pnor version
-$(1)-build-version: $$(foreach pkg,$$(OPENPOWER_VERSIONED_SUBPACKAGES), $$(pkg)-version)
-		@$$($$(UPPER_CASE_PKG)_OPENPOWER_VERSION_FILE)
-		@echo "=== $$(UPPER_CASE_PKG)_VERSION ==="
-		@cat $$($$(UPPER_CASE_PKG)_VERSION_FILE)
+$(1)-build-version: $$(foreach pkg,$$(VERSIONED_SUBPACKAGES), $$(pkg)-version)
+		@$$($(2)_OPENPOWER_VERSION_FILE)
+		@echo "=== $(2)_VERSION ==="
+		@cat $$($(2)_VERSION_FILE)
 		@echo ""; echo "**See openpower/package/VERSION.readme for detailed info on package strings"; echo ""
 
 # Rule to force re-generation of all versioned subpackages
-$(1)-build-version-all: $$(foreach pkg,$$(OPENPOWER_VERSIONED_SUBPACKAGES), $$(pkg)-build-version)
-		@$$($$(UPPER_CASE_PKG)_OPENPOWER_VERSION_FILE)
-		@echo "=== $$(UPPER_CASE_PKG)_VERSION ==="
-		@cat $$($$(UPPER_CASE_PKG)_VERSION_FILE)
+$(1)-build-version-all: $$(foreach pkg,$$(VERSIONED_SUBPACKAGES), $$(pkg)-build-version)
+		@$$($(2)_OPENPOWER_VERSION_FILE)
+		@echo "=== $(2)_VERSION ==="
+		@cat $$($(2)_VERSION_FILE)
 		@echo ""; echo "**See openpower/package/VERSION.readme for detailed info on package strings"; echo ""
 
-endef
+endef # INNER_OPENPOWER_VERSION
+
+OPENPOWER_VERSION = $(call INNER_OPENPOWER_VERSION,$(pkgname),$(call UPPERCASE,$(pkgname)))
+
diff --git a/openpower/package/rainier-2u-xml/Config.in b/openpower/package/rainier-2u-xml/Config.in
new file mode 100644
index 0000000..6b94a48
--- /dev/null
+++ b/openpower/package/rainier-2u-xml/Config.in
@@ -0,0 +1,86 @@
+menu "Rainier 2U XML (MRW)"
+
+config BR2_PACKAGE_RAINIER_2U_XML
+        bool "rainier_2u_xml"
+
+if BR2_PACKAGE_RAINIER_2U_XML
+
+choice
+	prompt "Rainier 2U XML location"
+
+config BR2_RAINIER_2U_XML_GITHUB_PROJECT
+       bool "OpenPOWER Github project name"
+
+config BR2_RAINIER_2U_XML_CUSTOM_GIT
+       bool "Custom URL of Rainier 2U xml repository"
+
+endchoice
+
+config BR2_RAINIER_2U_XML_FILTER_UNWANTED_ATTRIBUTES
+       bool "Filter Unwanted Attributes"
+       default y
+
+config BR2_RAINIER_2U_XML_OPPOWERVM_ATTRIBUTES
+       bool "OPPOWERVM Attributes/Target"
+       default y
+
+config BR2_RAINIER_2U_XML_TARGET_TYPES_OPENPOWER_XML
+       bool "Include target_types_openpower.xml"
+       default y
+
+config BR2_RAINIER_2U_XML_CUSTOM_GIT_VALUE
+	string "URL of Rainier 2U xml repository"
+	depends on BR2_RAINIER_2U_XML_CUSTOM_GIT
+
+config BR2_RAINIER_2U_XML_GITHUB_PROJECT_VALUE
+       string "The Github project name (e.g. rainier-2u-xml)"
+       default "rainier-2u-xml"
+       depends on BR2_RAINIER_2U_XML_GITHUB_PROJECT
+
+config BR2_RAINIER_2U_XML_VERSION
+       string "Version of Rainier 2U XML"
+
+config BR2_RAINIER_2U_XML_FILENAME
+       string "Rainier 2U XML filename (e.g. Rainier-2U-MRW.xml)"
+       default "Rainier-2U-MRW.xml"
+       help
+           The name of the MRW XML file. Note that this file MUST
+           come with the '.xml' prefix (all lowercase)
+
+config BR2_RAINIER_2U_XML_SYSTEM_FILENAME
+        string "Targeting Rainier 2U system xml filename"
+        default ""
+        help
+            Defines the name of the system XML filename
+            to be used when creating targeting binary image
+
+config BR2_RAINIER_2U_XML_TARGETING_FILENAME
+        string "Targeting Rainier 2U mrw xml filename"
+        default ""
+        help
+            Defines the name of the mrw XML filename
+            to be used when creating targeting binary image
+
+config BR2_RAINIER_2U_XML_BIOS_FILENAME
+        string "BIOS Rainier 2U metadata XML filename"
+        default "Rainier-2U-MRW_bios.xml"
+        help
+            Defines the name of the BIOS XML filename
+            to parse when generating BIOS metadata
+
+config BR2_RAINIER_2U_XML_TARGETING_BIN_FILENAME
+        string "Name of the openpower binary targeting file"
+        default "Rainier-2U-MRW.targeting.bin"
+        help
+            String used to define name of openpower targeting binary file
+
+config BR2_RAINIER_2U_XML_TARGETING_ECC_FILENAME
+        string "Name of the openpower binary targeting ecc file"
+        default "Rainier-2U-MRW.targeting.bin.ecc"
+        help
+            String used to define name of openpower
+            targeting binary file, ecc protected
+
+endif
+
+endmenu
diff --git a/openpower/package/rainier-2u-xml/rainier-2u-xml.mk b/openpower/package/rainier-2u-xml/rainier-2u-xml.mk
new file mode 100644
index 0000000..88bcaa6
--- /dev/null
+++ b/openpower/package/rainier-2u-xml/rainier-2u-xml.mk
@@ -0,0 +1,166 @@
+################################################################################
+# rainier-2u-xml
+#
+################################################################################
+
+RAINIER_2U_XML_VERSION ?= $(call qstrip,$(BR2_RAINIER_2U_XML_VERSION))
+ifeq ($(BR2_RAINIER_2U_XML_GITHUB_PROJECT),y)
+RAINIER_2U_XML_SITE = $(call github,open-power,$(BR2_RAINIER_2U_XML_GITHUB_PROJECT_VALUE),$(RAINIER_2U_XML_VERSION))
+else ifeq ($(BR2_RAINIER_2U_XML_CUSTOM_GIT),y)
+RAINIER_2U_XML_SITE_METHOD = git
+RAINIER_2U_XML_SITE = $(BR2_RAINIER_2U_XML_CUSTOM_GIT_VALUE)
+endif
+
+RAINIER_2U_XML_LICENSE = Apache-2.0
+RAINIER_2U_XML_LICENSE_FILES = LICENSE
+RAINIER_2U_XML_DEPENDENCIES += hostboot-p10
+
+RAINIER_2U_XML_INSTALL_IMAGES = YES
+RAINIER_2U_XML_INSTALL_TARGET = YES
+
+RAINIER_2U_XML_MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
+RAINIER_2U_XML_MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
+
+# Defines for BIOS metadata creation
+RAINIER_2U_XML_BIOS_SCHEMA_FILE = $(RAINIER_2U_XML_MRW_HB_TOOLS)/bios.xsd
+RAINIER_2U_XML_BIOS_CONFIG_FILE = \
+    $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_BIOS_FILENAME))
+RAINIER_2U_XML_BIOS_METADATA_FILE = \
+    $(call qstrip,$(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata.xml)
+RAINIER_2U_XML_PETITBOOT_XSLT_FILE = $(RAINIER_2U_XML_MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
+RAINIER_2U_XML_PETITBOOT_BIOS_METADATA_FILE = \
+    $(call qstrip, \
+        $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata_petitboot.xml)
+# XXX TODO: Figure out what to do with the bios_metadata.xml. Right now, the last xml
+#           package file processed 'wins' and all previously processed xml packages are
+#           overriden.
+RAINIER_2U_XML_PETITBOOT_BIOS_INITRAMFS_FILE = \
+    $(TARGET_DIR)/usr/share/bios_metadata.xml
+
+ifeq ($(BR2_RAINIER_2U_XML_OPPOWERVM_ATTRIBUTES),y)
+RAINIER_2U_XML_OPPOWERVM_ATTR_XML = $(RAINIER_2U_XML_MRW_HB_TOOLS)/attribute_types_oppowervm.xml
+RAINIER_2U_XML_OPPOWERVM_TARGET_XML = $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml
+endif
+ifeq ($(BR2_RAINIER_2U_XML_TARGET_TYPES_OPENPOWER_XML),y)
+RAINIER_2U_XML_TARGET_TYPES_OPENPOWER_XML = $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_openpower.xml
+endif
+
+define RAINIER_2U_XML_FILTER_UNWANTED_ATTRIBUTES
+       chmod +x $(RAINIER_2U_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
+
+       $(RAINIER_2U_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
+            --tgt-xml $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+            --tgt-xml $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+            --tgt-xml $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml \
+            --tgt-xml $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_openpower.xml \
+            --mrw-xml $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+                $(BR2_RAINIER_2U_XML_TARGETING_FILENAME))
+
+       cp  $(call qstrip, $(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_TARGETING_FILENAME)).updated \
+           $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_TARGETING_FILENAME))
+endef
+
+define RAINIER_2U_XML_BUILD_CMDS
+        # copy the machine xml where the common lives
+        $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_RAINIER_2U_XML_FILENAME)) \
+            $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_RAINIER_2U_XML_FILENAME))
+        $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_RAINIER_2U_XML_BIOS_FILENAME)) \
+            $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_RAINIER_2U_XML_BIOS_FILENAME))
+
+        # generate the system mrw xml
+        perl -I $(RAINIER_2U_XML_MRW_HB_TOOLS) \
+        $(RAINIER_2U_XML_MRW_HB_TOOLS)/processMrw.pl -x \
+            $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_FILENAME))
+
+	$(if $(BR2_RAINIER_2U_XML_FILTER_UNWANTED_ATTRIBUTES), $(call RAINIER_2U_XML_FILTER_UNWANTED_ATTRIBUTES))
+
+        # merge in any system specific attributes, hostboot attributes
+        $(RAINIER_2U_XML_MRW_HB_TOOLS)/mergexml.sh \
+            $(call qstrip,$(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_SYSTEM_FILENAME)) \
+            $(RAINIER_2U_XML_MRW_HB_TOOLS)/attribute_types.xml \
+            $(RAINIER_2U_XML_MRW_HB_TOOLS)/attribute_types_hb.xml \
+            $(RAINIER_2U_XML_OPPOWERVM_ATTR_XML) \
+            $(RAINIER_2U_XML_MRW_HB_TOOLS)/attribute_types_openpower.xml \
+            $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+            $(RAINIER_2U_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+            $(RAINIER_2U_XML_OPPOWERVM_TARGET_XML) \
+            $(RAINIER_2U_XML_TARGET_TYPES_OPENPOWER_XML) \
+            $(call qstrip, \
+                $(RAINIER_2U_XML_MRW_SCRATCH)/$(BR2_RAINIER_2U_XML_TARGETING_FILENAME)) \
+            > $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(call qstrip, \
+                $(BR2_RAINIER_2U_XML_TARGETING_FILENAME))_temporary_hb.hb.xml;
+
+        # creating the targeting binary
+        # XXX TODO: xmltohb.pl creates a 'targeting.bin' in the output directory, we want
+        #           that file to be unique if we don't want to risk collisions on eventual
+        #           parallel builds
+        $(RAINIER_2U_XML_MRW_HB_TOOLS)/xmltohb.pl  \
+            --hb-xml-file=$(RAINIER_2U_XML_MRW_HB_TOOLS)/$(call qstrip, \
+                $(BR2_RAINIER_2U_XML_TARGETING_FILENAME))_temporary_hb.hb.xml \
+            --fapi-attributes-xml-file=$(RAINIER_2U_XML_MRW_HB_TOOLS)/fapiattrs.xml \
+            --src-output-dir=$(RAINIER_2U_XML_MRW_HB_TOOLS)/ \
+            --img-output-dir=$(RAINIER_2U_XML_MRW_HB_TOOLS)/ \
+            --vmm-consts-file=$(RAINIER_2U_XML_MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
+            --bios-xml-file=$(RAINIER_2U_XML_BIOS_CONFIG_FILE) \
+            --bios-schema-file=$(RAINIER_2U_XML_BIOS_SCHEMA_FILE) \
+            --bios-output-file=$(RAINIER_2U_XML_BIOS_METADATA_FILE)
+
+        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
+        xsltproc -o \
+            $(RAINIER_2U_XML_PETITBOOT_BIOS_METADATA_FILE) \
+            $(RAINIER_2U_XML_PETITBOOT_XSLT_FILE) \
+            $(RAINIER_2U_XML_BIOS_METADATA_FILE)
+
+        # Create the wofdata
+        if [ -e $(RAINIER_2U_XML_MRW_HB_TOOLS)/wof-tables-img ]; then \
+            chmod +x $(RAINIER_2U_XML_MRW_HB_TOOLS)/wof-tables-img; \
+        fi
+
+        if [ -d $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+            $(BR2_RAINIER_2U_XML_FILENAME:.xml=.wofdata)) ]; then \
+            $(RAINIER_2U_XML_MRW_HB_TOOLS)/wof-tables-img \
+                --create $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+                    $(RAINIER_2U_XML_FILENAME:.xml=.wof_output)) \
+                $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+                    $(BR2_RAINIER_2U_XML_FILENAME:.xml=wofdata)); \
+        fi
+
+        # Create the MEMD binary
+        if [ -e $(RAINIER_2U_XML_MRW_HB_TOOLS)/memd_creation.pl ]; then \
+            chmod +x $(RAINIER_2U_XML_MRW_HB_TOOLS)/memd_creation.pl; \
+        fi
+
+        if [ -d $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+            $(BR2_RAINIER_2U_XML_FILENAME:.xml=.memd_binaries)) ]; then \
+            $(RAINIER_2U_XML_MRW_HB_TOOLS)/memd_creation.pl \
+                -memd_dir $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+                    $(BR2_RAINIER_2U_XML_FILENAME:.xml=.memd_binaries)) \
+                -memd_output $(RAINIER_2U_XML_MRW_SCRATCH)/$(call qstrip, \
+                    $(BR2_RAINIER_2U_XML_FILENAME:.xml=.memd_output.dat)); \
+        fi
+
+endef
+
+define RAINIER_2U_XML_INSTALL_IMAGES_CMDS
+        mv $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin $(call qstrip, \
+            $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_2U_XML_TARGETING_BIN_FILENAME))
+        if [ -e $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin.protected ]; then \
+            mv -v $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin.protected \
+                $(call qstrip, \
+                    $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_2U_XML_TARGETING_BIN_FILENAME)).protected; \
+        fi
+        if [ -e $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin.unprotected ]; then \
+            mv -v $(RAINIER_2U_XML_MRW_HB_TOOLS)/targeting.bin.unprotected \
+                $(call qstrip, \
+                    $(RAINIER_2U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_2U_XML_TARGETING_BIN_FILENAME)).unprotected; \
+        fi
+endef
+
+define RAINIER_2U_XML_INSTALL_TARGET_CMDS
+        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
+        $(INSTALL) -D -m 0644 \
+            $(RAINIER_2U_XML_PETITBOOT_BIOS_METADATA_FILE) \
+            $(RAINIER_2U_XML_PETITBOOT_BIOS_INITRAMFS_FILE)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/rainier-4u-xml/Config.in b/openpower/package/rainier-4u-xml/Config.in
new file mode 100644
index 0000000..0270703
--- /dev/null
+++ b/openpower/package/rainier-4u-xml/Config.in
@@ -0,0 +1,86 @@
+menu "Rainier 4U XML (MRW)"
+
+config BR2_PACKAGE_RAINIER_4U_XML
+        bool "rainier_4u_xml"
+
+if BR2_PACKAGE_RAINIER_4U_XML
+
+choice
+	prompt "Rainier 4U XML location"
+
+config BR2_RAINIER_4U_XML_GITHUB_PROJECT
+       bool "OpenPOWER Github project name"
+
+config BR2_RAINIER_4U_XML_CUSTOM_GIT
+       bool "Custom URL of Rainier 4U xml repository"
+
+endchoice
+
+config BR2_RAINIER_4U_XML_FILTER_UNWANTED_ATTRIBUTES
+       bool "Filter Unwanted Attributes"
+       default y
+
+config BR2_RAINIER_4U_XML_OPPOWERVM_ATTRIBUTES
+       bool "OPPOWERVM Attributes/Target"
+       default y
+
+config BR2_RAINIER_4U_XML_TARGET_TYPES_OPENPOWER_XML
+       bool "Include target_types_openpower.xml"
+       default y
+
+config BR2_RAINIER_4U_XML_CUSTOM_GIT_VALUE
+	string "URL of Rainier 4U xml repository"
+	depends on BR2_RAINIER_4U_XML_CUSTOM_GIT
+
+config BR2_RAINIER_4U_XML_GITHUB_PROJECT_VALUE
+       string "The Github project name (e.g. rainier-4u-xml)"
+       default "rainier-4u-xml"
+       depends on BR2_RAINIER_4U_XML_GITHUB_PROJECT
+
+config BR2_RAINIER_4U_XML_VERSION
+       string "Version of Rainier 4U XML"
+
+config BR2_RAINIER_4U_XML_FILENAME
+       string "Rainier 4U XML filename (e.g. Rainier-4U-MRW.xml)"
+       default "Rainier-4U-MRW.xml"
+       help
+           The name of the MRW XML file. Note that this file MUST
+           come with the '.xml' prefix (all lowercase)
+
+config BR2_RAINIER_4U_XML_SYSTEM_FILENAME
+        string "Targeting Rainier 4U system xml filename"
+        default ""
+        help
+            Defines the name of the system XML filename
+            to be used when creating targeting binary image
+
+config BR2_RAINIER_4U_XML_TARGETING_FILENAME
+        string "Targeting Rainier 4U mrw xml filename"
+        default ""
+        help
+            Defines the name of the mrw XML filename
+            to be used when creating targeting binary image
+
+config BR2_RAINIER_4U_XML_BIOS_FILENAME
+        string "BIOS Rainier 4U metadata XML filename"
+        default "Rainier-4U-MRW_bios.xml"
+        help
+            Defines the name of the BIOS XML filename
+            to parse when generating BIOS metadata
+
+config BR2_RAINIER_4U_XML_TARGETING_BIN_FILENAME
+        string "Name of the openpower binary targeting file"
+        default "Rainier-4U-MRW.targeting.bin"
+        help
+            String used to define name of openpower targeting binary file
+
+config BR2_RAINIER_4U_XML_TARGETING_ECC_FILENAME
+        string "Name of the openpower binary targeting ecc file"
+        default "Rainier-4U-MRW.targeting.bin.ecc"
+        help
+            String used to define name of openpower
+            targeting binary file, ecc protected
+
+endif
+
+endmenu
diff --git a/openpower/package/rainier-4u-xml/rainier-4u-xml.mk b/openpower/package/rainier-4u-xml/rainier-4u-xml.mk
new file mode 100644
index 0000000..9d1f6f7
--- /dev/null
+++ b/openpower/package/rainier-4u-xml/rainier-4u-xml.mk
@@ -0,0 +1,166 @@
+################################################################################
+# rainier-4u-xml
+#
+################################################################################
+
+RAINIER_4U_XML_VERSION ?= $(call qstrip,$(BR2_RAINIER_4U_XML_VERSION))
+ifeq ($(BR2_RAINIER_4U_XML_GITHUB_PROJECT),y)
+RAINIER_4U_XML_SITE = $(call github,open-power,$(BR2_RAINIER_4U_XML_GITHUB_PROJECT_VALUE),$(RAINIER_4U_XML_VERSION))
+else ifeq ($(BR2_RAINIER_4U_XML_CUSTOM_GIT),y)
+RAINIER_4U_XML_SITE_METHOD = git
+RAINIER_4U_XML_SITE = $(BR2_RAINIER_4U_XML_CUSTOM_GIT_VALUE)
+endif
+
+RAINIER_4U_XML_LICENSE = Apache-2.0
+RAINIER_4U_XML_LICENSE_FILES = LICENSE
+RAINIER_4U_XML_DEPENDENCIES += hostboot-p10
+
+RAINIER_4U_XML_INSTALL_IMAGES = YES
+RAINIER_4U_XML_INSTALL_TARGET = YES
+
+RAINIER_4U_XML_MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
+RAINIER_4U_XML_MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
+
+# Defines for BIOS metadata creation
+RAINIER_4U_XML_BIOS_SCHEMA_FILE = $(RAINIER_4U_XML_MRW_HB_TOOLS)/bios.xsd
+RAINIER_4U_XML_BIOS_CONFIG_FILE = \
+    $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_BIOS_FILENAME))
+RAINIER_4U_XML_BIOS_METADATA_FILE = \
+    $(call qstrip,$(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata.xml)
+RAINIER_4U_XML_PETITBOOT_XSLT_FILE = $(RAINIER_4U_XML_MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
+RAINIER_4U_XML_PETITBOOT_BIOS_METADATA_FILE = \
+    $(call qstrip, \
+        $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_OPENPOWER_P10_CONFIG_NAME)_bios_metadata_petitboot.xml)
+# XXX TODO: Figure out what to do with the bios_metadata.xml. Right now, the last xml
+#           package file processed 'wins' and all previously processed xml packages are
+#           overriden.
+RAINIER_4U_XML_PETITBOOT_BIOS_INITRAMFS_FILE = \
+    $(TARGET_DIR)/usr/share/bios_metadata.xml
+
+ifeq ($(BR2_RAINIER_4U_XML_OPPOWERVM_ATTRIBUTES),y)
+RAINIER_4U_XML_OPPOWERVM_ATTR_XML = $(RAINIER_4U_XML_MRW_HB_TOOLS)/attribute_types_oppowervm.xml
+RAINIER_4U_XML_OPPOWERVM_TARGET_XML = $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml
+endif
+ifeq ($(BR2_RAINIER_4U_XML_TARGET_TYPES_OPENPOWER_XML),y)
+RAINIER_4U_XML_TARGET_TYPES_OPENPOWER_XML = $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_openpower.xml
+endif
+
+define RAINIER_4U_XML_FILTER_UNWANTED_ATTRIBUTES
+       chmod +x $(RAINIER_4U_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
+
+       $(RAINIER_4U_XML_MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
+            --tgt-xml $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+            --tgt-xml $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+            --tgt-xml $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_oppowervm.xml \
+            --tgt-xml $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_openpower.xml \
+            --mrw-xml $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+                $(BR2_RAINIER_4U_XML_TARGETING_FILENAME))
+
+       cp  $(call qstrip, $(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_TARGETING_FILENAME)).updated \
+           $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_TARGETING_FILENAME))
+endef
+
+define RAINIER_4U_XML_BUILD_CMDS
+        # copy the machine xml where the common lives
+        $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_RAINIER_4U_XML_FILENAME)) \
+            $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_RAINIER_4U_XML_FILENAME))
+        $(INSTALL) -m 0644 -D $(@D)/$(call qstrip,$(BR2_RAINIER_4U_XML_BIOS_FILENAME)) \
+            $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip,$(BR2_RAINIER_4U_XML_BIOS_FILENAME))
+
+        # generate the system mrw xml
+        perl -I $(RAINIER_4U_XML_MRW_HB_TOOLS) \
+        $(RAINIER_4U_XML_MRW_HB_TOOLS)/processMrw.pl -x \
+            $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_FILENAME))
+
+	$(if $(BR2_RAINIER_4U_XML_FILTER_UNWANTED_ATTRIBUTES), $(call RAINIER_4U_XML_FILTER_UNWANTED_ATTRIBUTES))
+
+        # merge in any system specific attributes, hostboot attributes
+        $(RAINIER_4U_XML_MRW_HB_TOOLS)/mergexml.sh \
+            $(call qstrip,$(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_SYSTEM_FILENAME)) \
+            $(RAINIER_4U_XML_MRW_HB_TOOLS)/attribute_types.xml \
+            $(RAINIER_4U_XML_MRW_HB_TOOLS)/attribute_types_hb.xml \
+            $(RAINIER_4U_XML_OPPOWERVM_ATTR_XML) \
+            $(RAINIER_4U_XML_MRW_HB_TOOLS)/attribute_types_openpower.xml \
+            $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_merged.xml \
+            $(RAINIER_4U_XML_MRW_HB_TOOLS)/target_types_hb.xml \
+            $(RAINIER_4U_XML_OPPOWERVM_TARGET_XML) \
+            $(RAINIER_4U_XML_TARGET_TYPES_OPENPOWER_XML) \
+            $(call qstrip, \
+                $(RAINIER_4U_XML_MRW_SCRATCH)/$(BR2_RAINIER_4U_XML_TARGETING_FILENAME)) \
+            > $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(call qstrip, \
+                $(BR2_RAINIER_4U_XML_TARGETING_FILENAME))_temporary_hb.hb.xml;
+
+        # creating the targeting binary
+        # XXX TODO: xmltohb.pl creates a 'targeting.bin' in the output directory, we want
+        #           that file to be unique if we don't want to risk collisions on eventual
+        #           parallel builds
+        $(RAINIER_4U_XML_MRW_HB_TOOLS)/xmltohb.pl  \
+            --hb-xml-file=$(RAINIER_4U_XML_MRW_HB_TOOLS)/$(call qstrip, \
+                $(BR2_RAINIER_4U_XML_TARGETING_FILENAME))_temporary_hb.hb.xml \
+            --fapi-attributes-xml-file=$(RAINIER_4U_XML_MRW_HB_TOOLS)/fapiattrs.xml \
+            --src-output-dir=$(RAINIER_4U_XML_MRW_HB_TOOLS)/ \
+            --img-output-dir=$(RAINIER_4U_XML_MRW_HB_TOOLS)/ \
+            --vmm-consts-file=$(RAINIER_4U_XML_MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
+            --bios-xml-file=$(RAINIER_4U_XML_BIOS_CONFIG_FILE) \
+            --bios-schema-file=$(RAINIER_4U_XML_BIOS_SCHEMA_FILE) \
+            --bios-output-file=$(RAINIER_4U_XML_BIOS_METADATA_FILE)
+
+        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
+        xsltproc -o \
+            $(RAINIER_4U_XML_PETITBOOT_BIOS_METADATA_FILE) \
+            $(RAINIER_4U_XML_PETITBOOT_XSLT_FILE) \
+            $(RAINIER_4U_XML_BIOS_METADATA_FILE)
+
+        # Create the wofdata
+        if [ -e $(RAINIER_4U_XML_MRW_HB_TOOLS)/wof-tables-img ]; then \
+            chmod +x $(RAINIER_4U_XML_MRW_HB_TOOLS)/wof-tables-img; \
+        fi
+
+        if [ -d $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+            $(BR2_RAINIER_4U_XML_FILENAME:.xml=.wofdata)) ]; then \
+            $(RAINIER_4U_XML_MRW_HB_TOOLS)/wof-tables-img \
+                --create $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+                    $(RAINIER_4U_XML_FILENAME:.xml=.wof_output)) \
+                $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+                    $(BR2_RAINIER_4U_XML_FILENAME:.xml=wofdata)); \
+        fi
+
+        # Create the MEMD binary
+        if [ -e $(RAINIER_4U_XML_MRW_HB_TOOLS)/memd_creation.pl ]; then \
+            chmod +x $(RAINIER_4U_XML_MRW_HB_TOOLS)/memd_creation.pl; \
+        fi
+
+        if [ -d $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+            $(BR2_RAINIER_4U_XML_FILENAME:.xml=.memd_binaries)) ]; then \
+            $(RAINIER_4U_XML_MRW_HB_TOOLS)/memd_creation.pl \
+                -memd_dir $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+                    $(BR2_RAINIER_4U_XML_FILENAME:.xml=.memd_binaries)) \
+                -memd_output $(RAINIER_4U_XML_MRW_SCRATCH)/$(call qstrip, \
+                    $(BR2_RAINIER_4U_XML_FILENAME:.xml=.memd_output.dat)); \
+        fi
+
+endef
+
+define RAINIER_4U_XML_INSTALL_IMAGES_CMDS
+        mv $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin $(call qstrip, \
+            $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_4U_XML_TARGETING_BIN_FILENAME))
+        if [ -e $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin.protected ]; then \
+            mv -v $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin.protected \
+                $(call qstrip, \
+                    $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_4U_XML_TARGETING_BIN_FILENAME)).protected; \
+        fi
+        if [ -e $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin.unprotected ]; then \
+            mv -v $(RAINIER_4U_XML_MRW_HB_TOOLS)/targeting.bin.unprotected \
+                $(call qstrip, \
+                    $(RAINIER_4U_XML_MRW_HB_TOOLS)/$(BR2_RAINIER_4U_XML_TARGETING_BIN_FILENAME)).unprotected; \
+        fi
+endef
+
+define RAINIER_4U_XML_INSTALL_TARGET_CMDS
+        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
+        $(INSTALL) -D -m 0644 \
+            $(RAINIER_4U_XML_PETITBOOT_BIOS_METADATA_FILE) \
+            $(RAINIER_4U_XML_PETITBOOT_BIOS_INITRAMFS_FILE)
+endef
+
+$(eval $(generic-package))
diff --git a/openpower/package/sb-signing-framework/Config.in b/openpower/package/sb-signing-framework/Config.in
index 7ac3848..406a322 100644
--- a/openpower/package/sb-signing-framework/Config.in
+++ b/openpower/package/sb-signing-framework/Config.in
@@ -1,5 +1,5 @@
 config BR2_PACKAGE_HOST_SB_SIGNING_FRAMEWORK
         bool "OpenPOWER secureboot signing server interface"
-        default y if BR2_OPENPOWER_PLATFORM && ((BR2_OPENPOWER_SECUREBOOT_SIGN_MODE = "production") || (BR2_OPENPOWER_SECUREBOOT_KEY_TRANSITION_TO_PROD) )
+        default y if BR2_OPENPOWER_PLATFORM && ((BR2_OPENPOWER_SECUREBOOT_SIGN_MODE = "production") || (BR2_OPENPOWER_SECUREBOOT_KEY_TRANSITION_TO_PROD) || (BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE = "production") || (BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_PROD) )
         help
             Client interface to signing server for signing OpenPOWER firmware images
diff --git a/openpower/package/sb-signing-utils/sb-signing-utils.mk b/openpower/package/sb-signing-utils/sb-signing-utils.mk
index cba03e3..70b1ae4 100644
--- a/openpower/package/sb-signing-utils/sb-signing-utils.mk
+++ b/openpower/package/sb-signing-utils/sb-signing-utils.mk
@@ -16,6 +16,10 @@
 HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework
 else ifeq ($(BR2_OPENPOWER_SECUREBOOT_KEY_TRANSITION_TO_PROD),y)
 HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework
+else ifeq ($(BR2_OPENPOWER_P10_SECUREBOOT_SIGN_MODE),production)
+HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework
+else ifeq ($(BR2_OPENPOWER_P10_SECUREBOOT_KEY_TRANSITION_TO_PROD),y)
+HOST_SB_SIGNING_UTILS_DEPENDENCIES += host-sb-signing-framework
 endif
 
 HOST_SB_SIGNING_UTILS_AUTORECONF = YES
diff --git a/openpower/package/sbe-p10/sbe-p10.mk b/openpower/package/sbe-p10/sbe-p10.mk
index 9ebe164..de85d15 100644
--- a/openpower/package/sbe-p10/sbe-p10.mk
+++ b/openpower/package/sbe-p10/sbe-p10.mk
@@ -19,6 +19,12 @@
 SBE_P10_INSTALL_IMAGES = YES
 SBE_P10_INSTALL_TARGET = NO
 
+ifeq ($(BR2_PACKAGE_OPENPOWER_PNOR_P10),y)
+BINARY_SBE_FILENAME=$(BR2_HOSTBOOT_P10_BINARY_SBE_FILENAME)
+else
+BINARY_SBE_FILENAME=$(BR2_HOSTBOOT_BINARY_SBE_FILENAME)
+endif
+
 define SBE_P10_BUILD_CMDS
 	SBE_COMMIT_ID=$(SBE_P10_VERSION) $(MAKE) -C $(@D) \
 		LD_LIBRARY_PATH=$(HOST_DIR)/usr/lib \
@@ -28,7 +34,7 @@
 
 define SBE_P10_INSTALL_IMAGES_CMDS
 	$(INSTALL) -D $(@D)/images/ipl_image_tool $(HOST_DIR)/usr/bin/
-	python $(@D)/src/build/sbeOpDistribute.py  --sbe_binary_dir=$(STAGING_DIR)/sbe_binaries --img_dir=$(@D)/images --sbe_binary_filename $(BR2_HOSTBOOT_BINARY_SBE_FILENAME)
+	python $(@D)/src/build/sbeOpDistribute.py  --sbe_binary_dir=$(STAGING_DIR)/sbe_binaries --img_dir=$(@D)/images --sbe_binary_filename $(BINARY_SBE_FILENAME)
 	cp $(@D)/src/build/sbeOpDistribute.py $(STAGING_DIR)/sbe_binaries/
 	cp $(@D)/src/build/sbeOpToolsRegister.py $(STAGING_DIR)/sbe_binaries/
 endef
