summaryrefslogtreecommitdiffstats
path: root/src/import/generic/procedures/xml/attribute_info/generic_memory_mrw_attributes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/generic/procedures/xml/attribute_info/generic_memory_mrw_attributes.xml')
-rw-r--r--src/import/generic/procedures/xml/attribute_info/generic_memory_mrw_attributes.xml532
1 files changed, 532 insertions, 0 deletions
diff --git a/src/import/generic/procedures/xml/attribute_info/generic_memory_mrw_attributes.xml b/src/import/generic/procedures/xml/attribute_info/generic_memory_mrw_attributes.xml
index f7f678657..31ac9b4c0 100644
--- a/src/import/generic/procedures/xml/attribute_info/generic_memory_mrw_attributes.xml
+++ b/src/import/generic/procedures/xml/attribute_info/generic_memory_mrw_attributes.xml
@@ -61,6 +61,202 @@
</attribute>
<attribute>
+ <id>ATTR_MSS_MRW_SAFEMODE_MEM_THROTTLED_N_COMMANDS_PER_PORT</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook safe mode throttle value for numerator cfg_nm_n_per_port
+ Set to below optimum value/ rate.
+ On a per port basis
+ Also used for emergency mode throttle FARB4Q_EMERGENCY_N
+ Used to thermally protect the system in all supported environmental conditions when OCC is not functional
+ Consumer: thermal_init, initfile
+ </description>
+ <valueType>uint16</valueType>
+ <default>32</default>
+ <platInit/>
+ <initToZero/>
+ <mssAccessorName>mrw_safemode_mem_throttled_n_commands_per_port</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_THERMAL_MEMORY_POWER_LIMIT</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook Thermal Memory Power Limit
+ Used to calculate throttles to be at or under the power limit
+ Per DIMM basis
+ KEY (0-19): In order
+ DIMM_SIZE = bits 0-3,
+ DIMM_GEN = 4-5,
+ DIMM_TYPE = 6-7,
+ DIMM_WIDTH = 8-10,
+ DIMM_DENSITY = 11-13,
+ DIMM_STACK_TYPE = 14-15,
+ DRAM_MFGID = 16-18,
+ DIMMS_PER_PORT = 19-20,
+ Bits 21-32: Not used
+ VALUE (bits 32-63) in cW:
+ VMEM+VPP thermal power limit per DIMM = 32-63
+ Consumers: eff_config_thermal and bulk_pwr_throttles
+ </description>
+ <valueType>uint64</valueType>
+ <mssUnits>cW</mssUnits>
+ <default>0xfffff80000000794</default>
+ <array>10</array>
+ <platInit/>
+ <initToZero/>
+ <mssAccessorName>mrw_thermal_memory_power_limit</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_PWR_INTERCEPT</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook Power Curve Intercept for DIMM
+ Used to get the VDDR and VDDR+VPP power curve for each DIMM
+ Decoded and used to set ATTR_MSS_TOTAL_PWR_INTERCEPT
+ Key Value pair
+ KEY (0-19): In order
+ DIMM_SIZE = bits 0-3,
+ DIMM_GEN = 4-5,
+ DIMM_TYPE = 6-7,
+ DIMM_WIDTH = 8-10,
+ DIMM_DENSITY = 11-13,
+ DIMM_STACK_TYPE = 14-15,
+ DRAM_MFGID = 16-18,
+ DIMMS_PER_PORT = 19-20,
+ Bits 21-32: Not used
+ VALUE (bits 32-63) in cW:
+ VMEM power curve = 32-47
+ VMEM+VPP power curve = 48-63
+ Consumers: eff_config_thermal
+ </description>
+ <valueType>uint64</valueType>
+ <platInit/>
+ <initToZero/>
+ <array>100</array>
+ <default>0xfffff8000384044C</default>
+ <mssAccessorName>mrw_pwr_intercept</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_PWR_SLOPE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook Power Curve Slope for DIMM
+ Used to get the VDDR and VDDR+VPP power curve for each DIMM
+ Decoded and used to set ATTR_MSS_TOTAL_PWR_INTERCEPT
+ Key Value pair
+ KEY (0-19): In order
+ DIMM_SIZE = bits 0-3,
+ DIMM_GEN = 4-5,
+ DIMM_TYPE = 6-7,
+ DIMM_WIDTH = 8-10,
+ DIMM_DENSITY = 11-13,
+ DIMM_STACK_TYPE = 14-15,
+ DRAM_MFGID = 16-18,
+ DIMMS_PER_PORT = 19-20,
+ Bits 21-32: Not used
+ VALUE (bits 32-63) in cW:
+ VMEM power curve = 32-47
+ VMEM+VPP power curve = 48-63
+ Consumers: eff_config_thermal
+ </description>
+ <valueType>uint64</valueType>
+ <platInit/>
+ <initToZero/>
+ <array>100</array>
+ <default>0xfffff800041A044C</default>
+ <mssAccessorName>mrw_pwr_slope</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_REFRESH_RATE_REQUEST</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook Refresh Rate
+ Desired refresh interval used in refresh register 0, MBAREF0Q_CFG_REFRESH_INTERVAL
+ 7.8 us (SINGLE)
+ 3.9 us (DOUBLE)
+ 7.02 us (SINGLE_10_PERCENT_FASTER)
+ 3.51 us (DOUBLE_10_PERCENT_FASTER)
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <enum>
+ DOUBLE=0,
+ SINGLE=1,
+ SINGLE_10_PERCENT_FASTER=2,
+ DOUBLE_10_PERCENT_FASTER=3
+ </enum>
+ <default>0x0</default>
+ <initToZero/>
+ <mssAccessorName>mrw_refresh_rate_request</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook DIMM power curve percent uplift
+ for this system at max utilization.
+ Value should be 0 for ISDIMMs
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <default>0x0</default>
+ <initToZero/>
+ <mssAccessorName>mrw_dimm_power_curve_percent_uplift</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT_IDLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook DIMM power curve percent uplift
+ for this system at idle utilization.
+ Value should be 0 for ISDIMMs
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <default>0x0</default>
+ <initToZero/>
+ <mssAccessorName>mrw_dimm_power_curve_percent_uplift_idle</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_MEM_M_DRAM_CLOCKS</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook for the number of M DRAM clocks.
+ One approach to curbing DRAM power usage is by throttling
+ traffic through a programmable N commands over M window.
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <default>0x00000200</default>
+ <initToZero/>
+ <mssAccessorName>mrw_mem_m_dram_clocks</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_MAX_DRAM_DATABUS_UTIL</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook value for maximum dram data bus utilization in centi percent (c%).
+ Used to determine memory throttle values.
+ Max databus utilization on a per port basis
+ Default to 90%
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <mssUnits>c%</mssUnits>
+ <default>0x00002328</default>
+ <initToZero/>
+ <mssAccessorName>mrw_max_dram_databus_util</mssAccessorName>
+ </attribute>
+
+ <attribute>
<id>ATTR_MSS_MRW_POWER_CONTROL_REQUESTED</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
@@ -74,4 +270,340 @@
<initToZero/>
<mssAccessorName>mrw_power_control_requested</mssAccessorName>
</attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_IDLE_POWER_CONTROL_REQUESTED</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Memory power control settings for IDLE powersave mode
+ Used by OCC when entering idle power-save mode
+ </description>
+ <valueType>uint8</valueType>
+ <enum>OFF = 0x00, POWER_DOWN = 0x01, PD_AND_STR = 0x02, PD_AND_STR_CLK_STOP = 0x03</enum>
+ <platInit/>
+ <default>OFF</default>
+ <initToZero/>
+ <mssAccessorName>mrw_idle_power_control_requested</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_VMEM_REGULATOR_POWER_LIMIT_PER_DIMM_ADJ_ENABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook enablement of the HWP code to adjust the
+ VMEM regulator power limit based on number of installed DIMMs.
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE = 0, TRUE = 1</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR3</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook VMEM regulator power limit per CDIMM assuming a full configuration. Units in cW
+ Used for Cumulus
+ Consumed in mss_eff_config_thermal
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <mssUnits>cW</mssUnits>
+ <initToZero/>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR4</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook VMEM regulator power limit per DIMM assuming a full configuration. Units in cW
+ Consumed in mss_eff_config_thermal
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <mssUnits>cW</mssUnits>
+ <default>0x000006A4</default>
+ <initToZero/>
+ <mssAccessorName>mrw_vmem_regulator_power_limit_per_dimm_ddr4</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_MAX_NUMBER_DIMMS_POSSIBLE_PER_VMEM_REGULATOR</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook value for the maximum possible number
+ of dimms that can be installed under any of the VMEM regulators.
+ Consumed in eff_config_thermal to calculate mem_watt_target
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <mssAccessorName>mrw_max_number_dimms_possible_per_vmem_regulator</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_AVDD_OFFSET_ENABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>Used for to determine whether to apply an offset to AVDD. Supplied by MRW.</description>
+ <valueType>uint8</valueType>
+ <enum>ENABLE = 1, DISABLE = 0</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_VDD_OFFSET_ENABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>Used for to determine whether to apply an offset to VDD. Supplied by MRW.</description>
+ <valueType>uint8</valueType>
+ <enum>ENABLE = 1, DISABLE = 0</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_VCS_OFFSET_ENABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>Used for to determine whether to apply an offset to VCS. Supplied by MRW.</description>
+ <valueType>uint8</valueType>
+ <enum>ENABLE = 1, DISABLE = 0</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_VPP_OFFSET_ENABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>Used for to determine whether to apply an offset to VCS. Supplied by MRW.</description>
+ <valueType>uint8</valueType>
+ <enum>ENABLE = 1, DISABLE = 0</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_VDDR_OFFSET_ENABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>Used for to determine whether to apply an offset to VDDR. Supplied by MRW.</description>
+ <valueType>uint8</valueType>
+ <enum>ENABLE = 1, DISABLE = 0</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_FINE_REFRESH_MODE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Fine refresh mode.
+ Sets DDR4 MRS3.
+ ZZ uses normal mode.
+ From JEDEC DDR4 Spec 1716.78C from 07-2016
+ Page 47 Table 4.9.1
+ </description>
+ <valueType>uint8</valueType>
+ <enum>
+ NORMAL = 0,
+ FIXED_2X = 1,
+ FIXED_4X = 2,
+ FLY_2X = 5,
+ FLY_4X = 6
+ </enum>
+ <platInit/>
+ <initToZero/>
+ <default>NORMAL</default>
+ <mssAccessorName>mrw_fine_refresh_mode</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_TEMP_REFRESH_RANGE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Temperature refresh range.
+ Sets DDR4 MRS4.
+ Should be defaulted to extended range.
+ NORMAL for running at 85 degrees C or less, EXTENDED for 95 or less degrees C
+ Used for calculating periodic refresh intervals
+ JEDEC DDR4 spec 1716.78C from 07-2016
+ page 46 4.8.1
+ </description>
+ <valueType>uint8</valueType>
+ <enum>NORMAL = 0, EXTEND = 1</enum>
+ <platInit/>
+ <initToZero/>
+ <default>EXTEND</default>
+ <mssAccessorName>mrw_temp_refresh_range</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_RESET_DELAY_BEFORE_CAL</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>For resetting the phy delay values at the beginning of calling mss_draminit_training. YES means the vaules will be reset.</description>
+ <valueType>uint8</valueType>
+ <enum>YES = 0, NO = 1</enum>
+ <default>YES</default>
+ <initToZero/>
+ <platInit/>
+ <mssAccessorName>mrw_reset_delay_before_cal</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_PERIODIC_MEMCAL_MODE_OPTIONS</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Describes the settings for periodic calibration for all ports:
+ Reading left to right. (DEFAULT: 0xD90C -> Byte 0(11011001), Byte 1(00001100))
+ For each bit: OFF = 0, ON = 1. Setting to 0 indicates to disable periodic memcal.
+ Byte 0:
+ 0: ZCAL
+ 1: SYSCK_ALIGN
+ 2: RDCENTERING
+ 3: RDLCK_ALIGN
+ 4: DQS_ALIGN
+ 5: RDCLK_UPDATE
+ 6: PER_DUTYCYCLE
+ 7: PERCAL_PWR_DIS
+
+ Byte 1:
+ 0: PERCAL_REPEAT
+ 1: PERCAL_REPEAT
+ 2: PERCAL_REPEAT
+ 3: SINGLE_BIT_MPR
+ 4: MBA_CFG_0
+ 5: MBA_CFG_1
+ 6: SPARE
+ 7: SPARE
+ </description>
+ <valueType>uint16</valueType>
+ <mssUnits> encoded settings for periodic calibration </mssUnits>
+ <platInit/>
+ <default>0xD90C</default>
+ <mssAccessorName>mrw_periodic_memcal_mode_options</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_PERIODIC_ZQCAL_MODE_OPTIONS</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Describes the settings for periodic ZQ calibration for all ports:
+ Reading left to right. For each bit: OFF = 0, ON = 1.
+ Setting to 0 indicates to disable periodic zqcal.
+ Byte 0:
+ 0: ZQCAL
+ All others reserved for future use
+ </description>
+ <valueType>uint16</valueType>
+ <mssUnits> encoded settings for periodic calibration </mssUnits>
+ <platInit/>
+ <default>0x8000</default>
+ <mssAccessorName>mrw_periodic_zqcal_mode_options</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_DRAM_2N_MODE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Allows user to manually turn on and off 2N Mode.
+ AUTO indicates to use Signal Integrity generated setting (from VPD).
+ </description>
+ <valueType>uint8</valueType>
+ <enum>AUTO = 0, FORCE_TO_1N_MODE = 1, FORCE_TO_2N_MODE = 2 </enum>
+ <mssUnits> encoded settings for 2N Mode </mssUnits>
+ <platInit/>
+ <initToZero/>
+ <default>AUTO</default>
+ <mssAccessorName>mrw_dram_2n_mode</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_DRAM_WRITE_CRC</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description> Enables DRAM Write CRC</description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <enum> DISABLE = 0, ENABLE = 1 </enum>
+ <default> 0 </default>
+ <mssAccessorName>mrw_dram_write_crc</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_TEMP_REFRESH_MODE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Used in MR4 A3
+ Temperature refresh mode
+ Should be defaulted to disable
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <enum> DISABLE = 0, ENABLE = 1 </enum>
+ <default> 0 </default>
+ <mssAccessorName>mrw_temp_refresh_mode</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_FORCE_BCMODE_OFF</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ An override switch to shut off broadcast mode
+ Enum values:
+ YES: broadcast mode is forced off
+ NO: broadcast mode uses the default value
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <enum> NO = 0, YES = 1 </enum>
+ <mssAccessorName>mrw_force_bcmode_off</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_NVDIMM_PLUG_RULES</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ A bitmap containing the plug rules for NVDIMM.
+ 1 if a DIMM supports an NVDIMM being plugged in, 0 if it does not
+ DIMM slot 0 is the left most bit
+ The index to the bitmap is the position of the DIMM target
+ As such, a bitmap of 0b10010000, would allow NVDIMM plugged into DIMM0 and DIMM3
+ Note: this attribute is a 64 bit number to account for 16 DIMM per processor if there is ever a 4 processor system
+ </description>
+ <valueType>uint64</valueType>
+ <platInit/>
+ <default> 0 </default>
+ <enum> NO_NVDIMM = 0, NVDIMM_CAPABLE = 1 </enum>
+ <mssAccessorName>mrw_nvdimm_plug_rules</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_ALLOW_UNSUPPORTED_RCW</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Switch that allows unsupported raw card references by providing a
+ default raw card setting.
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <default> 1 </default>
+ <enum> DISABLE = 0, ENABLE = 1 </enum>
+ <mssAccessorName>mrw_allow_unsupported_rcw</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MSS_MRW_SUPPORTED_DRAM_WIDTH</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Bitmap of DRAM widths supported by a system. A 1 indicates that the system supports a density.
+ Enums below represent the the bit location in the attribute for a given DRAM width.
+ Default value is 0xC -> both x4/x8 supported
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <default> 0xc0 </default>
+ <enum> X4 = 0, X8 = 1 </enum>
+ <mssAccessorName>mrw_supported_dram_width</mssAccessorName>
+ </attribute>
+
</attributes>
OpenPOWER on IntegriCloud