summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/initfiles
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2017-10-18 11:24:59 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2017-10-19 12:48:42 -0400
commit6c15678d720cc3b68b52c6552c5abe30445e7bdc (patch)
tree3704d4e07867590692da14d1e4a10531de16c8b7 /src/import/chips/p9/initfiles
parentfd4de992fb7f67d11a4c1b72aa0a12d09d29f18a (diff)
downloadtalos-hostboot-6c15678d720cc3b68b52c6552c5abe30445e7bdc.tar.gz
talos-hostboot-6c15678d720cc3b68b52c6552c5abe30445e7bdc.zip
Remove unneeded init files
These should have never been mirrored Change-Id: Ie54cb57040a95768dada9fc2b22b6811589865e8 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48564 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/initfiles')
-rw-r--r--src/import/chips/p9/initfiles/p9n.mc.scan.initfile172
-rw-r--r--src/import/chips/p9/initfiles/p9n.mca.scom.initfile1133
-rw-r--r--src/import/chips/p9/initfiles/p9n.mcbist.scom.initfile97
-rw-r--r--src/import/chips/p9/initfiles/p9n.mcs.scom.initfile251
4 files changed, 0 insertions, 1653 deletions
diff --git a/src/import/chips/p9/initfiles/p9n.mc.scan.initfile b/src/import/chips/p9/initfiles/p9n.mc.scan.initfile
deleted file mode 100644
index cb43d85d1..000000000
--- a/src/import/chips/p9/initfiles/p9n.mc.scan.initfile
+++ /dev/null
@@ -1,172 +0,0 @@
-SyntaxVersion = 3
-
-target_type 0 TARGET_TYPE_PROC_CHIP;
-
-
-##########################
-# DD1 WORKAROUNDS
-##########################
-
-# FOR DD1 Prefetch Limit needs to be scan init to 0 because SCOM is broken (HW366248)
-# Always OR-ed with previous value. Essentially we can only set bits, not clear. So we want to scan init to 0.
-# these are n1 n3
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L && ATTR_CHIP_EC_FEATURE_HW366248] {
- spyv;
- 0b111111;
-}
-ispy MC01.PORT1.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L && ATTR_CHIP_EC_FEATURE_HW366248] {
- spyv;
- 0b111111;
-}
-ispy MC01.PORT2.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L && ATTR_CHIP_EC_FEATURE_HW366248] {
- spyv;
- 0b111111;
-}
-ispy MC01.PORT3.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L && ATTR_CHIP_EC_FEATURE_HW366248] {
- spyv;
- 0b111111;
-}
-ispy MC23.PORT0.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L && ATTR_CHIP_EC_FEATURE_HW366248] {
- spyv;
- 0b111111;
-}
-ispy MC23.PORT1.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L && ATTR_CHIP_EC_FEATURE_HW366248] {
- spyv;
- 0b111111;
-}
-ispy MC23.PORT2.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L && ATTR_CHIP_EC_FEATURE_HW366248] {
- spyv;
- 0b111111;
-}
-ispy MC23.PORT3.ATCL.CL.CLSCOM.MCPERF0_PREFETCH_LIMIT [when=L && ATTR_CHIP_EC_FEATURE_HW366248] {
- spyv;
- 0b111111;
-}
-
-# Static hpc_wr/ig_wr CL reservation
-# Complicated order dependent sequence to do with SCOMs, easier with scans
-# these are n1 n3
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] {
- spyv;
- 8;
-}
-ispy MC01.PORT1.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] {
- spyv;
- 8;
-}
-ispy MC01.PORT2.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] {
- spyv;
- 8;
-}
-ispy MC01.PORT3.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] {
- spyv;
- 8;
-}
-ispy MC23.PORT0.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] {
- spyv;
- 8;
-}
-ispy MC23.PORT1.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] {
- spyv;
- 8;
-}
-ispy MC23.PORT2.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] {
- spyv;
- 8;
-}
-ispy MC23.PORT3.ATCL.CL.CLSCOM.MCPERF0_WR_RSVD_LOWER_OR_STATIC_LIMIT [when=L] {
- spyv;
- 8;
-}
-
-
-# WORKAROUND FOR HW375544 / HW392781
-
-ispy MC01.PORT0.READ.RDATA_ARY(0,1,2,3).SFT_MAC.SFT.LCBCNTL_BLK_RF.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_MSS_HW392781_RDARRAY_CLKGATE] {
- spyv;
- 0b1;
-}
-ispy MC01.PORT1.READ.RDATA_ARY(0,1,2,3).SFT_MAC.SFT.LCBCNTL_BLK_RF.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_MSS_HW392781_RDARRAY_CLKGATE] {
- spyv;
- 0b1;
-}
-ispy MC01.PORT2.READ.RDATA_ARY(0,1,2,3).SFT_MAC.SFT.LCBCNTL_BLK_RF.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_MSS_HW392781_RDARRAY_CLKGATE] {
- spyv;
- 0b1;
-}
-ispy MC01.PORT3.READ.RDATA_ARY(0,1,2,3).SFT_MAC.SFT.LCBCNTL_BLK_RF.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_MSS_HW392781_RDARRAY_CLKGATE] {
- spyv;
- 0b1;
-}
-ispy MC23.PORT0.READ.RDATA_ARY(0,1,2,3).SFT_MAC.SFT.LCBCNTL_BLK_RF.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_MSS_HW392781_RDARRAY_CLKGATE] {
- spyv;
- 0b1;
-}
-ispy MC23.PORT1.READ.RDATA_ARY(0,1,2,3).SFT_MAC.SFT.LCBCNTL_BLK_RF.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_MSS_HW392781_RDARRAY_CLKGATE] {
- spyv;
- 0b1;
-}
-ispy MC23.PORT2.READ.RDATA_ARY(0,1,2,3).SFT_MAC.SFT.LCBCNTL_BLK_RF.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_MSS_HW392781_RDARRAY_CLKGATE] {
- spyv;
- 0b1;
-}
-ispy MC23.PORT3.READ.RDATA_ARY(0,1,2,3).SFT_MAC.SFT.LCBCNTL_BLK_RF.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_MSS_HW392781_RDARRAY_CLKGATE] {
- spyv;
- 0b1;
-}
-
-# HW400932
-ispy MC01.PBI01.LCBCNTL_BLK1.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_HW400932] {
- spyv;
- 1;
-}
-ispy MC01.PBI23.LCBCNTL_BLK1.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_HW400932] {
- spyv;
- 1;
-}
-ispy MC23.PBI01.LCBCNTL_BLK1.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_HW400932] {
- spyv;
- 1;
-}
-ispy MC23.PBI23.LCBCNTL_BLK1.CLOCKGATE_DISABLE [when=L && ATTR_CHIP_EC_FEATURE_HW400932] {
- spyv;
- 1;
-}
-
-##########################
-# DD2
-##########################
-
-# chicken switch to have MC timeout detection ignore htm not properly set
-espy MC01.PORT0.ATCL.CL.DISABLE_ERIC_DD2_10_HTM_TO_FIX [when=L && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-espy MC01.PORT1.ATCL.CL.DISABLE_ERIC_DD2_10_HTM_TO_FIX [when=L && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-espy MC01.PORT2.ATCL.CL.DISABLE_ERIC_DD2_10_HTM_TO_FIX [when=L && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-espy MC01.PORT3.ATCL.CL.DISABLE_ERIC_DD2_10_HTM_TO_FIX [when=L && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-espy MC23.PORT0.ATCL.CL.DISABLE_ERIC_DD2_10_HTM_TO_FIX [when=L && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-espy MC23.PORT1.ATCL.CL.DISABLE_ERIC_DD2_10_HTM_TO_FIX [when=L && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-espy MC23.PORT2.ATCL.CL.DISABLE_ERIC_DD2_10_HTM_TO_FIX [when=L && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-espy MC23.PORT3.ATCL.CL.DISABLE_ERIC_DD2_10_HTM_TO_FIX [when=L && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
diff --git a/src/import/chips/p9/initfiles/p9n.mca.scom.initfile b/src/import/chips/p9/initfiles/p9n.mca.scom.initfile
deleted file mode 100644
index 1b5eddf9b..000000000
--- a/src/import/chips/p9/initfiles/p9n.mca.scom.initfile
+++ /dev/null
@@ -1,1133 +0,0 @@
-# Joe's initfile reference page:
-# https://w3-connections.ibm.com/wikis/home?lang=en-us#!/wiki/W9dc674bd1c19_432e_9f66_0e8b6ce7195f/page/P9%20Initfile%20Strategy%20%26%20Execution
-# http://ausxgsatm2.austin.ibm.com/gsa/home/j/m/jmcgill/web/public/p8/initfiles/mba_def.initfile
-
-#--******************************************************************************
-#-- IMPORTANT SUPPORT NOTES AS OF 3/28/2017
-#--******************************************************************************
-# Here we assume WL = ATTR_EFF_DRAM_CWL (which is true if no Additive Latency / Posted CAS).
-# So no support for Posted CAS / Additive latency
-# Only supports Burst Length 8 (CODE AND LOGIC STATEMENT)
-# Initfile is hardcoded assuming BL=8 and BL/2=4
-# Attribute does exist for Burst length. However, Nimbus logic does NOT support any other burst lengths
-# If other burst lengths are to be supported, a logic change would be required
-# Only supports RDIMM with RDIMM and LRDIMM with LRDIMM, no mixing (CODE AND LOGIC STATEMENT)
-# Logic would have to support different wr data delays to differen DIMMs. It does NOT.
-#
-#--******************************************************************************
-#-- FUTURE ENHANCEMENTS
-#--******************************************************************************
-# ATTR_EFF_TCCD_S attribute (hardcoded to 4 for now)
-
-
-#--******************************************************************************
-#-- REFERENCES FOR FILE (note: exact paths may move)
-#--******************************************************************************
-# Files used to check what target type attributes are
-# ekb/chips/p9/procedures/xml/attribute_info/*.xml
-# Example:
-# <id>ATTR_EFF_NUM_RANKS_PER_DIMM</id>
-# <targetType>TARGET_TYPE_MCS</targetType>
-# File used to see if attribute is 1D or 2D array
-# ekb/output/gen/attribute_ids.H
-# Example:
-# typedef uint8_t ATTR_EFF_DIMM_TYPE_Type[2][2];
-# File for finding correct spydef name
-# 1st find the spydef file this ekb build is looking at by finding SPYDEF_FILE_LOCATION in file below
-# ekb/tools/ifCompiler/scan_procedures.mk
-# 2nd open *.spydef in that dir and search for spy names
-# /afs/awd/projects/eclipz/lab/p9/vbu_models/n10_e9067_tp058_ec163uXXa_soa_sq_u190_01/edc/*.spydef
-# (File comes from actually building a vbu file and looking at the spydef)
-# Example:
-# idial MCP.PORT1.SRQ.PC.MBAREF0Q_CFG_TRFC {
-# Wrapper file calling this
-# ekb/chips/p9/procedures/hwp/memory/p9_mss_scominit.C
-# Output file generated
-# ekb/chips/p9/procedures/hwp/initfiles/p9_mca_scom.C
-#
-# COMMON DEBUG
-# -debug5.16.i6.d
-# If complaining unsupported attribute, try commenting out of attribute in attribute file
-# If complaining memory fault, maybe wrong integer length in attribute file
-
-
-#--******************************************************************************
-#-- Required keywords/variables
-#--******************************************************************************
-
-SyntaxVersion = 3
-
-target_type 0 TARGET_TYPE_MCA;
-target_type 1 TARGET_TYPE_MCBIST;
-target_type 2 TARGET_TYPE_MCS;
-target_type 3 TARGET_TYPE_SYSTEM;
-target_type 4 TARGET_TYPE_PROC_CHIP;
-
-
-define MCBIST = TGT1; # If referencing Attr from mcbist, add "MCBIST." in front
-define MCS = TGT2; # If referencing Attr from mcs, add "MCS." in front
-define SYS = TGT3; # If referencing Attr from system, add "SYS." in front
-define PROC = TGT4; # If referencing Attr from chip, add "PROC." in front
-
-define def_IS_HW = SYS.ATTR_IS_SIMULATION == 0;
-define def_IS_SIM = SYS.ATTR_IS_SIMULATION == 1;
-
-#--******************************************************************************
-#-- Systems Config
-#--******************************************************************************
-
-#--******************************************************************************
-#-- Effective Attributes
-#--******************************************************************************
-
-# PORT INDEX FOR ACCESSING PROPER ENTRY IN ARRAY
-define def_POSITION = ATTR_CHIP_UNIT_POS;
-define def_PORT_INDEX = def_POSITION % 2;
-
-# define frequency range for potential support of sync mode
-define def_MSS_FREQ_EQ_1866 = ( (MCBIST.ATTR_MSS_FREQ<1867));
-define def_MSS_FREQ_EQ_2133 = ((MCBIST.ATTR_MSS_FREQ>=1867) && (MCBIST.ATTR_MSS_FREQ<2134));
-define def_MSS_FREQ_EQ_2400 = ((MCBIST.ATTR_MSS_FREQ>=2134) && (MCBIST.ATTR_MSS_FREQ<2401));
-define def_MSS_FREQ_EQ_2666 = ((MCBIST.ATTR_MSS_FREQ>=2666) );
-
-define def_MEM_TYPE_1866_13 = def_MSS_FREQ_EQ_1866 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 13 );
-define def_MEM_TYPE_1866_14 = def_MSS_FREQ_EQ_1866 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 14 );
-define def_MEM_TYPE_2133_15 = def_MSS_FREQ_EQ_2133 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 15 );
-define def_MEM_TYPE_2133_16 = def_MSS_FREQ_EQ_2133 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 16 );
-define def_MEM_TYPE_2400_16 = def_MSS_FREQ_EQ_2400 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 16 );
-define def_MEM_TYPE_2400_17 = def_MSS_FREQ_EQ_2400 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 17 );
-define def_MEM_TYPE_2400_18 = def_MSS_FREQ_EQ_2400 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 18 );
-define def_MEM_TYPE_2666_18 = def_MSS_FREQ_EQ_2666 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 18 );
-define def_MEM_TYPE_2666_19 = def_MSS_FREQ_EQ_2666 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 19 );
-define def_MEM_TYPE_2666_20 = def_MSS_FREQ_EQ_2666 && ( MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] == 20 );
-
-define def_NUM_RANKS = ( MCS.ATTR_EFF_NUM_RANKS_PER_DIMM[def_PORT_INDEX][0]
- + MCS.ATTR_EFF_NUM_RANKS_PER_DIMM[def_PORT_INDEX][1] );
-
-# We don't have a div 0 problem here as we don't run this if we don't have DIMM so the number of ranks won't be 0.
-define def_REFRESH_INTERVAL = ((MCS.ATTR_EFF_DRAM_TREFI[def_PORT_INDEX])/(8*def_NUM_RANKS));
-
-define def_RANK_SWITCH_TCK = 4 + ((MCBIST.ATTR_MSS_FREQ-1866)/266); # 1866: 4 2133: 5 2400: 6 2666: 7
-define def_BUS_TURNAROUND_TCK = 4 + ((MCBIST.ATTR_MSS_FREQ-1866)/266); # 1866: 4 2133: 5 2400: 6 2666: 7
-
-# Funky ... If the attribute is 0, then the value of the == operation will be 1 which bitwise-or'd with 0 gives us 1. If the attribute is != 0, then the
-# value of the == operation will be 0 which when bitwise-or'd with the attribute will give us the attribute value. Love, Prachi, Jenny, Shelton and Brian.
-define def_SLOT0_DENOMINATOR = (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0] == 0x0) | MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0];
-define def_SLOT1_DENOMINATOR = (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][1] == 0x0) | MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][1];
-
-define def_SLOT0_DRAM_STACK_HEIGHT = ( MCS.ATTR_EFF_NUM_RANKS_PER_DIMM[def_PORT_INDEX][0]
- / def_SLOT0_DENOMINATOR );
-define def_SLOT1_DRAM_STACK_HEIGHT = ( MCS.ATTR_EFF_NUM_RANKS_PER_DIMM[def_PORT_INDEX][1]
- / def_SLOT1_DENOMINATOR );
-
-# Epsilon Related
-# There is a 4 window variance of actual wait for each setting x
-# (Because implemented with a 4 cycle free running timebase)
-# The Window: 4x-3 <= Actual wait <= 4x
-# The attribute ATTR_PROC_EPS_READ_CYCLES_T# represents min wait required
-# Entire window of possible actual waits must be > required wait
-# Working this out in a table
-# EPS NEEDED | SETTING | RESULTANT WAIT
-# 5 | 2 | 5 - 8
-# 6 | 3 | 9 - 12
-# 7 | 3 | 9 - 12
-# 8 | 3 | 9 - 12
-# 9 | 3 | 9 - 12
-# 10 | 4 | 13 - 16
-# Resulting formula: setting = ( required + 6 ) / 4
-
-define def_MC_EPSILON_CFG_T0 = ( SYS.ATTR_PROC_EPS_READ_CYCLES_T0 + 6 ) / 4;
-define def_MC_EPSILON_CFG_T1 = ( SYS.ATTR_PROC_EPS_READ_CYCLES_T1 + 6 ) / 4;
-define def_MC_EPSILON_CFG_T2 = ( SYS.ATTR_PROC_EPS_READ_CYCLES_T2 + 6 ) / 4;
-
-#--******************************************************************************
-#-- Dial Assignments
-#--******************************************************************************
-
-# TMR0 SCOM REGISTER #
-# DRAM TIMING PARAMETERS #
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_RRDM_DLY [when=S] { # BL/2+rank_switch
- spyv;
- 4 + def_RANK_SWITCH_TCK;
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_RRSMSR_DLY [when=S] { # tccd_s
- spyv;
- 4;
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_RRSMDR_DLY [when=S] { # tccd_s
- spyv;
- 4;
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_RROP_DLY [when=S] { # tccd_l
- spyv;
- MCS.ATTR_EFF_DRAM_TCCD_L[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_WWDM_DLY [when=S] { # BL/2+rank_switch
- spyv;
- 4 + def_RANK_SWITCH_TCK;
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_WWSMSR_DLY [when=S] { # tccd_s
- spyv;
- 4;
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_WWSMDR_DLY [when=S] { # tccd_s
- spyv;
- 4;
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_WWOP_DLY [when=S] { # tccd_l
- spyv;
- MCS.ATTR_EFF_DRAM_TCCD_L[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_RWDM_DLY [when=S] { # (RL+BL/2+turn_around)-WL
- spyv;
- MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] + 4 + def_BUS_TURNAROUND_TCK - MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_RWSMSR_DLY [when=S] { # (RL+BL/2+turn_around)-WL
- spyv;
- MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] + 4 + def_BUS_TURNAROUND_TCK - MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_RWSMDR_DLY [when=S] { # (RL+BL/2+turn_around)-WL
- spyv;
- MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] + 4 + def_BUS_TURNAROUND_TCK - MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_WRDM_DLY [when=S] { # (WL+BL/2+turn_around)-RL
- spyv;
- MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX] + 4 + def_BUS_TURNAROUND_TCK - MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_WRSMSR_DLY [when=S] { # WL+BL/2+(Twtr_s/clock period)
- spyv;
- MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX] + 4 + MCS.ATTR_EFF_DRAM_TWTR_S[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR0Q_WRSMDR_DLY [when=S] { # WL+BL/2+Twtr_s
- spyv;
- MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX] + 4 + MCS.ATTR_EFF_DRAM_TWTR_S[def_PORT_INDEX];
-}
-
-
-# TMR1 SCOM REGISTER #
-# DRAM TIMING PARAMETERS #
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_RRSBG_DLY [when=S] { # tCCDL
- spyv;
- MCS.ATTR_EFF_DRAM_TCCD_L[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_WRSBG_DLY [when=S] { # WL+BL/2+Twtr_l
- spyv;
- MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX] + 4 + MCS.ATTR_EFF_DRAM_TWTR_L[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_CFG_TFAW [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TFAW[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_CFG_TRCD [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TRCD[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_CFG_TRP [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TRP[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_CFG_TRAS [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TRAS[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_CFG_WR2PRE [when=S] { # CWL+BL/2+Twr
- spyv;
- MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX] + 4 + MCS.ATTR_EFF_DRAM_TWR[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_CFG_RD2PRE [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TRTP[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_TRRD [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TRRD_S[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_TRRD_SBG [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TRRD_L[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_TMR1Q_CFG_ACT_TO_DIFF_RANK_DLY [when=S] {
- spyv, expr;
- 8, (def_MSS_FREQ_EQ_1866==1);
- 9, (def_MSS_FREQ_EQ_2133==1);
- 10, (def_MSS_FREQ_EQ_2400==1);
- 11, (def_MSS_FREQ_EQ_2666==1);
-}
-
-
-# DSM0 SCOM REGISTER #
-# DRAM TIMING PARAMETERS #
-
-ispy MCP.PORT0.SRQ.MBA_DSM0Q_CFG_RDTAG_DLY [when=S] { # ATTR_EFF_DIMM_TYPE: CDIMM = 0 RDIMM = 1 UDIMM = 2 LRDIMM = 3
- spyv, expr;
-
- # 1/17/2017 INITIAL CONCEPT (HAS SINCE BEEN ADJUSTED):
- # rdtag_dly + 3 + rdptrdly > PHY DELAY + CL
- # rdtag_dly > PHY DELAY + CL - 3 - rdptrdly
- # PHY DELAY = 12 for 1866 and 2133, 13 for 2400 and 2666, +1 for LRDIMM
- # rdptrdly = 1
- # 4/20/2017 ADJUST #1: during performance test, experimentally found can run at -1 value
- # 7/24/2017 ADJUST #2: +1 on 2666, to address fails discovered at 2666 by memory team
- #
- # RESULTANT BELOW:
-
- 17, def_IS_SIM;
-
- 7 + MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX], (def_MSS_FREQ_EQ_1866==1) && (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==1) && def_IS_HW; # RDIMM
- 7 + MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX], (def_MSS_FREQ_EQ_2133==1) && (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==1) && def_IS_HW; # RDIMM
- 8 + MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX], (def_MSS_FREQ_EQ_2400==1) && (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==1) && def_IS_HW; # RDIMM
- 9 + MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX], (def_MSS_FREQ_EQ_2666==1) && (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==1) && def_IS_HW; # RDIMM
-
- 8 + MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX], (def_MSS_FREQ_EQ_1866==1) && (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==3) && def_IS_HW; # LRDIMM
- 8 + MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX], (def_MSS_FREQ_EQ_2133==1) && (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==3) && def_IS_HW; # LRDIMM
- 9 + MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX], (def_MSS_FREQ_EQ_2400==1) && (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==3) && def_IS_HW; # LRDIMM
- 10 + MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX], (def_MSS_FREQ_EQ_2666==1) && (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==3) && def_IS_HW; # LRDIMM
-
-}
-
-ispy MCP.PORT0.SRQ.MBA_DSM0Q_CFG_WRDATA_DLY [when=S] {
- spyv, expr;
- MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX] + MCS.ATTR_MSS_VPD_MR_DPHY_WLO[def_PORT_INDEX] - 8, (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]==1); # RDIMM
- MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX] + MCS.ATTR_MSS_VPD_MR_DPHY_WLO[def_PORT_INDEX] - 9, (MCS.ATTR_EFF_DIMM_TYPE[def_PORT_INDEX][0]!=1); # not RDIMM
-}
-
-ispy MCP.PORT0.SRQ.MBA_DSM0Q_CFG_WRDONE_DLY [when=S] {
- spyv;
- 24;
-}
-
-ispy MCP.PORT0.SRQ.MBA_DSM0Q_CFG_RODT_START_DLY [when=S] {
- spyv;
- # CL - CWL
- MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] - MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.MBA_DSM0Q_CFG_RODT_END_DLY [when=S] {
- spyv;
- # CL - CWL + BL/2 + 1
- MCS.ATTR_EFF_DRAM_CL[def_PORT_INDEX] - MCS.ATTR_EFF_DRAM_CWL[def_PORT_INDEX] + 5;
-}
-
-ispy MCP.PORT0.SRQ.MBA_DSM0Q_CFG_WODT_START_DLY [when=S] {
- spyv;
- 0;
-}
-
-ispy MCP.PORT0.SRQ.MBA_DSM0Q_CFG_WODT_END_DLY [when=S] {
- spyv;
- 5;
-}
-
-# FARB0 SCOM REGISTER #
-
-espy MCP.PORT0.SRQ.MBA_FARB0Q_CFG_PARITY_AFTER_CMD [when=S] {
- spyv;
- ON;
-}
-
-# REF0 SCOM REGISTER #
-
-#gdial std_size 4gbx4 (8GB rank)
-
-ispy MCP.PORT0.SRQ.PC.MBAREF0Q_CFG_REFRESH_INTERVAL [when=S] {
- spyv;
- def_REFRESH_INTERVAL;
-}
-
-ispy MCP.PORT0.SRQ.PC.MBAREF0Q_CFG_TRFC [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TRFC[def_PORT_INDEX];
-}
-
-ispy MCP.PORT0.SRQ.PC.MBAREF0Q_CFG_REFR_TSV_STACK [when=S] {
- spyv;
- MCS.ATTR_EFF_DRAM_TRFC_DLR[def_PORT_INDEX];
-}
-
-
-# RPC0 SCOM REGISTER #
-
-ispy MCP.PORT0.SRQ.PC.MBARPC0Q_CFG_PUP_PDN [when=S] { # tCKE
- spyv, expr;
- 5, (def_MSS_FREQ_EQ_1866==1);
- 6, (def_MSS_FREQ_EQ_2133==1);
- 6, (def_MSS_FREQ_EQ_2400==1);
- 7, (def_MSS_FREQ_EQ_2666==1);
-}
-
-ispy MCP.PORT0.SRQ.PC.MBARPC0Q_CFG_PDN_PUP [when=S] { # tPD
- spyv, expr;
- 5, (def_MSS_FREQ_EQ_1866==1);
- 6, (def_MSS_FREQ_EQ_2133==1);
- 6, (def_MSS_FREQ_EQ_2400==1);
- 7, (def_MSS_FREQ_EQ_2666==1);
-}
-
-ispy MCP.PORT0.SRQ.PC.MBARPC0Q_CFG_PUP_AVAIL [when=S] { # tXP
- spyv, expr;
- 6, (def_MSS_FREQ_EQ_1866==1);
- 7, (def_MSS_FREQ_EQ_2133==1);
- 8, (def_MSS_FREQ_EQ_2400==1);
- 9, (def_MSS_FREQ_EQ_2666==1);
-}
-
-# STR0 SCOM REGISTER #
-
-ispy MCP.PORT0.SRQ.PC.MBASTR0Q_CFG_TCKSRE [when=S] {
- spyv, expr;
- 10, (def_MSS_FREQ_EQ_1866==1);
- 11, (def_MSS_FREQ_EQ_2133==1);
- 12, (def_MSS_FREQ_EQ_2400==1);
- 14, (def_MSS_FREQ_EQ_2666==1);
-}
-
-ispy MCP.PORT0.SRQ.PC.MBASTR0Q_CFG_TCKSRX [when=S] {
- spyv, expr;
- 10, (def_MSS_FREQ_EQ_1866==1);
- 11, (def_MSS_FREQ_EQ_2133==1);
- 12, (def_MSS_FREQ_EQ_2400==1);
- 14, (def_MSS_FREQ_EQ_2666==1);
-}
-
-ispy MCP.PORT0.SRQ.PC.MBASTR0Q_CFG_TCKESR [when=S] {
- spyv;
- 5;
-}
-
-ispy MCP.PORT0.SRQ.PC.MBASTR0Q_CFG_TXSDLL [when=S] {
- spyv, expr;
- 597, (def_MSS_FREQ_EQ_1866==1);
- 768, (def_MSS_FREQ_EQ_2133==1);
- 768, (def_MSS_FREQ_EQ_2400==1);
- 939, (def_MSS_FREQ_EQ_2666==1);
-}
-
-# Make Safe Refresh Match Refresh Interval
-ispy MCP.PORT0.SRQ.PC.MBASTR0Q_CFG_SAFE_REFRESH_INTERVAL [when=S] {
- spyv;
- def_REFRESH_INTERVAL;
-}
-
-
-# CID
-# Slot 0
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT0_S0_CID [when=S] {
- spyv;
- 0b000;
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT0_S1_CID [when=S] {
- spyv;
- 0b100;
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT0_S2_CID [when=S] {
- spyv;
- 0b010;
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT0_S3_CID [when=S] {
- spyv;
- 0b110;
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT0_S4_CID [when=S] {
- spyv, expr;
- 0b001, (def_SLOT0_DRAM_STACK_HEIGHT == 8);
- 0b000, (def_SLOT0_DRAM_STACK_HEIGHT != 8);
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT0_S5_CID [when=S] {
- spyv, expr;
- 0b101, (def_SLOT0_DRAM_STACK_HEIGHT == 8);
- 0b100, (def_SLOT0_DRAM_STACK_HEIGHT != 8);
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT0_S6_CID [when=S] {
- spyv, expr;
- 0b011, (def_SLOT0_DRAM_STACK_HEIGHT == 8);
- 0b010, (def_SLOT0_DRAM_STACK_HEIGHT != 8);
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT0_S7_CID [when=S] {
- spyv, expr;
- 0b111, (def_SLOT0_DRAM_STACK_HEIGHT == 8);
- 0b110, (def_SLOT0_DRAM_STACK_HEIGHT != 8);
-}
-# Slot 1
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT1_S0_CID [when=S] {
- spyv;
- 0b000;
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT1_S1_CID [when=S] {
- spyv;
- 0b100;
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT1_S2_CID [when=S] {
- spyv;
- 0b010;
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT1_S3_CID [when=S] {
- spyv;
- 0b110;
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT1_S4_CID [when=S] {
- spyv, expr;
- 0b001, (def_SLOT1_DRAM_STACK_HEIGHT == 8);
- 0b000, (def_SLOT1_DRAM_STACK_HEIGHT != 8);
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT1_S5_CID [when=S] {
- spyv, expr;
- 0b101, (def_SLOT1_DRAM_STACK_HEIGHT == 8);
- 0b100, (def_SLOT1_DRAM_STACK_HEIGHT != 8);
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT1_S6_CID [when=S] {
- spyv, expr;
- 0b011, (def_SLOT1_DRAM_STACK_HEIGHT == 8);
- 0b010, (def_SLOT1_DRAM_STACK_HEIGHT != 8);
-}
-ispy MCP.PORT0.SRQ.MBA_FARB1Q_CFG_SLOT1_S7_CID [when=S] {
- spyv, expr;
- 0b111, (def_SLOT1_DRAM_STACK_HEIGHT == 8);
- 0b110, (def_SLOT1_DRAM_STACK_HEIGHT != 8);
-}
-
-# ODT RD
-# Slot 0
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK0_RD_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][0] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][0] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][0] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][0] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK1_RD_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][1] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][1] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][1] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][1] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK2_RD_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][2] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][2] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][2] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][2] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK3_RD_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][3] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][3] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][3] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][0][3] >> 2; # assuming it only takes right most bit since right justified
-}
-# Slot 1
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK4_RD_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][0] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][0] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][0] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][0] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK5_RD_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][1] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][1] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][1] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][1] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK6_RD_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][2] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][2] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][2] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][2] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK7_RD_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][3] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][3] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][3] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_RD[def_PORT_INDEX][1][3] >> 2; # assuming it only takes right most bit since right justified
-}
-
-# ODT WR
-# Slot 0
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK0_WR_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][0] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][0] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][0] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][0] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK1_WR_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][1] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][1] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][1] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][1] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK2_WR_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][2] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][2] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][2] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][2] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK3_WR_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][3] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][3] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][3] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][0][3] >> 2; # assuming it only takes right most bit since right justified
-}
-# Slot 1
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK4_WR_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][0] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][0] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][0] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][0] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK5_WR_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][1] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][1] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][1] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][1] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK6_WR_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][2] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][2] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][2] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][2] >> 2; # assuming it only takes right most bit since right justified
-}
-ispy MCP.PORT0.SRQ.MBA_FARB2Q_CFG_RANK7_WR_ODT [when=S] {
- bits, spyv;
- # ATTR is AB--CD-- but for SPY need ABCD
- 0, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][3] >> 7; # assuming it only takes right most bit since right justified
- 1, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][3] >> 6; # assuming it only takes right most bit since right justified
- 2, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][3] >> 3; # assuming it only takes right most bit since right justified
- 3, MCS.ATTR_MSS_VPD_MT_ODT_WR[def_PORT_INDEX][1][3] >> 2; # assuming it only takes right most bit since right justified
-}
-
-ispy MCP.PORT0.SRQ.PC.MBAREF0Q_CFG_REFRESH_PRIORITY_THRESHOLD [when=S] {
- spyv;
- 3;
-}
-
-ispy MCP.PORT0.SRQ.PC.MBAREF0Q_CFG_REFR_CHECK_INTERVAL [when=S] {
- spyv;
- ( def_REFRESH_INTERVAL * def_NUM_RANKS * 6 ) / 5;
-}
-
-ispy MCP.PORT0.SRQ.MBA_WRQ0Q_CFG_WRQ_FIFO_MODE [when=S] {
- spyv;
- MCBIST.ATTR_MSS_REORDER_QUEUE_SETTING;
-}
-
-ispy MCP.PORT0.SRQ.MBA_RRQ0Q_CFG_RRQ_FIFO_MODE [when=S] {
- spyv;
- MCBIST.ATTR_MSS_REORDER_QUEUE_SETTING;
-}
-
-ispy MCP.PORT0.SRQ.MBA_FARB0Q_CFG_2N_ADDR [when=S] {
- spyv, expr;
- 0b1, (SYS.ATTR_MSS_MRW_DRAM_2N_MODE==0x02); # force 2n
- 0b0, (SYS.ATTR_MSS_MRW_DRAM_2N_MODE==0x01); # force 1n
- 0b1, (SYS.ATTR_MSS_MRW_DRAM_2N_MODE==0x00) && (MCS.ATTR_MSS_VPD_MR_MC_2N_MODE_AUTOSET==0x02); # use auto vpd val -> auto vpd val = 2n
- 0b0, (SYS.ATTR_MSS_MRW_DRAM_2N_MODE==0x00) && (MCS.ATTR_MSS_VPD_MR_MC_2N_MODE_AUTOSET==0x01); # use auto vpd val -> auto vpd val = 1n
-}
-
-ispy MCP.PORT0.SRQ.MBA_RRQ0Q_CFG_RRQ_ACT_NUM_READS_PENDING [when=S] {
- spyv;
- 0b1000;
-}
-
-ispy MCP.PORT0.SRQ.MBA_WRQ0Q_CFG_WRQ_ACT_NUM_WRITES_PENDING [when=S] {
- spyv;
- 0b1000;
-}
-
-
-# Epsilon Settings per Power Bus Spreadsheet
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCEPSQ_JITTER_EPSILON [when=S] {
- spyv;
- 0x1;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCEPSQ_LOCAL_NODE_EPSILON [when=S] {
- spyv;
- # tier 0
- def_MC_EPSILON_CFG_T0;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCEPSQ_NEAR_NODAL_EPSILON [when=S] {
- spyv;
- # tier 1
- def_MC_EPSILON_CFG_T1;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCEPSQ_REMOTE_NODAL_EPSILON [when=S] {
- spyv;
- # tier 2
- def_MC_EPSILON_CFG_T2;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCEPSQ_GROUP_EPSILON [when=S] {
- spyv;
- # tier 1
- def_MC_EPSILON_CFG_T1;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCEPSQ_VECTOR_GROUP_EPSILON [when=S] {
- spyv;
- # tier 2
- def_MC_EPSILON_CFG_T2;
-}
-
-
-##################
-# ASYNC SETTINGS
-##################
-
-# DD1
-# ASYNC DIALS LIST
-# L = MBSECCQ_val_to_data_delay
-# D = MBSECCQ_nest_val_to_data_delay
-# dn = MBSECCQ_delay_nonbypass
-# h = MBSECCQ_delay_valid_1x
-# SETTINGS TABLE
-# Keep the stable default values we've been running for DD1
-# L = 3
-# D = 0
-# dn = 0 (0ff)
-# h = 0 (0ff)
-# For performance testing put tuned 2400 settings in risk level 100
-# L = 5
-# D = 1
-# dn = 0 (0ff)
-# h = 0 (0ff)
-# DD2
-# ASYNC DIALS LIST
-# L = MBSECCQ_val_to_data_delay
-# T = MBSECCQ_bypass_tenure_3 (NEW FOR DD2)
-# D = MBSECCQ_nest_val_to_data_delay
-# dn = MBSECCQ_delay_nonbypass
-# h = MBSECCQ_delay_valid_1x
-# SETTINGS TABLE
-# New values 6/13/2017 in light of HW413361
-# L T D dn h | m/n min m/n max
-# ---------------------------------------------
-# 5 2(off) 1 0(off) 0(off) | SYNC
-# 3 3(on) 1 0(off) 0(off) | 727 915
-# 4 3(on) 1 0(off) 0(off) | 915 1040
-# 4 3(on) 0 0(off) 0(off) | 1040 1150
-# 5 3(on) 1 0(off) 0(off) | 1150 1215
-# 5 3(on) 0 1(on) 0(off) | 1215 1300
-# 6 3(on) 1 1(on) 0(off) | 1300 1400*
-# 6 3(on) 0 1(on) 0(off) | 1400* 1500**
-# * 1385-1429 is actually no man's land, but none of our ratios exist here
-# ** max 1500 means only ratio we don't support is 2666/1600
-
-
-# helpful expressions
-define def_mn_freq_ratio = (1000 * MCBIST.ATTR_MSS_FREQ) / SYS.ATTR_FREQ_PB_MHZ;
-define def_perf_tune_case = (MCBIST.ATTR_MSS_FREQ==2400) && (SYS.ATTR_FREQ_PB_MHZ==2000) && (SYS.ATTR_RISK_LEVEL>0);
-
-
-# DD1
-
-# "L" field
-ispy MCP.PORT0.ECC64.SCOM.MBSECCQ_VAL_TO_DATA_DELAY [when=S && ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv, expr;
- 3, (def_perf_tune_case==0) && (def_mn_freq_ratio<=1200); # untuned and NOT boston 2400/1600 HW411339 fix
- 6, (def_perf_tune_case==0) && (def_mn_freq_ratio>1200); # untuned and boston 2400/1600 HW411339 fix
- 5, (def_perf_tune_case==1); # tuned
-}
-
-# "D" field
-ispy MCP.PORT0.ECC64.SCOM.MBSECCQ_NEST_VAL_TO_DATA_DELAY [when=S && ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv, expr;
- 0, (def_perf_tune_case==0) && (def_mn_freq_ratio<=1200); # untuned and NOT boston 2400/1600 HW411339 fix
- 2, (def_perf_tune_case==0) && (def_mn_freq_ratio>1200); # untuned and boston 2400/1600 HW411339 fix
- 1, (def_perf_tune_case==1); # tuned
-}
-
-# "dn" field
-espy MCP.PORT0.ECC64.SCOM.MBSECCQ_DELAY_NONBYPASS [when=S && ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv, expr;
- OFF, (def_mn_freq_ratio<=1200); # NOT boston 2400/1600 HW411339 fix
- ON, (def_mn_freq_ratio>1200); # boston 2400/1600 HW411339 fix
-}
-
-# "h" field
-espy MCP.PORT0.ECC64.SCOM.MBSECCQ_DELAY_VALID_1X [when=S && ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv;
- OFF; # untuned and tuned same value
-}
-
-
-# DD2
-# (note hierarchies for ECC scoms are slightly different in dd2)
-
-# "L" field
-ispy MCP.PORT0.ECC64.ECC.SCOM.MBSECCQ_VAL_TO_DATA_DELAY [when=S && !ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv, expr;
- 5, (PROC.ATTR_MC_SYNC_MODE==1);
- 3, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio < 915);
- 4, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 915) && (def_mn_freq_ratio < 1150);
- 5, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 1150) && (def_mn_freq_ratio < 1300);
- 6, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 1300);
-}
-
-# "T" field (new for DD2)
-espy MCP.PORT0.ECC64.ECC.SCOM.MBSECCQ_BYPASS_TENURE_3 [when=S && !ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv, expr;
- OFF, (PROC.ATTR_MC_SYNC_MODE==1);
- ON, (PROC.ATTR_MC_SYNC_MODE==0);
-}
-
-# "D" field
-ispy MCP.PORT0.ECC64.ECC.SCOM.MBSECCQ_NEST_VAL_TO_DATA_DELAY [when=S && !ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv, expr;
- 1, (PROC.ATTR_MC_SYNC_MODE==1);
- 1, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio < 1040);
- 0, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 1040) && (def_mn_freq_ratio < 1150);
- 1, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 1150) && (def_mn_freq_ratio < 1215);
- 0, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 1215) && (def_mn_freq_ratio < 1300);
- 1, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 1300) && (def_mn_freq_ratio < 1400);
- 0, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 1400);
-}
-
-# "dn" field
-espy MCP.PORT0.ECC64.ECC.SCOM.MBSECCQ_DELAY_NONBYPASS [when=S && !ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv, expr;
- OFF, (PROC.ATTR_MC_SYNC_MODE==1);
- OFF, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio < 1215);
- ON, (PROC.ATTR_MC_SYNC_MODE==0) && (def_mn_freq_ratio >= 1215);
-}
-
-# "h" field
-espy MCP.PORT0.ECC64.ECC.SCOM.MBSECCQ_DELAY_VALID_1X [when=S && !ATTR_CHIP_EC_FEATURE_MCA_P9NDD1_ASYNC] {
- spyv;
- OFF;
-}
-
-############################
-# DD2 REFRESH BLOCK SETTINGS
-############################
-# OVERVIEW
-# Intention is to keep queues from filling up with commands that we
-# wouldn't be able to service anyway due because they are being refreshed
-# and starving out commands to another rank not being refreshed that could
-# have been executed.
-# If a portion of the command address matches the address range being
-# refreshed, then the command will be blocked from getting into the queue.
-# A hash of three rank bits are used to do the address matching and
-# blocking. Which 3 rank bits are used for hash is configureable.
-# RULES FOR BEST USE/PERFORMANCE
-# 1) Refresh block should not be enabled if only 1 rank. No benefit in
-# blocking traffic to save room for another rank if there is no other
-# rank.
-# 2) Not worth it to choose a mode that will block extra ranks than the
-# rank being refreshed. Obvious case is if more than 8 ranks exist
-# because by matching on just 3 bits, you'll inevitably block
-# additional unnecessary ranks. Essentially all existing rank bits
-# must be covered by 3 bit hash. If bits exist that can't all be
-# covered by hash, then not worth enabling feature.
-# DIALS
-# (Enable bits) MCPERF2_ENABLE_REFRESH_BLOCK_SQ, MCPERF2_ENABLE_REFRESH_BLOCK_NSQ
-# If enabled, commands will be blocked from getting into queues if their address bits
-# (Mode select) MCPERF2_REFRESH_BLOCK_CONFIG
-# CONFIG | HASH BITS | DESCRIPTION
-# (0) 000 | s0, s1, s2 | Single slot, 1 mrank up to 8-high stack
-# (1) 001 | m2, s1, s2 | Single-slot, 2 mrank, up to 4-high stack
-# (2) 010 | d, s1, s2 | Dual-slot, 1 mrank/slot, up to 4-high stack
-# (3) 011 | d, m2, s2 | Dual-slot, 2 mrank/slot, up to 2-high stack
-# (4) 100 | d, m1, m2 | Dual-slot, 4 mrank/slot
-# This field is DON'T CARE if not enabled (helps for simlplification)
-# TABLE FOR IDEAL CONFIGS
-# # of # of # of | # of | CONFIGS | SIMPLIFIED |
-# d-bits m-bits s-bits | ranks | ALLOWED | CONFIG | NOTES
-# -------------------------------------------------------------------
-# 0 0 0 | 1 | DISABLE | 0 | 1 rank only
-# 0 0 1 | 2 | 0,1,2,3 | 0 |
-# 0 0 2 | 4 | 0,1,2 | 0 |
-# 0 0 3 | 8 | 0 | 0 |
-# 0 1 0 | 2 | 1,3,4 | 1 |
-# 0 1 1 | 4 | 1 | 1 |
-# 0 1 2 | 8 | 1 | 1 |
-# 0 1 3 | 16 | DISABLE | 1 | >8 ranks
-# 0 2 0 | 4 | 4 | 4 |
-# 0 2 1 | 8 | DISABLE | 4 | no exact match
-# 0 2 2 | 16 | DISABLE | 4 | >8 ranks
-# 0 2 3 | 32 | DISABLE | 4 | >8 ranks
-# 1 0 0 | 2 | 2,3,4 | 2 |
-# 1 0 1 | 4 | 2,3 | 2 |
-# 1 0 2 | 8 | 2 | 2 |
-# 1 0 3 | 16 | DISABLE | 2 | >8 ranks
-# 1 1 0 | 4 | 3,4 | 3 |
-# 1 1 1 | 8 | 3 | 3 |
-# 1 1 2 | 16 | DISABLE | 3 | >8 ranks
-# 1 1 3 | 32 | DISABLE | 3 | >8 ranks
-# 1 2 0 | 8 | 4 | 4 |
-# 1 2 1 | 16 | DISABLE | 4 | >8 ranks
-# 1 2 2 | 32 | DISABLE | 4 | >8 ranks
-# 1 2 3 | 64 | DISABLE | 4 | >8 ranks
-# SIMPLIFIED CONFIGS
-# CHOOSING TO ENABLE
-# ENABLE | CONDITION
-# OFF | if total number of ranks = 1
-# OFF | if total number of ranks > 8
-# OFF | if it's the one 8 rank case that doesn't match exact
-# | (0 d-bits, 2 m-bits, 1 s-bit)
-# ON | Else
-# CHOOSING CONFIG VALUE
-# # of # of | SIMPLIFIED
-# d-bits m-bits | CONFIG
-# ----------------------------
-# 0 0 | 0
-# 0 1 | 1
-# 0 2 | 4
-# 1 0 | 2
-# 1 1 | 3
-# 1 2 | 4
-
-# def_NUM_RANKS
-
-define def_is_dual_slot = (MCS.ATTR_EFF_NUM_RANKS_PER_DIMM[def_PORT_INDEX][0]>0)
- && (MCS.ATTR_EFF_NUM_RANKS_PER_DIMM[def_PORT_INDEX][1]>0);
-
-# Variable to indicate special 8 rank case we want refresh block disabled
-# Note: 4 master ranks == 2 m-bits; height of 2 == 2 slave ranks == 1 s-bit
-define def_refblock_off_special_case = (def_is_dual_slot==0) && (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0]==4) && (def_SLOT0_DRAM_STACK_HEIGHT==2);
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_ENABLE_REFRESH_BLOCK_SQ [when=S] {
- spyv, expr;
- OFF, (def_NUM_RANKS==1);
- OFF, (def_NUM_RANKS>8);
- OFF, (def_refblock_off_special_case==1);
- ON, (def_NUM_RANKS>1) && (def_NUM_RANKS<=8) && (def_refblock_off_special_case==0);
-}
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_ENABLE_REFRESH_BLOCK_NSQ [when=S] {
- spyv, expr;
- OFF, (def_NUM_RANKS==1);
- OFF, (def_NUM_RANKS>8);
- OFF, (def_refblock_off_special_case==1);
- ON, (def_NUM_RANKS>1) && (def_NUM_RANKS<=8) && (def_refblock_off_special_case==0);
-}
-
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_REFRESH_BLOCK_CONFIG [when=S] {
- spyv, expr;
- 0b000, (def_is_dual_slot==0) && (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0]==1); # 0 d-bit, 0-m-bits
- 0b001, (def_is_dual_slot==0) && (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0]==2); # 0 d-bit, 1-m-bits
- 0b100, (def_is_dual_slot==0) && (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0]==4); # 0 d-bit, 2-m-bits
- 0b010, (def_is_dual_slot==1) && (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0]==1); # 1 d-bit, 0-m-bits
- 0b011, (def_is_dual_slot==1) && (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0]==2); # 1 d-bit, 1-m-bits
- 0b100, (def_is_dual_slot==1) && (MCS.ATTR_EFF_NUM_MASTER_RANKS_PER_DIMM[def_PORT_INDEX][0]==4); # 1 d-bit, 2-m-bits
-}
-
-####################################################
-# DD1 WORKAROUNDS
-####################################################
-
-# Force clock enable high DD1 Periodics Issue
-
-espy MCP.PORT0.SRQ.MBA_FARB0Q_CFG_OE_ALWAYS_ON [when=S && ATTR_CHIP_EC_FEATURE_HW384794]{
- spyv;
- ON;
-}
-
-# HW366164 - SRQ Fullness Control
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_SQ_LFSR_CNTL [when=S] { # still applies to dd2
- spyv;
- 0b0100;
-}
-
-# Number of RMW buffers available at 28
-# DD1 and DD2
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_NUM_RMW_BUF [when=S] {
- spyv;
- 0b11100;
-}
-
-# All rctrl ops through tag FIFO (bit 0)
-# Serialize CMDLIST pf drop through rctrl (bit 1)
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_RCTRL_CONFIG [when=S && ATTR_CHIP_EC_FEATURE_HW375732] {
- spyv;
- 0b110;
-}
-
-# Max 24 64-byte read buffers (HW375534)
-ispy MCP.PORT0.SRQ.MBA_RRQ0Q_CFG_RDBUFF_CAPACITY_LIMIT [when=S && ATTR_CHIP_EC_FEATURE_HW375534] {
- spyv;
- 0b011000;
-}
-
-# AMO Caching disabled
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCAMOC_WRTO_AMO_COLLISION_RULES [when=S] {
- spyv, expr;
- 0b0000000000000000000000000, (ATTR_CHIP_EC_FEATURE_HW401780==1); # DD1
- 0b1100111111111111111111111, (ATTR_CHIP_EC_FEATURE_HW401780!=1); # DD2
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF3_AMO_LIMIT_SEL [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 0x8;
-}
-
-# Noise Window DIsable (HW406577)
-ispy MCP.PORT0.ECC64.SCOM.MBSECCQ_ENABLE_UE_NOISE_WINDOW [when=S && ATTR_CHIP_EC_FEATURE_HW406577] {
- spyv;
- 0b0;
-}
-
-##################
-# DD2 NEW SETTINGS
-##################
-
-ispy MCP.PORT0.SRQ.MBA_FARB0Q_CFG_OPT_RD_SIZE [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 0b011;
-}
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCAMOC_AMO_SIZE_SELECT [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 128B_RW_64B_DATA;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF0_AMO_LIMIT [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 0b100000;
-}
-
-espy MCP.PORT0.WRITE.NEW_WRITE_64B_MODE [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCAMOC_FORCE_PF_DROP0 [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- OFF;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_PF_DROP_VALUE0 [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 1;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_PF_DROP_VALUE1 [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 3;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_PF_DROP_VALUE2 [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 5;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_PF_DROP_VALUE3 [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 7;
-}
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF2_ENABLE_REFRESH_BLOCK_DISP [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- OFF;
-}
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCBUSYQ_ENABLE_BUSY_COUNTERS [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCBUSYQ_BUSY_COUNTER_WINDOW_SELECT [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 1024_CYCLES;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCBUSYQ_BUSY_COUNTER_THRESHOLD0 [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 38;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCBUSYQ_BUSY_COUNTER_THRESHOLD1 [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 51;
-}
-
-ispy MC01.PORT0.ATCL.CL.CLSCOM.MCBUSYQ_BUSY_COUNTER_THRESHOLD2 [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 64;
-}
-
-# Performance request: disable clearing of MDI on remte cp_m
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF3_ENABLE_CP_M_MDI0_LOCAL_ONLY [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-
-#################
-# DD2 WORKAROUNDS
-#################
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF3_DISABLE_WRTO_IG [when=S && ATTR_CHIP_EC_FEATURE_HW401131] {
- spyv;
- ON;
-}
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF3_ENABLE_AMO_MSI_RMW_ONLY [when=S && ATTR_CHIP_EC_FEATURE_HW399466] {
- spyv;
- ON;
-}
-
-espy MC01.PORT0.ATCL.CL.CLSCOM.MCPERF3_ENABLE_CL0 [when=S && ATTR_CHIP_EC_FEATURE_HW355538] {
- spyv;
- ON;
-}
-
-# When AMO cache is re-enabled for DD2, we need to run with write open page disabled (same CQ observation)
-espy MCP.PORT0.SRQ.MBA_WRQ0Q_CFG_DISABLE_WR_PG_MODE [when=S && !ATTR_CHIP_EC_FEATURE_HW401780] {
- spyv;
- ON;
-}
diff --git a/src/import/chips/p9/initfiles/p9n.mcbist.scom.initfile b/src/import/chips/p9/initfiles/p9n.mcbist.scom.initfile
deleted file mode 100644
index 632329049..000000000
--- a/src/import/chips/p9/initfiles/p9n.mcbist.scom.initfile
+++ /dev/null
@@ -1,97 +0,0 @@
-# Joe's initfile reference page:
-# https://w3-connections.ibm.com/wikis/home?lang=en-us#!/wiki/W9dc674bd1c19_432e_9f66_0e8b6ce7195f/page/P9%20Initfile%20Strategy%20%26%20Execution
-# http://ausxgsatm2.austin.ibm.com/gsa/home/j/m/jmcgill/web/public/p8/initfiles/mba_def.initfile
-
-
-#--******************************************************************************
-#-- Required keywords/variables
-#--******************************************************************************
-
-SyntaxVersion = 3
-
-target_type 0 TARGET_TYPE_MCBIST;
-
-
-###########################################
-# ADDED FOR MAINT WAT WORKAROUND HW366152 #
-###########################################
-
-# ENSURE LOG COUNTS IN TRACE FEATURE NOT ENABLED (IT TAKES OVER THE DEBUG BUS)
-espy MCP.MCBIST.MBA_SCOMFIR.MCBCFGQ_CFG_LOG_COUNTS_IN_TRACE [when=S] {
- spyv;
- OFF;
-}
-
-# DEBUG BUS MUST BE ENABLED SINCE USED BY WAT
-espy MCP.MCBIST.MBA_SCOMFIR.DBGCFG0Q_CFG_DBG_ENABLE [when=S] {
- spyv;
- ON;
-}
-
-# SELECT RELEVANT DEBUG INFO ON BUS
-ispy MCP.MCBIST.MBA_SCOMFIR.DBGCFG0Q_CFG_DBG_PICK_MCBIST01 [when=S] {
- spyv;
- # 1
- # 01234567890
- 0b11110000000;
-}
-
-# ENABLE WAT LOGIC
-espy MCP.MCBIST.MBA_SCOMFIR.DBGCFG1Q_CFG_WAT_ENABLE [when=S] {
- spyv;
- ON;
-}
-
-# SET PATTERN TO MATCH
-ispy MCP.MCBIST.MBA_SCOMFIR.WATCFG0DQ_CFG_WAT_PATA [when=S] {
- spyv;
- # 1111111111222222222233333333334444
- # 01234567890123456789012345678901234567890123
- 0b10000000001000000000000000000100000000000000;
-}
-
-# MASK OFF DON'T CARE PORTIONS OF PATTERN
-ispy MCP.MCBIST.MBA_SCOMFIR.WATCFG0BQ_CFG_WAT_MSKA [when=S] {
- spyv;
- # 1111111111222222222233333333334444
- # 01234567890123456789012345678901234567890123
- 0b00000000000000000000001111111011111111111111;
-}
-# ENABLE WAT (0), DISABLE EXTRA ARMING FEATURE (1), DISABLE NOT EQUAL MODE (11)
-ispy MCP.MCBIST.MBA_SCOMFIR.WATCFG0BQ_CFG_WAT_CNTL [when=S] {
- spyv;
- # 1111111
- # 01234567890123456
- 0b10000000000000000;
-}
-
-# SIMPLE PULSE ANY TIME PATTERN MATCHES
-ispy MCP.MCBIST.MBA_SCOMFIR.WATCFG0AQ_CFG_WAT_EVENT_SEL [when=S] {
- spyv;
- # 11111111112222222222333333333344444444
- # 012345678901234567890123456789012345678901234567
- 0b010000000000000000000000000000000000000000000000;
-}
-
-# ROUTE PULSE ON EVENT 1 (TRY TO KEEP 0 OPEN FOR SRQ)
-ispy MCP.MCBIST.MBA_SCOMFIR.DBGCFG2Q_CFG_WAT_LOC_EVENT1_SEL [when=S] {
- spyv;
- # 1111111111
- # 01234567890123456789
- 0b00001000000000000000;
-}
-
-# MAKE EVENT 1 USE LOCAL VERSION INSTEAD OF GLOBAL/EXTERNAL
-ispy MCP.MCBIST.MBA_SCOMFIR.DBGCFG3Q_CFG_WAT_GLOB_EVENT1_SEL [when=S] {
- spyv;
- 0b100;
-}
-
-# MAKE EVENT 1 TRIGGER WAT FIR
-ispy MCP.MCBIST.MBA_SCOMFIR.DBGCFG3Q_CFG_WAT_ACT_SET_SPATTN_PULSE [when=S] {
- spyv;
- 0b0100;
-}
-
-
-
diff --git a/src/import/chips/p9/initfiles/p9n.mcs.scom.initfile b/src/import/chips/p9/initfiles/p9n.mcs.scom.initfile
deleted file mode 100644
index 9eedf66f3..000000000
--- a/src/import/chips/p9/initfiles/p9n.mcs.scom.initfile
+++ /dev/null
@@ -1,251 +0,0 @@
-# Joe's initfile reference page:
-# https://w3-connections.ibm.com/wikis/home?lang=en-us#!/wiki/W9dc674bd1c19_432e_9f66_0e8b6ce7195f/page/P9%20Initfile%20Strategy%20%26%20Execution
-# http://ausxgsatm2.austin.ibm.com/gsa/home/j/m/jmcgill/web/public/p8/initfiles/mba_def.initfile
-
-#--******************************************************************************
-#-- ISSUES TO RESOVLE
-#--******************************************************************************
-#
-#--******************************************************************************
-#-- REFERENCES FOR FILE
-#--******************************************************************************
-# Files used to check what target type attributes are
-# MCS
-# /gsa/ausgsa/home/s/l/sleung/ekb/ekb/chips/p9/procedures/xml/attribute_info/memory_mcs_attributes.xml
-# /gsa/ausgsa/home/s/l/sleung/ekb/ekb/chips/p9/procedures/xml/attribute_info/memory_spd_attributes.xml
-# PROC (apparently from grep)
-# /gsa/ausgsa/home/s/l/sleung/ekb/ekb/chips/p9/procedures/xml/attribute_info/nest_attributes.xml (properties)
-# /gsa/ausgsa/home/s/l/sleung/ekb/ekb/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml (values)
-# Example:
-# <id>ATTR_EFF_NUM_RANKS_PER_DIMM</id>
-# <targetType>TARGET_TYPE_MCS</targetType>
-# File used to see if attribute is 1D or 2D array
-# /gsa/ausgsa/home/s/l/sleung/ekb/ekb/output/gen/attribute_ids.H
-# Example:
-# typedef uint8_t ATTR_EFF_DIMM_TYPE_Type[2][2];
-# File for finding correct spydef name
-# 1st find the spydef file this ekb build is looking at by finding SPYDEF_FILE_LOCATION in file below
-# /gsa/ausgsa/home/s/l/sleung/ekb/ekb/tools/ifCompiler/scan_procedures.mk
-# 2nd open *.spydef in that dir and search for spy names
-# /afs/awd.austin.ibm.com/projects/eclipz/lab/p9/vbu_models/n10_e9050_tp046_ec150u01a_soa_sc_u138_01/edc/*.spydef
-# (File comes from actually building a vbu file and looking at the spydef)
-# Example:
-# idial MCP.PORT1.SRQ.PC.MBAREF0Q_CFG_TRFC {
-# Wrapper file calling this (TODO, need to actually make this file call this file)
-# /gsa/ausgsa/home/s/l/sleung/ekb/ekb/chips/p9/procedures/hwp/nest/p9_chiplet_scominit.C
-# Output file generated
-# /gsa/ausgsa/home/s/l/sleung/ekb/ekb/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C
-
-
-
-
-## Syntax Notes
-# Compiler expects spys to be all caps
-
-
-#--******************************************************************************
-#-- Required keywords/variables
-#--******************************************************************************
-
-SyntaxVersion = 3
-
-target_type 0 TARGET_TYPE_MCS;
-target_type 1 TARGET_TYPE_SYSTEM;
-target_type 2 TARGET_TYPE_PROC_CHIP;
-target_type 3 TARGET_TYPE_MCBIST;
-
-define SYS = TGT1; # If referencing Attr from system, add "SYS." in front
-define MCBIST = TGT3; # If referencing Attr from mcbist, add "MCBIST." in front
-
-
-#--******************************************************************************
-#-- Systems Config
-#--******************************************************************************
-
-#--******************************************************************************
-#-- Effective Attributes
-#--******************************************************************************
-
-
-
-#--******************************************************************************
-#-- Dial Assignments
-#--******************************************************************************
-
-
-
-##############################
-# NON BUG SETTINGS ADJUSTMENTS
-##############################
-
-# Enable memory controller hang counters
-define def_ENABLE_MCU_TIMEOUTS = 1;
-
-# Use PB-initiated hang mechanism
-espy MC01.PBI01.SCOMFIR.MCTO_SELECT_PB_HANG_PULSE [when=S] {
- spyv, expr;
- ON, (def_ENABLE_MCU_TIMEOUTS==1);
-}
-espy MC01.PBI01.SCOMFIR.MCTO_SELECT_LOCAL_HANG_PULSE [when=S] {
- spyv;
- OFF;
-}
-
-# Enable all CLSTATE hang mechanisms
-espy MC01.PBI01.SCOMFIR.MCTO_ENABLE_NONMIRROR_HANG [when=S] {
- spyv, expr;
- ON, (def_ENABLE_MCU_TIMEOUTS==1); # Hang for all non-mirrored operations
-}
-espy MC01.PBI01.SCOMFIR.MCTO_ENABLE_APO_HANG [when=S] {
- spyv, expr;
- ON, (def_ENABLE_MCU_TIMEOUTS==1); # Hang for address protection only CLSTATE machines
-}
-
-# Use RPT_HANG.POLL to trigger PB hang
-ispy MC01.PBI01.SCOMFIR.MCTO_RPTHANG_SELECT [when=S && !ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] { # dd1 name
- spyv;
- 0b01; # 0.87381ms
-}
-ispy MC01.PBI01.SCOMFIR.MCTO_RPT_HANG_SELECT [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] { # dd2 name
- spyv;
- 0b01; # 0.87381ms
-}
-
-# Setup hang compare values
-# Count a single pulse and let the secondary counters scale it
-ispy MC01.PBI01.SCOMFIR.MCTO_COMP_MASK [when=S && !ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] { # dd1 name
- spyv, expr;
- 1, (def_ENABLE_MCU_TIMEOUTS==1); # 0.87381ms
-}
-ispy MC01.PBI01.SCOMFIR.MCTO_HANG_COMP [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] { # dd2 name
- spyv, expr;
- 1, (def_ENABLE_MCU_TIMEOUTS==1); # 0.87381ms
-}
-ispy MC01.PBI01.SCOMFIR.MCTO_TIMEOUT_VALUE [when=S && !ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] { # dd1 name
- spyv, expr;
- 7, (def_ENABLE_MCU_TIMEOUTS==1); # 6.11669ms
-}
-ispy MC01.PBI01.SCOMFIR.MCTO_CL_TIMEOUT_VALUE [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] { # dd2 name
- spyv, expr;
- 7, (def_ENABLE_MCU_TIMEOUTS==1); # 6.11669ms
-}
-
-
-##########################
-# DD1 WORKAROUNDS
-##########################
-
-# If cache scope prediciton logic is active, must disable fp_m bit, so fp ops will go fetch 128 bytes (for potential mdi update)
-espy MC01.PBI01.SCOMFIR.MCMODE1_DISABLE_FP_M_BIT [when=S] {
- spyv;
- ON;
-}
-
-# HW376110
-ispy MC01.PBI01.SCOMFIR.MCPERF1_MERGE_CAPACITY_LIMIT [when=S] { # still applies for dd2
- spyv;
- 0b0111;
-}
-
-# Turns off SRQ pf drop
-ispy MC01.PBI01.SCOMFIR.MCPERF1_ENABLE_PF_DROP_SRQ [when=S] {
- spyv;
- 0;
-}
-
-# HW400075 Always set MDI to 1 for ttypes cp_me and cp_m
-ispy MC01.PBI01.SCOMFIR.MCMODE2_DISABLE_MDI0 [when=S && ATTR_CHIP_EC_FEATURE_HW400075] {
- spyv, expr;
- 0b0001100000000, (TGT1.ATTR_RISK_LEVEL == 0);
-}
-
-# HW398139 Enable commandlist prefetch drop for better arbitration
-# Prefetch drop references an internal counter (6 by default - this is max value) to determine
-# when a prefetch gets dropped. DROP_CNT_THRESH determines the rate the counter decrements (in units
-# of 4 nest clocks) -- here, 8 * 4 nclks = 32 nclks, 32 nclks * 6 counts => takes 192 nest clocks
-# to drop a prefetch. This dial may need to be tuned for performance.
-espy MC01.PBI01.SCOMFIR.MCPERF1_ENABLE_PF_DROP_CMDLIST [when=S] { # enable for dd1 and dd2
- spyv;
- ON;
-}
-
-ispy MC01.PBI01.SCOMFIR.MCPERF1_PF_DROP_CNT_THRESH [when=S] {
- spyv, expr;
- 8, (ATTR_CHIP_EC_FEATURE_HW398139==1); # dd1 (arbitrarily chosen, empirically found to be stable)
- 25, (ATTR_CHIP_EC_FEATURE_HW398139!=1); # dd2 (performance chosen)
-}
-
-# Temporary Boston Fix HW411339 for 1600 nest 2400 mem frequencies
-
-define def_mn_freq_ratio = (1000 * MCBIST.ATTR_MSS_FREQ) / SYS.ATTR_FREQ_PB_MHZ;
-
-espy MC01.PBI01.SCOMFIR.MCMODE2_FORCE_SFSTAT_ACTIVE [when=S && ATTR_CHIP_EC_FEATURE_HW411339] {
- spyv, expr;
- OFF, (def_mn_freq_ratio<=1350); # 1333 which is 2666/2000 (and lower ratios) will work as normal
- ON, (def_mn_freq_ratio>1350); # 1500 which is 2400/1600 will have sfsat/mdi always 1
-}
-
-##################
-# DD2 NEW SETTINGS
-##################
-
-espy MC01.PBI01.SCOMFIR.MCMODE0_ENABLE_CENTAUR_SYNC [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-
-espy MC01.PBI01.SCOMFIR.MCMODE0_ENABLE_64_128B_READ [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-
-espy MC01.PBI01.SCOMFIR.MCMODE0_ENABLE_DROP_FP_DYN64_ACTIVE [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-
-ispy MC01.PBI01.SCOMFIR.MCPERF1_WRQ_CAPACITY_LIMIT [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 0b001111;
-}
-
-ispy MC01.PBI01.SCOMFIR.MCMODE2_COLLISION_MODES [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- 0b0000000000001000;
-}
-
-espy MC01.PBI01.SCOMFIR.MCMODE0_CENTAURP_ENABLE_ECRESP [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- OFF;
-}
-
-espy MC01.PBI01.SCOMFIR.MCPERF1_ENABLE_PREFETCH_PROMOTE [when=S && ATTR_CHIP_EC_FEATURE_NEW_MC_DD2_SETTINGS] {
- spyv;
- ON;
-}
-
-# For DD2, HW397255 fix doesn't get configured until mss_thermal_init, so start with this on to protect mss_scrub
-espy MC01.PBI01.SCOMFIR.MCMODE0_DISABLE_MC_SYNC [when=S && !ATTR_CHIP_EC_FEATURE_HW397255] {
- spyv;
- ON;
-}
-
-# For DD2, HW397255 fix doesn't get configured until mss_thermal_init, so start with this on to protect mss_scrub
-espy MC01.PBI01.SCOMFIR.MCMODE0_DISABLE_MC_PAIR_SYNC [when=S && !ATTR_CHIP_EC_FEATURE_HW397255] {
- spyv;
- ON;
-}
-
-# Dis Spec Ops for DCBFs (HW414958) dd1 and dd2
-ispy MC01.PBI01.SCOMFIR.MCMODE1_DISABLE_SPEC_OP [when=S] {
- spyv;
- # Bit 45 of 33:51 field is DCBF type
- # 3333333444444444455
- # 3456789012345678901
- 0b0000000000001000000;
-}
-
-#################
-# DD2 WORKAROUNDS
-#################
-
OpenPOWER on IntegriCloud