intel/common/systemagent: Add API to get SOC specific PRMRR base and mask

Implement weak definition and SOC specific code would implement
actual definition.

Change-Id: I5e787a2603aaa475cb5c61558cc31ec0afcb4a8b
Signed-off-by: Pratik Prajapati <pratikkumar.v.prajapati@intel.com>
Reviewed-on: https://review.coreboot.org/21243
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/soc/intel/common/block/include/intelblocks/systemagent.h b/src/soc/intel/common/block/include/intelblocks/systemagent.h
index 4ca19e6..522d924 100644
--- a/src/soc/intel/common/block/include/intelblocks/systemagent.h
+++ b/src/soc/intel/common/block/include/intelblocks/systemagent.h
@@ -100,4 +100,7 @@
  */
 void soc_add_fixed_mmio_resources(struct device *dev, int *resource_cnt);
 
+/* SoC specific APIs to get UNCORE PRMRR base and mask values
+ * returns 0, if able to get base and mask values; otherwise returns -1 */
+int soc_get_uncore_prmmr_base_and_mask(uint64_t *base, uint64_t *mask);
 #endif	/* SOC_INTEL_COMMON_BLOCK_SA_H */
diff --git a/src/soc/intel/common/block/systemagent/systemagent.c b/src/soc/intel/common/block/systemagent/systemagent.c
index cb7af41..3be65f9 100644
--- a/src/soc/intel/common/block/systemagent/systemagent.c
+++ b/src/soc/intel/common/block/systemagent/systemagent.c
@@ -36,6 +36,13 @@
 	/* no-op */
 }
 
+__attribute__((weak)) int soc_get_uncore_prmmr_base_and_mask(uint64_t *base,
+		uint64_t *mask)
+{
+	/* return failure for this dummy API */
+	return -1;
+}
+
 /*
  * Add all known fixed MMIO ranges that hang off the host bridge/memory
  * controller device.