Enabled dynamic device tree generation

In this commit, added support to auto generate the device tree blob
file for BMC apps and Hostboot to read/write targets and attributes
during ipling to boot the server.

Signed-off-by: Ramesh Iyyar <rameshi1@in.ibm.com>
diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index b7a0f04..f344875 100755
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -28,3 +28,4 @@
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ocmb-explorer-fw/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/fsp-trace/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ekb/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/pdata/Config.in"
diff --git a/openpower/package/pdata/Config.in b/openpower/package/pdata/Config.in
new file mode 100644
index 0000000..cd688ae
--- /dev/null
+++ b/openpower/package/pdata/Config.in
@@ -0,0 +1,40 @@
+menu "pdata"
+
+config BR2_PACKAGE_PDATA
+        bool "pdata"
+        default y if (BR2_OPENPOWER_POWER10)
+        depends on BR2_PACKAGE_EKB
+        depends on BR2_PACKAGE_MACHINE_XML
+        help
+          To initialize and boot a server, various software components
+          ( BMC apps and Hostboot) will interact. PDATA provides device tree
+          based infrastructure to get the attributes which are required
+          to boot the server and run time usage. Also provides API's
+          to manage the attributes data.
+
+if BR2_PACKAGE_PDATA
+
+choice
+    prompt "PDATA version"
+    default BR2_PDATA_LATEST_VERSION
+
+config BR2_PDATA_LATEST_VERSION
+    bool "Use latest PDATA master"
+
+config BR2_PDATA_CUSTOM_VERSION
+    bool "Custom PDATA version"
+
+endchoice
+
+config BR2_PDATA_CUSTOM_VERSION_VALUE
+    string "PDATA version"
+    depends on BR2_PDATA_CUSTOM_VERSION
+
+config BR2_PDATA_VERSION
+    string
+    default "d28cf26ee82b11e76daf0ab21b79421e72222cee" if BR2_PDATA_LATEST_VERSION
+    default BR2_PDATA_CUSTOM_VERSION_VALUE if BR2_PDATA_CUSTOM_VERSION
+
+endif
+
+endmenu
diff --git a/openpower/package/pdata/pdata.mk b/openpower/package/pdata/pdata.mk
new file mode 100644
index 0000000..9cb811b
--- /dev/null
+++ b/openpower/package/pdata/pdata.mk
@@ -0,0 +1,42 @@
+################################################################################
+#
+# pdata
+#
+################################################################################
+
+PDATA_VERSION = $(call qstrip,$(BR2_PDATA_VERSION))
+# TODO: WORKAROUND: Need to reenable next line and comment out the two lines
+# 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
+
+PDATA_LICENSE = Apache-2.0
+PDATA_LICENSE_FILES = $(@D)/LICENSE
+PDATA_INSTALL_STAGING = YES
+PDATA_INSTALL_TARGET = NO
+PDATA_AUTORECONF = YES
+PDATA_DEPENDENCIES = ekb host-dtc machine-xml
+
+EKB_STAGING_DIR = $(STAGING_DIR)/ekb
+MACHINE_XML_STAGING_DIR = $(STAGING_DIR)/openpower_mrw_scratch
+
+TARGET_PROC =
+ifeq ($(BR2_OPENPOWER_POWER10),y)
+TARGET_PROC = p10
+endif
+
+QSTRIP_MACHINE_XML = $(call qstrip,$(BR2_OPENPOWER_MACHINE_XML_FILENAME))
+
+PDATA_CONF_OPTS = --enable-gen_dynamicdt
+PDATA_MAKE_OPTS =  SYSTEM_NAME=$(call qstrip,$(BR2_OPENPOWER_CONFIG_NAME)) \
+				   TARGET_PROC=$(TARGET_PROC) \
+				   EKB=$(EKB_STAGING_DIR) \
+				   SYSTEM_MRW_XML=$(MACHINE_XML_STAGING_DIR)/$(QSTRIP_MACHINE_XML) \
+
+define PDATA_CREATE_M4_DIR
+		mkdir -p $(@D)/m4
+endef
+
+PDATA_PRE_CONFIGURE_HOOKS += PDATA_CREATE_M4_DIR
+$(eval $(autotools-package))