summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnusha Reddy Rangareddygari <anusrang@in.ibm.com>2016-06-10 07:39:15 +0200
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-06-10 12:38:09 -0400
commit8982298e49060894c3c4e3645e09119eaff64666 (patch)
treeaed399b10a5ea2c5b69bbfe094f7584abceb286e
parent572cd36df91c53f11ec9d73ea583fb401f18d622 (diff)
downloadtalos-hostboot-8982298e49060894c3c4e3645e09119eaff64666.tar.gz
talos-hostboot-8982298e49060894c3c4e3645e09119eaff64666.zip
Level 2 HWP for p9_set_fsi_gp_shadow
Change-Id: If08c3550b6f8b8a3efc158d1eaaa3234d22b7bb5 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25604 Tested-by: Jenkins Server Tested-by: PPE CI Tested-by: Hostboot CI Reviewed-by: Soma Bhanutej <soma.bhanu@in.ibm.com> Reviewed-by: Sunil Kumar <skumar8j@in.ibm.com> Reviewed-by: PARVATHI RACHAKONDA <prachako@in.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25606 Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.C168
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.H18
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/pervasive_attributes.xml110
-rw-r--r--src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml38
4 files changed, 92 insertions, 242 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.C b/src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.C
index 2503ee100..c65a009b5 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.C
@@ -41,118 +41,70 @@
fapi2::ReturnCode p9_set_fsi_gp_shadow(const
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target_chip)
{
- fapi2::buffer<uint32_t> l_read_attr = 0;
+ fapi2::buffer<uint8_t> l_read_attr;
FAPI_INF("Entering ...");
- FAPI_DBG("Reading ATTR_ROOT_CTRL0_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL0_SHADOW, i_target_chip,
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_FSI_GP_SHADOWS_OVERWRITE, i_target_chip,
l_read_attr));
- FAPI_DBG("Setting ROOT_CTRL0_COPY Reg");
- //Setting ROOT_CTRL0_COPY register value
- //CFAM.ROOT_CTRL0_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL0_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_ROOT_CTRL1_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL1_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting ROOT_CTRL1_COPY Reg");
- //Setting ROOT_CTRL1_COPY register value
- //CFAM.ROOT_CTRL1_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL1_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_ROOT_CTRL2_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL2_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting ROOT_CTRL2_COPY Reg");
- //Setting ROOT_CTRL2_COPY register value
- //CFAM.ROOT_CTRL2_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL2_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_ROOT_CTRL3_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL3_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting ROOT_CTRL3_COPY Reg");
- //Setting ROOT_CTRL3_COPY register value
- //CFAM.ROOT_CTRL3_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL3_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_ROOT_CTRL4_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL4_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting ROOT_CTRL4_COPY Reg");
- //Setting ROOT_CTRL4_COPY register value
- //CFAM.ROOT_CTRL4_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL4_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_ROOT_CTRL5_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL5_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting ROOT_CTRL5_COPY Reg");
- //Setting ROOT_CTRL5_COPY register value
- //CFAM.ROOT_CTRL5_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL5_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_ROOT_CTRL6_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL6_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting ROOT_CTRL6_COPY Reg");
- //Setting ROOT_CTRL6_COPY register value
- //CFAM.ROOT_CTRL6_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL6_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_ROOT_CTRL7_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL7_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting ROOT_CTRL7_COPY Reg");
- //Setting ROOT_CTRL7_COPY register value
- //CFAM.ROOT_CTRL7_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL7_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_ROOT_CTRL8_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_ROOT_CTRL8_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting ROOT_CTRL8_COPY Reg");
- //Setting ROOT_CTRL8_COPY register value
- //CFAM.ROOT_CTRL8_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL8_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_PERV_CTRL0_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PERV_CTRL0_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting PERV_CTRL0_COPY Reg");
- //Setting PERV_CTRL0_COPY register value
- //CFAM.PERV_CTRL0_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_PERV_CTRL0_COPY_FSI,
- l_read_attr));
-
- FAPI_DBG("Reading ATTR_PERV_CTRL1_SHADOW");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PERV_CTRL1_SHADOW, i_target_chip,
- l_read_attr));
-
- FAPI_DBG("Setting PERV_CTRL1_COPY Reg");
- //Setting PERV_CTRL1_COPY register value
- //CFAM.PERV_CTRL1_COPY = l_read_attr
- FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_PERV_CTRL1_COPY_FSI,
- l_read_attr));
+ if ( l_read_attr )
+ {
+ FAPI_DBG("Setting flush values for root_ctrl_copy and perv_ctrl_copy registers");
+ //Setting ROOT_CTRL0_COPY register value
+ //CFAM.ROOT_CTRL0_COPY = p9SetFsiGpShadow::ROOT_CTRL0_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL0_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL0_FLUSHVALUE));
+
+ //Setting ROOT_CTRL1_COPY register value
+ //CFAM.ROOT_CTRL1_COPY = p9SetFsiGpShadow::ROOT_CTRL1_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL1_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL1_FLUSHVALUE));
+
+ //Setting ROOT_CTRL2_COPY register value
+ //CFAM.ROOT_CTRL2_COPY = p9SetFsiGpShadow::ROOT_CTRL2_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL2_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL2_FLUSHVALUE));
+
+ //Setting ROOT_CTRL3_COPY register value
+ //CFAM.ROOT_CTRL3_COPY = p9SetFsiGpShadow::ROOT_CTRL3_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL3_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL3_FLUSHVALUE));
+
+ //Setting ROOT_CTRL4_COPY register value
+ //CFAM.ROOT_CTRL4_COPY = p9SetFsiGpShadow::ROOT_CTRL4_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL4_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL4_FLUSHVALUE));
+
+ //Setting ROOT_CTRL5_COPY register value
+ //CFAM.ROOT_CTRL5_COPY = p9SetFsiGpShadow::ROOT_CTRL5_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL5_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL5_FLUSHVALUE));
+
+ //Setting ROOT_CTRL6_COPY register value
+ //CFAM.ROOT_CTRL6_COPY = p9SetFsiGpShadow::ROOT_CTRL6_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL6_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL6_FLUSHVALUE));
+
+ //Setting ROOT_CTRL7_COPY register value
+ //CFAM.ROOT_CTRL7_COPY = p9SetFsiGpShadow::ROOT_CTRL7_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL7_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL7_FLUSHVALUE));
+
+ //Setting ROOT_CTRL8_COPY register value
+ //CFAM.ROOT_CTRL8_COPY = p9SetFsiGpShadow::ROOT_CTRL8_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_ROOT_CTRL8_COPY_FSI,
+ p9SetFsiGpShadow::ROOT_CTRL8_FLUSHVALUE));
+
+ //Setting PERV_CTRL0_COPY register value
+ //CFAM.PERV_CTRL0_COPY = p9SetFsiGpShadow::PERV_CTRL0_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_PERV_CTRL0_COPY_FSI,
+ p9SetFsiGpShadow::PERV_CTRL0_FLUSHVALUE));
+
+ //Setting PERV_CTRL1_COPY register value
+ //CFAM.PERV_CTRL1_COPY = p9SetFsiGpShadow::PERV_CTRL1_FLUSHVALUE
+ FAPI_TRY(fapi2::putCfamRegister(i_target_chip, PERV_PERV_CTRL1_COPY_FSI,
+ p9SetFsiGpShadow::PERV_CTRL1_FLUSHVALUE));
+ }
FAPI_INF("Exiting ...");
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.H b/src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.H
index 2df25643c..ec19830ce 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.H
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_set_fsi_gp_shadow.H
@@ -37,6 +37,24 @@
#include <fapi2.H>
+namespace p9SetFsiGpShadow
+{
+enum P9_SET_FSI_GP_SHADOW_Public_Constants
+{
+ PERV_CTRL0_FLUSHVALUE = 0x7C0E2000,
+ PERV_CTRL1_FLUSHVALUE = 0x63C00000,
+ ROOT_CTRL1_FLUSHVALUE = 0x00180000,
+ ROOT_CTRL2_FLUSHVALUE = 0x0000E000,
+ ROOT_CTRL7_FLUSHVALUE = 0x0,
+ ROOT_CTRL8_FLUSHVALUE = 0xEEECF300,
+ ROOT_CTRL0_FLUSHVALUE = 0x80FF4003,
+ ROOT_CTRL3_FLUSHVALUE = 0x0080C000,
+ ROOT_CTRL4_FLUSHVALUE = 0x0,
+ ROOT_CTRL5_FLUSHVALUE = 0x0,
+ ROOT_CTRL6_FLUSHVALUE = 0x00800000
+};
+}
+
typedef fapi2::ReturnCode (*p9_set_fsi_gp_shadow_FP_t)(const
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&);
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/pervasive_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/pervasive_attributes.xml
index 668c989c6..5c91f196a 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/pervasive_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/pervasive_attributes.xml
@@ -581,110 +581,11 @@
</attribute>
<attribute>
- <id>ATTR_PERV_CTRL0_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Perv_ctrl0</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_PERV_CTRL1_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value of Perv_ctrl1</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL0_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Root_ctrl0</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL1_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Root_ctrl1</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL2_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Root_ctrl2</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL3_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value of Root_ctrl3</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL4_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Root_ctrl4</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL5_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Root_ctrl5</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL6_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Root_ctrl6</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL7_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Root_ctrl7</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_ROOT_CTRL8_SHADOW</id>
- <targetType>TARGET_TYPE_PROC_CHIP</targetType>
- <description>Flush value for Root_ctrl8</description>
- <valueType>uint32</valueType>
- <platInit/>
- <writeable/>
-</attribute>
-
-<attribute>
<id>ATTR_VITL_CLK_SETUP</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
<description>Nimbus DD1</description>
<valueType>uint8</valueType>
- <writeable/>
+ <platInit/>
</attribute>
<attribute>
@@ -740,4 +641,13 @@
<valueType>uint8</valueType>
<platInit/>
</attribute>
+
+<attribute>
+ <id>ATTR_FSI_GP_SHADOWS_OVERWRITE</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>DD1 attribute for assigning flushvalues to root_ctrl and perv_ctrl registers</description>
+ <valueType>uint8</valueType>
+ <platInit/>
+</attribute>
+
</attributes>
diff --git a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml
index 7fb5d8f51..b9040067e 100644
--- a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml
+++ b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml
@@ -159,40 +159,7 @@
</attribute>
<attribute>
<id>ATTR_PFET_OFF_CONTROLS</id>
- </attribute>
- <attribute>
- <id>ATTR_PERV_CTRL0_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_PERV_CTRL1_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL0_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL1_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL2_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL3_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL4_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL5_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL6_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL7_SHADOW</id>
- </attribute>
- <attribute>
- <id>ATTR_ROOT_CTRL8_SHADOW</id>
- </attribute>
+ </attribute>
<attribute>
<id>ATTR_HANG_COUNTER6_SETUP</id>
</attribute>
@@ -241,6 +208,9 @@
<attribute>
<id>ATTR_C1_IS_SCANABLE</id>
</attribute>
+ <attribute>
+ <id>ATTR_FSI_GP_SHADOWS_OVERWRITE</id>
+ </attribute>
<!-- =====================================================================
End of temporary definitions
================================================================= -->
OpenPOWER on IntegriCloud