summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C23
-rw-r--r--src/usr/hwpf/hwp/memory_attributes.xml54
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml18
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml1
4 files changed, 56 insertions, 40 deletions
diff --git a/src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C b/src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C
index dda421f7e..105c16452 100644
--- a/src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C
+++ b/src/usr/hwpf/hwp/mc_config/mss_freq/mss_freq.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2013 */
+/* COPYRIGHT International Business Machines Corp. 2012,2014 */
/* */
/* p1 */
/* */
@@ -20,7 +20,7 @@
/* Origin: 30 */
/* */
/* IBM_PROLOG_END_TAG */
-// $Id: mss_freq.C,v 1.22 2013/06/27 20:51:49 jdsloat Exp $
+// $Id: mss_freq.C,v 1.23 2014/02/06 00:08:38 jdsloat Exp $
/* File mss_volt.C created by JEFF SABROWSKI on Fri 21 Oct 2011. */
//------------------------------------------------------------------------------
@@ -62,7 +62,7 @@
// 1.20 | jdsloat | 02/12/13 | Added path for freq_override
// 1.21 | jdsloat | 02/12/13 | Added Debug messages
// 1.22 | jdsloat | 06/27/13 | Fixed overridng RC error that results in coredump on no centaur SPD info.
-
+// 1.23 | jdsloat | 02/05/14 | Added support for DMI capable frequecies via ATTR_MSS_NEST_CAPABLE_FREQUENCIES
//
// This procedure takes CENTAUR as argument. for each DIMM (under each MBA)
// DIMM SPD attributes are read to determine optimal DRAM frequency
@@ -129,6 +129,7 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
uint8_t num_ranks_total = 0;
uint32_t l_freq_override = 0;
uint8_t l_override_path = 0;
+ uint8_t l_nest_capable_frequencies = 0;
// Get associated MBA's on this centaur
l_rc=fapiGetChildChiplets(i_target_memb, fapi::TARGET_TYPE_MBA_CHIPLET, l_mbaChiplets);
@@ -554,6 +555,22 @@ fapi::ReturnCode mss_freq(const fapi::Target &i_target_memb)
}
}
+ if (!l_rc)
+ {
+ // 0x03 = capable of both 8.0G/9.6G, 0x01 = capable of 8.0G, 0x02 = capable 9.6G
+ if ( l_selected_dimm_freq == 1066)
+ {
+ l_nest_capable_frequencies = 0x01;
+ l_rc = FAPI_ATTR_SET(ATTR_MSS_NEST_CAPABLE_FREQUENCIES, &i_target_memb, l_nest_capable_frequencies);
+ }
+ else
+ {
+ l_nest_capable_frequencies = 0x02;
+ l_rc = FAPI_ATTR_SET(ATTR_MSS_NEST_CAPABLE_FREQUENCIES, &i_target_memb, l_nest_capable_frequencies);
+ }
+
+ }
+
// set frequency in centaur attribute ATTR_MSS_FREQ
if (!l_rc)
{
diff --git a/src/usr/hwpf/hwp/memory_attributes.xml b/src/usr/hwpf/hwp/memory_attributes.xml
index 371538e7e..91851d7bf 100644
--- a/src/usr/hwpf/hwp/memory_attributes.xml
+++ b/src/usr/hwpf/hwp/memory_attributes.xml
@@ -21,7 +21,7 @@
<!-- -->
<!-- IBM_PROLOG_END_TAG -->
<attributes>
-<!-- $Id: memory_attributes.xml,v 1.103 2014/01/10 22:52:18 bellows Exp $ -->
+<!-- $Id: memory_attributes.xml,v 1.104 2014/01/21 16:15:37 bellows Exp $ -->
<!-- DO NOT EDIT THIS FILE DIRECTLY PLEASE UPDATE THE ODS FILE AND FOLLOW THE INSTRUCTION TAB -->
<!-- PLEASE SEE MARK BELLOWS (BELLOWS.IBM.COM) OR OTHERS ON MEMORY TEAM FOR HELP -->
<!-- *********************************************************************** -->
@@ -1690,18 +1690,6 @@ Note: Cronus and Firmware plus our initfiles do not really support any of the UN
</attribute>
<attribute>
- <id>ATTR_MSS_LAB_OVERRIDE_FOR_MEM_PLL</id>
- <targetType>TARGET_TYPE_MEMBUF_CHIP</targetType>
- <description>Tell the cen_mem_pll_setup procedure to override the default Centaur MEM PLL settings with user-specified scan chain data.
-creator: lab user
-consumer: cen_mem_pll_setup
-firmware notes: none</description>
- <valueType>uint8</valueType>
- <writeable/>
- <odmVisable/>
-</attribute>
-
-<attribute>
<id>ATTR_MSS_MEM_MC_IN_GROUP</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
<description>A 8 bit vector that would be a designation of which MC are involved in the group. So the bits would represent MC0,MC1,MC2,MC3,MC4,MC5,MC6,MC7-what is grouped into the first would go into [0], the 2nd group into entry [1] and so on. set in the mss_setup_bars</description>
@@ -2365,29 +2353,6 @@ Firmware shares some code with the processor, so the attribute is named so they
</attribute>
<attribute>
- <id>ATTR_EFF_RDTAG</id>
- <targetType>TARGET_TYPE_MBA_CHIPLET</targetType>
- <description>Read Tag value that is used in setting up the phy. It is expected that this value will come from the VPD. NOTE THIS VALUE OF THIS ATTRIBUTE WILL COME FROM THE VPD SO THIS ATTRIBUTE WILL BECOME OBSOLETE AT SOME TIME</description>
- <valueType>uint8</valueType>
- <platInit/>
- <writeable/>
- <odmVisable/>
- <odmChangeable/>
-</attribute>
-
-<attribute>
- <id>ATTR_EFF_DQ_WR_OFFSET</id>
- <targetType>TARGET_TYPE_MBA_CHIPLET</targetType>
- <description>DQ write offset value that is used in setting up the phy's phase rotators before WR_LVL, 0x40 is HW Default. It is expected that this value will come from the VPD</description>
- <valueType>uint8</valueType>
- <platInit/>
- <writeable/>
- <odmVisable/>
- <odmChangeable/>
- <array> 2</array>
-</attribute>
-
-<attribute>
<id>ATTR_EFF_BUFFER_LATENCY</id>
<targetType>TARGET_TYPE_MBA_CHIPLET</targetType>
<description>Additional buffer latency in the case of RDIMMs and LRDIMMs. It is expected that this value will come from the VPD</description>
@@ -2578,7 +2543,6 @@ DIMM power test memory throttles for cfg_nm_m</description>
<odmChangeable/>
</attribute>
-<!-- TODO: RTC 82331 - Add this attribute to the Accessor HWP
<attribute>
<id>ATTR_MSS_NEST_CAPABLE_FREQUENCIES</id>
<targetType>TARGET_TYPE_MEMBUF_CHIP</targetType>
@@ -2592,6 +2556,7 @@ DIMM power test memory throttles for cfg_nm_m</description>
<enum>8_0G = 1, 9_6G = 2</enum>
</attribute>
+<!-- TODO: RTC 82331 - Add this attribute to the Accessor HWP
<attribute>
<id>ATTR_MRW_NEST_FREQUENCIES</id>
<targetType>TARGET_TYPE_MEMBUF_CHIP</targetType>
@@ -2619,13 +2584,28 @@ DIMM power test memory throttles for cfg_nm_m</description>
<attribute>
<id>ATTR_MRW_CDIMM_MASTER_I2C_TEMP_SENSOR_ENABLE</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
+
<description>Used for Custom DIMMs to not enable the reading of the dimm temperature sensor on the master i2c bus</description>
+
<valueType>uint8</valueType>
<enum>OFF = 0, ON = 1</enum>
<platInit/>
<odmVisable/>
</attribute>
+<!-- This attribute is not used in this build yet
+<attribute>
+ <id>ATTR_MRW_ENHANCED_GROUPING_NO_MIRRORING</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ The MRW for a system should set this to TRUE for systems that do not want to suport MCS groupings larget than 2. Mirroring also must be disabled and is unusable. IBM systems, such as Tuleta, should set this attribute to FALSE. Stradale based systems should set this to TRUE. This instructs the grouping code to group contiguous memory controllers of the same size together.
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <enum>FALSE = 0, TRUE = 1</enum>
+</attribute>
+ -->
+
<!-- DO NOT EDIT THIS FILE DIRECTLY PLEASE UPDATE THE ODS FILE AND FOLLOW THE INSTRUCTION TAB -->
<!-- PLEASE SEE MARK BELLOWS (BELLOWS.IBM.COM) OR OTHERS ON MEMORY TEAM FOR HELP -->
</attributes>
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index 2a3a53132..2d4fb352f 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -13278,6 +13278,24 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</hwpfToHbAttrMap>
</attribute>
+<attribute>
+ <id>MSS_NEST_CAPABLE_FREQUENCIES</id>
+ <description>
+ The NEST frequencies the memory chip can run at computed by the mss_freq. The possibilities are ORed together. The platform uses these value and the MRW to determine what frequency to boot the fabric (nest) if it can. There are two values: 8G and 9.6G
+ </description>
+ <simpleType>
+ <uint8_t>
+ </uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_MSS_NEST_CAPABLE_FREQUENCIES</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
</attributes>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index 0aa065e35..b9c1cc4fa 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -1214,6 +1214,7 @@
<attribute><id>MSS_BLUEWATERFALL_BROKEN</id></attribute>
<attribute><id>DMI_DFE_OVERRIDE</id></attribute>
<attribute><id>MSS_INIT_STATE</id></attribute>
+ <attribute><id>MSS_NEST_CAPABLE_FREQUENCIES</id></attribute>
</targetType>
<!-- Centaur L4 -->
OpenPOWER on IntegriCloud