diff options
author | Anusha Reddy Rangareddygari <anusrang@in.ibm.com> | 2016-06-10 07:39:15 +0200 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-06-10 12:38:09 -0400 |
commit | 8982298e49060894c3c4e3645e09119eaff64666 (patch) | |
tree | aed399b10a5ea2c5b69bbfe094f7584abceb286e /src/import | |
parent | 572cd36df91c53f11ec9d73ea583fb401f18d622 (diff) | |
download | talos-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>
Diffstat (limited to 'src/import')
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 ================================================================= --> |