summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml20
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml104
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml394
-rw-r--r--src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml56
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml270
-rwxr-xr-xsrc/usr/targeting/common/xmltohb/target_types.xml11
6 files changed, 744 insertions, 111 deletions
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
index 35ab3e7a9..85b054235 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
@@ -3619,8 +3619,24 @@
</chip>
</chipEcFeature>
</attribute>
-
- <!-- ******************************************************************** -->
+ <!-- ******************************************************************** -->
+ <attribute>
+ <id>ATTR_CHIP_EC_FEATURE_WOF_NOT_SUPPORTED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Work Load Optimized Frequency non-support in manufacturing.
+ </description>
+ <chipEcFeature>
+ <chip>
+ <name>ENUM_ATTR_NAME_NIMBUS</name>
+ <ec>
+ <value>0x20</value>
+ <test>LESS_THAN</test>
+ </ec>
+ </chip>
+ </chipEcFeature>
+ </attribute>
+ <!-- ******************************************************************** -->
<attribute>
<id>ATTR_CHIP_EC_FEATURE_DD1_ANALOG</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml
index 80daa306f..b3358fcf5 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml
@@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
-<!-- Contributors Listed Below - COPYRIGHT 2016 -->
+<!-- Contributors Listed Below - COPYRIGHT 2016,2017 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
@@ -327,4 +327,106 @@
<writeable/>
</attribute>
<!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_PSTATES_ENABLED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>Indicator that all relevant attributes and required data for
+ Pstates to be enabled is present and valid
+
+ Producer: p9_build_pstate_datablock
+
+ Consumers: p9_pm_pstate_gpe_init
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <writeable/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_RESCLK_ENABLED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>Indicator that all relevant attributes and required data for
+ Resonant Clocking to be enabled is present and valid
+
+ Producer: p9_build_pstate_datablock
+
+ Consumers: p9_hcode_image_build ->
+ PGPE Header
+ CME Header
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <writeable/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_VDM_ENABLED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>Indicator that all relevant attributes and required data for
+ Voltage Droop Monitors (VDM) to be enabled is present and valid
+
+ Producer: p9_build_pstate_datablock
+
+ Consumers: p9_hcode_image_build ->
+ SGPE Header
+ CME Header
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <writeable/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_IVRMS_ENABLED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ <!-- @todo RTC 173736 -->
+ !!!!! Deprecated for ATTR_IVRM_ENABLED
+ !!!!! Will be removed in the future
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <writeable/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_IVRM_ENABLED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>Indicator that all relevant attributes and required data for
+ Internal Voltage Regulator Macros (IVRMs) to be enabled is present and valid
+
+ Producer: p9_build_pstate_datablock
+
+ Consumers: p9_hcode_image_build ->
+ PGPE Header
+ CME Header
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <writeable/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOF_ENABLED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>Indicator that all relevent attributes and required data for
+ WOF to be enabled is present and valid
+
+ Producer: p9_build_pstate_datablock
+
+ Consumers: p9_hcode_image_build ->
+ PGPE Header
+ CME Header
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <writeable/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
</attributes>
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml
index 19dfbb43a..e4865a3a7 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml
@@ -900,18 +900,51 @@
</attribute>
<!-- ********************************************************************* -->
<attribute>
- <id>ATTR_SYSTEM_IVRMS_ENABLED</id>
+ <id>ATTR_SYSTEM_WOF_ENABLED</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
- <description>System control to allow (if all other attribute tests yield
- true values) or categorically disallow IVRM enablement
+ <description>
+ <!-- @todo RTC 173736 -->
+ !!!!! Deprecated for ATTR_SYSTEM_WOF_DISABLE
+ !!!!! Will be removed in the future
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_SYSTEM_WOF_DISABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>Disables Work Load Optimized Frequency (WOF) algorithms to
+ modify frequency based on active core count and other inputs.
+
+ OFF: Will enable WOF given all validity check pass. If
+ validity checks fail, WOF will be disabled for the
+ present IPL.
+ ON: Will disable WOF
+ OFF_SKIP_DD: Same as OFF but skips any validity checking of the chip
+ design level (lab use only).
- Producer: MRWB
+ Producer: Override
Consumers: p9_build_pstate_datablock ->
Pstate Parameter Block (PSPB) for PGPE/OCC
- CME Quad Pstate Region (CQPR) for CM Quad Manager
- Platform default: FALSE
+ </description>
+ <valueType>uint8</valueType>
+ <enum>OFF=0, ON=1, OFF_SKIP_DD=2</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_SYSTEM_IVRMS_ENABLED</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <!-- @todo RTC 173736 -->
+ <description>
+ !!!!! Deprecated for ATTR_SYSTEM_IVRM_DISABLE
+ !!!!! Will be removed in the future
</description>
<valueType>uint8</valueType>
<enum>FALSE=0, TRUE=1</enum>
@@ -920,20 +953,19 @@
</attribute>
<!-- ********************************************************************* -->
<attribute>
- <id>ATTR_SYSTEM_WOF_ENABLED</id>
+ <id>ATTR_SYSTEM_IVRM_DISABLE</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
- <description>System control to allow Work Load Optimized Frequency (WOF)
- algorithms to modify frequency based on active core count and other inputs.
+ <description>Disables IVRM enablement in the system
- Producer: MRWB
+ Producer: Override
Consumers: p9_build_pstate_datablock ->
Pstate Parameter Block (PSPB) for PGPE/OCC
+ CME Quad Pstate Region (CQPR) for CM Quad Manager
- Platform default: FALSE
</description>
<valueType>uint8</valueType>
- <enum>FALSE=0, TRUE=1</enum>
+ <enum>OFF=0, ON=1</enum>
<platInit/>
<initToZero/>
</attribute>
@@ -1138,15 +1170,28 @@
<attribute>
<id>ATTR_VDM_ENABLE</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
+ <!-- @todo RTC 173736 -->
+ <description>
+ !!!!! Deprecated for ATTR_SYSTEM_VDM_ENABLE
+ !!!!! Will be removed in the future
+ </description>
+ <valueType>uint8</valueType>
+ <enum>OFF = 0x00, ON = 0x01</enum>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_SYSTEM_VDM_DISABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
- Controls the enablement of Voltage Droop Monitors (VDM) in the system.
+ Disables the enablement of Voltage Droop Monitors (VDM) in the system.
- Producer: Machine Readable Workbook
+ Producer: Override
Consumers:
- p9_pstate_parameter_block to set flag for CME QuadManager Hcode
+ p9_pstate_parameter_block to clear flag for CME QuadManager Hcode
reaction
- p9_hcd_cache procedures to power on VDMs before CME booting
</description>
<valueType>uint8</valueType>
<enum>OFF = 0x00, ON = 0x01</enum>
@@ -1158,16 +1203,16 @@
<id>ATTR_VDM_DROOP_SMALL_OVERRIDE</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
- Voltage Droop Monitor (VDM) Small Threshold Select Value per VPD point
- The enum indicates a negative value below the VDM setting that will
- trigger a small droop event.
+ Voltage Droop Monitor (VDM) Small Threshold Select Value per VPD point
+ The enum indicates a negative value below the VDM setting that will
+ trigger a small droop event.
- Array of 5 entries:
- 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
- If index 4 is non-zero, the other entries are considered valid.
+ If index 4 is non-zero, the other entries are considered valid.
- Producer: MRWB.
+ Producer: Override
</description>
<valueType>uint8</valueType>
<enum>
@@ -1204,7 +1249,7 @@
If index 4 is non-zero, the other entries are considered valid.
- Producer: Firmware override
+ Producer: Override
</description>
<valueType>uint8</valueType>
<enum>
@@ -1241,7 +1286,7 @@
If index 4 is non-zero, the other entries are considered valid.
- Producer: MRWB.
+ Producer: Override
</description>
<valueType>uint8</valueType>
<enum>
@@ -1278,7 +1323,7 @@
If index 4 is non-zero, the other entries are considered valid.
- Producer: MRWB.
+ Producer: Override
</description>
<valueType>uint8</valueType>
<enum>
@@ -1298,11 +1343,114 @@
</attribute>
<!-- ********************************************************************* -->
<attribute>
+ <id>ATTR_VDM_SMALL_FREQ_DROP_N_S_OVERRIDE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ DPLL response override of the respective #W VPD content for a Voltage Droop
+ Monitor (VDM) Small Frequency Drop (eg Normal to Small). Values are in
+ 1/32ths with legal values being of N being less than or equal to 8.
+
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+
+ If index 4 is non-zero, the other entries are considered valid.
+
+ Producer: Override
+ </description>
+ <valueType>uint8</valueType>
+ <array>5</array>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_VDM_LARGE_FREQ_DROP_N_L_OVERRIDE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ DPLL response override of the respective #W VPD content for a Voltage Droop
+ Monitor (VDM) Large Frequency Drop (eg Normal to Large). Values are in
+ 1/32ths with legal values being of N being less than or equal to 8.
+
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+
+ If index 4 is non-zero, the other entries are considered valid.
+
+ Producer: Override
+ </description>
+ <valueType>uint8</valueType>
+ <array>5</array>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_VDM_FREQ_RETURN_L_S_OVERRIDE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ DPLL response override of the respective #W VPD content for returning
+ from a Large Frequency Droop value to the Small value. Values are in
+ 1/32ths with legal values being of N being less than or equal to 8.
+
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+
+ If index 4 is non-zero, the other entries are considered valid.
+
+ Producer: Override
+ </description>
+ <valueType>uint8</valueType>
+ <array>5</array>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_VDM_FREQ_RETURN_S_N_OVERRIDE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ DPLL response override of the respective #W VPD content for returning
+ from a Small Frequency Droop value to the Normal value. Values are in
+ 1/32ths with legal values being of N being less than or equal to 8.
+
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+
+ If index 4 is non-zero, the other entries are considered valid.
+
+ Producer: Override
+ </description>
+ <valueType>uint8</valueType>
+ <array>5</array>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_VDM_EXTREME_THOTTLE_ENABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Controls the enablement of Voltage Droop Monitors (VDM) to throttle
+ the core upon an extreme droop event.
+
+ Producer: Machine Readable Workbook
+
+ Consumers:
+ p9_hcode_image_build to set flag for CME QuadManager Hcode
+ reaction
+ </description>
+ <valueType>uint8</valueType>
+ <enum>OFF = 0x00, ON = 0x01</enum>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
<id>ATTR_VDM_FMAX_OVERRIDE_KHZ</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
- Producer: MRWB.
+ Producer: Override
</description>
<valueType>uint16</valueType>
<array>5</array>
@@ -1316,7 +1464,7 @@
<description>
- Producer: MRWB.
+ Producer: Override
</description>
<valueType>uint16</valueType>
<array>5</array>
@@ -1329,28 +1477,46 @@
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
Voltage Droop Monitor (VDM) Voltage Compare Voltage to expect when no
- droop is present (binary in mV)
+ droop is present (binary in mV). A default value of 0 indicates no
+ override
Array of 5 entries:
0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
- If index 4 is non-zero, the other entries are considered valid.
-
- Producer: MRWB.
+ Producer: Override
</description>
<valueType>uint8</valueType>
<array>5</array>
<initToZero/>
<platInit/>
+ <!-- RTC 173957 Reduce to 4 entry array. Remove Enable -->
</attribute>
<!-- ********************************************************************* -->
<attribute>
- <id>ATTR_DPLL_DYNAMIC_FMAX_ENABLE</id>
+ <id>ATTR_VDM_VID_COMPARE_BIAS_0P5PCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
<description>
- Allow increased dynamic frequency in response to excess voltage margin
- Controlled by VDM_OVERVOLT threshold value in VDM Configuration Register.
+ VDM Voltage Compare Bias - % of bias (signed twos complement in
+ 0.5 percent steps) that is applied to the #W VDM VID Compare before
+ placement in the respective Pstate Paramter Blocks that will be consumed
+ by Hcode.
- Producer: MRWB.
+ Array of 4 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo
+
+ Producer: Override
+ </description>
+ <valueType>int8</valueType>
+ <array>4</array>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_DPLL_DYNAMIC_FMAX_ENABLE</id>
+ <description>
+ !!!!! Deprecated for ATTR_DPLL_VDM_RESPONSE
+ !!!!! Will be removed in the future
</description>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<valueType>uint8</valueType>
@@ -1364,11 +1530,8 @@
<attribute>
<id>ATTR_DPLL_DYNAMIC_FMIN_ENABLE</id>
<description>
- Allow decreased dynamic frequency in response to loss of voltage margin.
- Controlled by VDM_DROOP_SMALL threshold value in VDM Configuration
- Register.
-
- Producer: MRWB.
+ !!!!! Deprecated for ATTR_DPLL_VDM_RESPONSE
+ !!!!! Will be removed in the future
</description>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<valueType>uint8</valueType>
@@ -1382,12 +1545,8 @@
<attribute>
<id>ATTR_DPLL_DROOP_PROTECT_ENABLE</id>
<description>
- Enable instantaneous frequency reduction in response to droop events
- Controlled by VDM_DROOP_SMALL, _LARGE and _XTREME threshold values in VDM
- Configuration Register. The amount of reduction is controlled by chip
- initialization values
-
- Producer: MRWB.
+ !!!!! Deprecated for ATTR_DPLL_VDM_RESPONSE
+ !!!!! Will be removed in the future
</description>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<valueType>uint8</valueType>
@@ -1402,18 +1561,24 @@
<id>ATTR_DPLL_VDM_RESPONSE</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
- Indicates the response of the DPLL frequency upon VDM events. This
- control will only apply if ATTR_DPLL_VDM_JUMP_ENABLE is ON;
- Hardware WOF = DROOP_PROTECT_OVERVOLT (slew to Fmax if margin exists)
+ Indicates the response of the DPLL frequency upon VDM events if
+ ATTR_SYSTEM_VDM_DISABLE is not ON.
+
+ NONE -> DPLL Mode 2
+ DROOP_PROTECT -> DPLL Mode 3
+ DROOP_PROTECT_OVERVOLT -> DPLL Mode 3.5
+ DYNAMIC -> DPLL Mode 4
+ DYNAMIC_PROTECT -> DPLL Mode 5
Producer: MRWB.
</description>
<valueType>uint8</valueType>
<enum>
- STATIC_FREQ = 0x00,
- STATIC_DROOP_PROTECT = 0x01,
- DROOP_PROTECT_OVERVOLT = 0x02,
- DYNAMIC_FREQ = 0x04
+ DROOP_PROTECT = 0x00,
+ DROOP_PROTECT_OVERVOLT = 0x01,
+ DYNAMIC = 0x02,
+ DYNAMIC_PROTECT = 0x03,
+ NONE = 0x04
</enum>
<initToZero/>
<platInit/>
@@ -1431,7 +1596,7 @@
voltage. If this difference is smaller than the value of this attribute,
the iVRM is forced in to bypass to use the external voltage.
- Producer: MRWB.
+ Producer: Override
Consumer: p9_pstate_parameter_block ->
CME pstate parameter block
@@ -1450,10 +1615,10 @@
<id>ATTR_IVRM_STRENGTH_LOOKUP</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
- Lookup table used to as part of determining the PFET width to use based
- on the voltage across the PFET header.
+ Override Lookup table used to as part of determining the PFET width to use
+ based on the voltage across the PFET header.
- Producer: MRWB via the iVRM team
+ Producer: Override
Consumer: p9_pstate_parameter_block ->
CME pstate parameter block
@@ -1469,10 +1634,10 @@
<attribute>
<id>ATTR_IVRM_VIN_MULTIPLIER</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
- <description>Multiplier used with the strength lookup to determine the IVRM
- PFET width.
+ <description>Overide the hardcoded multiplier table used with the strength
+ lookup to determine the IVRM PFET width.
- Producer: MRWB via the iVRM team
+ Producer: Override
Consumer: p9_pstate_parameter_block ->
CME pstate parameter block
@@ -1491,7 +1656,7 @@
calculation. Setting to 0 will use the default 1100mV. Setting this to a
non-zero value will cause this value to be used instead.
- Producer: MRWB.
+ Producer: Override
Consumer: p9_pstate_parameter_block ->
CME pstate parameter block
@@ -1505,11 +1670,10 @@
<attribute>
<id>ATTR_IVRM_STEP_DELAY_NS</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
- <description>Time (in nanoseconds) to wait between IVRM steps that are
- part of a larger transition to the ultimate destination voltage. The
- value of 0 is valid to indicate that no delay is necessary.
+ <description>Override time (in nanoseconds) to wait between IVRM steps that
+ are part of a larger transition to the ultimate destination voltage.
- Producer: MRWB.
+ Producer: Override
Consumer: p9_pstate_parameter_block ->
CME pstate parameter block
@@ -1524,8 +1688,9 @@
<id>ATTR_IVRM_STABILIZATION_DELAY_NS</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
- Time (in nanoseconds) to wait after the iVRMs indicate "done" in the event
- extra time is required.
+ Override time (in nanoseconds) to wait after the iVRM indicates "done" in
+ the event extra time is required. A zero value will have the hardcoded
+ default to be used.
Producer: MRWB.
@@ -1557,12 +1722,26 @@
<id>ATTR_SYSTEM_RESCLK_ENABLE</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
- Controls the enablement of resonant clocking in the system.
+ <!-- @todo RTC 173736 -->
+ !!!!! Deprecated for ATTR_SYSTEM_RESCLK_DISABLE
+ !!!!! Will be removed in the future
+ </description>
+ <valueType>uint8</valueType>
+ <enum>OFF = 0x00, ON = 0x01</enum>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_SYSTEM_RESCLK_DISABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Disables the enablement of resonant clocking in the system.
- Producer: Machine Readable Workbook
+ Producer: Override
Consumers:
- p9_pstate_parameter_block to set flag for CME QuadManager Hcode
+ p9_pstate_parameter_block to clear the flag for CME QuadManager Hcode
reaction
</description>
<valueType>uint8</valueType>
@@ -1901,27 +2080,70 @@
<platInit/>
</attribute>
<!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_SYSTEM_PSTATES_MODE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Controls the mode of Pstate Protocol for testing.
+ ON: Boots the PGPE in "OCC Pstate Mode" but does NOT start the Pstate
+ protocol
+
+ OFF: Does NOT boot the PGPE
+ AUTO: Boots the PGPE and automatically starts the Pstate protocol.
+ PMCR operations to move Pstates are honored
+
+ Producer: Override
+ Consumers:
+ p9_pstate_parameter_block and p9_pm_pstate_gpe_init
+ </description>
+ <valueType>uint8</valueType>
+ <enum>ON = 0x00, OFF = 0x01, AUTO = 0x02</enum>
+ <initToZero/>
+ <platInit/>
+ </attribute>
+ <!-- ********************************************************************* -->
<attribute>
- <id>ATTR_VDM_VID_COMPARE_BIAS_0P5PCT</id>
+ <id>ATTR_CORE_THROTTLE_ASSERT_COUNT</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
<description>
- VDM Voltage Compare Bias - % of bias (signed twos
- complement in
- 0.5 percent steps) that is applied to the #W VDM
- VID Compare before placement in the respective Pstate
- Paramter Blocks that will be consumed
- by Hcode.
- Array of 4 entries: 0 = PowerSave, 1 =
- Nominal; 2 = Turbo; 3 = UltraTurbo
- If index 4 is non-zero, the
- other entries are considered
- valid.Producer:MRWB.
+ The number of PGPE Fixed Timer Interrupts (see Hcode documentation for
+ durations) to assert a core throttle when
+ OCC Scratch 2[Core Throttle Continuous Change Enable] is set.
+
+ A value of 0 when Continuous Change Enable is set will deassert throttle.
+
+ Producer: Override/Lab
+
+ Consumers:
+ p9_hcode_image_build.c ->
+ PGPE Header field
</description>
- <valueType>int8</valueType>
- <array>4</array>
+ <valueType>uint32</valueType>
<initToZero/>
<platInit/>
- </attribute>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_CORE_THROTTLE_DEASSERT_COUNT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ The number of PGPE Fixed Timer Interrupts (see Hcode documentation for
+ machine dependent durations) to deassert core throttle when
+ OCC Scratch 2[Core Throttle Continuous Change Enable] is set.
+ A value of 0 when Continuous Change Enable is set and
+ ATTR_CORE_THROTTLE_ASSERT_COUNT is non-0, throttling is always on.
+
+ Producer: Override/Lab
+
+ Consumers:
+ p9_hcode_image_build.c ->
+ PGPE Header field
+ </description>
+ <valueType>uint32</valueType>
+ <initToZero/>
+ <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 9c943a7df..b03bfc288 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
@@ -202,15 +202,71 @@
<default>0x00</default>
</attribute>
+ <!-- set to 0 to allow automatic enablement when underlying support is available
+ VDM will simply not be enabled if any of the validation fails
+ eg ATTR_VDM_ENABLED will not be set by the HWP -->
+ <attribute>
+ <id>ATTR_SYSTEM_VDM_DISABLE</id>
+ <default>0x00</default>
+ </attribute>
+
+ <!-- Deprecated in deference to ATTR_VDM_ENABLED. Will be deleted in the future -->
<attribute>
<id>ATTR_VDM_ENABLE</id>
<default>0x00</default>
</attribute>
+ <!-- End Deprecated -->
+
+ <!-- HWP attribute -->
+ <attribute>
+ <id>ATTR_VDM_ENABLED</id>
+ </attribute>
+
+ <!-- set to 0 to allow automatic enablement when underlying support is available -->
+ <attribute>
+ <id>ATTR_SYSTEM_RESCLK_DISABLE</id>
+ <default>0x00</default>
+ </attribute>
+
+ <!-- HWP attribute -->
+ <attribute>
+ <id>ATTR_RESCLK_ENABLED</id>
+ </attribute>
+
+ <!-- set to 0 to allow automatic enablement when underlying support is available -->
+ <attribute>
+ <id>ATTR_SYSTEM_IVRM_DISABLE</id>
+ <default>0x00</default>
+ </attribute>
+ <attribute>
+ <id>ATTR_IVRM_ENABLED</id>
+ </attribute>
+ <!-- Deprecated in deference to ATTR_SYSTEM_WOF_ENABLE. Will be deleted in the future -->
<attribute>
<id>ATTR_SYSTEM_WOF_ENABLED</id>
<default>0x00</default>
</attribute>
+ <!-- End Deprecated -->
+
+ <!-- set to 0 to allow automatic enablement when underlying support is available
+ WOF will simply not be enabled if any of the validation fails
+ eg ATTR_WOF_ENABLED will not be set by the pstate_parameter_block HWP -->
+ <attribute>
+ <id>ATTR_SYSTEM_WOF_DISABLE</id>
+ <default>0x00</default>
+ </attribute>
+
+ <!-- HWP attribute -->
+ <attribute>
+ <id>ATTR_WOF_ENABLED</id>
+ <default>0x00</default>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_SYSTEM_PSTATES_MODE</id>
+ <default>0x00</default>
+ </attribute>
<attribute>
<id>ATTR_MSS_PHY_SEQ_REFRESH</id>
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index 1bbf23fca..c6ea73264 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -3390,7 +3390,7 @@
<attribute>
<id>XSCOM_BASE_ADDRESS</id>
- <description>XSCOM base address</description>
+ <description>System XSCOM base address</description>
<simpleType>
<uint64_t>
</uint64_t>
@@ -5312,16 +5312,14 @@ Supported values: 0x000 to spi_frame_size. The actual number of bits captured i
<id>PM_SPIPSS_INTER_FRAME_DELAY_SETTING</id>
<description>
PROC_CHIP Attribute
-Delay is computed as: (value * ~100ns_hang_pulse) +0/-~100ns_hang_pulse time
-
-0x00000: Wait 1 PSS Clock
-0x00001 - 0x1FFFF: value = number of ~100ns_hang_pulses
-
-For values greater than 0x00000, the actual delay is 1 PSS Clock + the time delay designated by the value defined. Max. delay at 0x1FFFF: 13.1ms + 1 PSSI clock cycle.
-
-Producer: proc_pm_init
-
-Consumer: proc_pss_init
+ Delay is computed as: (value * ~100ns_hang_pulse) +0/-~100ns_hang_pulse time
+ 0x00000: Wait 1 PSS Clock
+ 0x00001 - 0x1FFFF: value = number of ~100ns_hang_pulses
+ For values greater than 0x00000, the actual delay is 1 PSS Clock + the
+ time delay designated by the value defined. Max. delay at
+ 0x1FFFF: 13.1ms + 1 PSSI clock cycle.
+ Producer: proc_pm_init
+ Consumer: proc_pss_init
</description>
<simpleType>
<uint32_t></uint32_t>
@@ -5336,6 +5334,47 @@ Consumer: proc_pss_init
</attribute>
<attribute>
+ <id>PSTATES_ENABLED</id>
+ <description>
+ Indicator that all relevant attributes and required data for
+ Pstates to be enabled is present and valid
+ FALSE=0, TRUE=1
+ Producer: p9_build_pstate_datablock
+ Consumers: p9_pm_pstate_gpe_init
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PSTATES_ENABLED</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>IVRMS_ENABLED</id>
+ <description>
+ <!-- @todo RTC 173736 -->
+ !!!!! Deprecated for ATTR_IVRM_ENABLED
+ !!!!! Will be removed in the future
+ FALSE=0, TRUE=1
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_IVRMS_ENABLED</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
<id>PM_SPIPSS_INTER_FRAME_DELAY</id>
<description>
PROC_CHIP Attribute
@@ -17908,8 +17947,9 @@ Measured in GB</description>
<default>0</default>
</uint8_t>
</simpleType>
- <persistency>non-volatile</persistency>
+ <persistency>volatile-zeroed</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_WOF_ENABLED</id>
<macro>DIRECT</macro>
@@ -18896,7 +18936,7 @@ Measured in GB</description>
<attribute>
<id>LPC_BUS_ADDR</id>
- <description>LPC Bus address</description>
+ <description>LPC Bus address - MMIO consumed by PHYP</description>
<simpleType>
<uint64_t></uint64_t>
</simpleType>
@@ -21798,6 +21838,21 @@ Measured in GB</description>
</attribute>
<attribute>
+ <id>ADU_XSCOM_BAR_BASE_ADDR</id>
+ <description>Defines XSCOM base address on each processor level.
+ address provided by the MRW </description>
+ <simpleType>
+ <uint64_t></uint64_t>
+ </simpleType>
+ <hwpfToHbAttrMap>
+ <id>ATTR_ADU_XSCOM_BAR_BASE_ADDR</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+</attribute>
+
+<attribute>
<id>PARENT_PERVASIVE</id>
<description>
Physical entity path of the target's associated pervasive target
@@ -30230,6 +30285,23 @@ Measured in GB</description>
</attribute>
<attribute>
+ <id>LPC_BASE_ADDR</id>
+ <description>
+ Defines LPC base address on each processor level.
+ </description>
+ <simpleType>
+ <uint64_t>
+ </uint64_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_LPC_BASE_ADDR</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
<id>PROC_FSP_BAR_ENABLE</id>
<description>
FSP BAR enable
@@ -30752,11 +30824,11 @@ Measured in GB</description>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_PROC_LPC_BAR_BASE_ADDR_OFFSET</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <writeable/>
</attribute>
@@ -32056,12 +32128,123 @@ Measured in GB</description>
</attribute>
<attribute>
- <id>VDM_FMAX_OVERRIDE_KHZ</id>
+ <id>VDM_SMALL_FREQ_DROP_N_S_OVERRIDE</id>
+ <description>
+ DPLL response override of the respective #W VPD content for a Voltage Droop
+ Monitor (VDM) Small Frequency Drop (eg Normal to Small). Values are in
+ 1/32ths with legal values being of N being less than or equal to 8.
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+ If index 4 is non-zero, the other entries are considered valid.
+ Producer: Override
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ <array>5</array>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_VDM_SMALL_FREQ_DROP_N_S_OVERRIDE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>VDM_LARGE_FREQ_DROP_N_L_OVERRIDE</id>
+ <description>
+ DPLL response override of the respective #W VPD content for a Voltage Droop
+ Monitor (VDM) Large Frequency Drop (eg Normal to Large). Values are in
+ 1/32ths with legal values being of N being less than or equal to 8.
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+ If index 4 is non-zero, the other entries are considered valid.
+ Producer: Override
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ <array>5</array>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_VDM_LARGE_FREQ_DROP_N_L_OVERRIDE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>VDM_FREQ_RETURN_L_S_OVERRIDE</id>
<description>
+ DPLL response override of the respective #W VPD content for returning
+ from a Large Frequency Droop value to the Small value. Values are in
+ 1/32ths with legal values being of N being less than or equal to 8.
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+ If index 4 is non-zero, the other entries are considered valid.
+ Producer: Override
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ <array>5</array>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_VDM_FREQ_RETURN_L_S_OVERRIDE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
- Producer: MRWB.
+<attribute>
+ <id>VDM_FREQ_RETURN_S_N_OVERRIDE</id>
+ <description>
+ DPLL response override of the respective #W VPD content for returning
+ from a Small Frequency Droop value to the Normal value. Values are in
+ 1/32ths with legal values being of N being less than or equal to 8.
+ Array of 5 entries:
+ 0 = PowerSave, 1 = Nominal; 2 = Turbo; 3 = UltraTurbo; 4 = Enable
+ If index 4 is non-zero, the other entries are considered valid.
+ Producer: Override
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ <array>5</array>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_VDM_FREQ_RETURN_S_N_OVERRIDE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+<attribute>
+ <id>VDM_EXTREME_THOTTLE_ENABLE</id>
+ <description>
+ Controls the enablement of Voltage Droop Monitors (VDM) to throttle
+ the core upon an extreme droop event.
+ OFF = 0x00, ON = 0x01
+ Producer: Machine Readable Workbook
+ Consumers:
+ p9_hcode_image_build to set flag for CME QuadManager Hcode reaction
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_VDM_EXTREME_THOTTLE_ENABLE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>VDM_FMAX_OVERRIDE_KHZ</id>
+ <description>
+ Producer: MRWB.
</description>
<simpleType>
<uint16_t></uint16_t>
@@ -32078,11 +32261,7 @@ Measured in GB</description>
<attribute>
<id>VDM_FMIN_OVERRIDE_KHZ</id>
<description>
-
-
-
- Producer: MRWB.
-
+ Producer: MRWB.
</description>
<simpleType>
<uint16_t></uint16_t>
@@ -34131,6 +34310,53 @@ Measured in GB</description>
<id>ATTR_VDM_VID_COMPARE_BIAS_0P5PCT</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- </attribute>
+</attribute>
+
+<attribute>
+ <id>CORE_THROTTLE_ASSERT_COUNT</id>
+ <description>
+ The number of PGPE Fixed Timer Interrupts (see Hcode documentation for
+ durations) to assert a core throttle when
+ OCC Scratch 2[Core Throttle Continuous Change Enable] is set.
+ A value of 0 when Continuous Change Enable is set will deassert throttle.
+ Producer: Override/Lab
+ Consumers:
+ p9_hcode_image_build.c -> PGPE Header field
+ </description>
+ <simpleType>
+ <uint32_t></uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_CORE_THROTTLE_ASSERT_COUNT</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>CORE_THROTTLE_DEASSERT_COUNT</id>
+ <description>
+ The number of PGPE Fixed Timer Interrupts (see Hcode documentation for
+ machine dependent durations) to deassert core throttle when
+ OCC Scratch 2[Core Throttle Continuous Change Enable] is set.
+ A value of 0 when Continuous Change Enable is set and
+ ATTR_CORE_THROTTLE_ASSERT_COUNT is non-0, throttling is always on.
+ Producer: Override/Lab
+ Consumers:
+ p9_hcode_image_build.c -> PGPE Header field
+ </description>
+ <simpleType>
+ <uint32_t></uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_CORE_THROTTLE_DEASSERT_COUNT</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 1c02faadb..f76eed8fb 100755
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -245,6 +245,8 @@
<attribute><id>PM_SPIVID_MAJORITY_VOTE_ENABLE</id></attribute>
<attribute><id>PM_SPIVID_MAX_RETRIES</id></attribute>
<attribute><id>PROC_DPLL_DIVIDER</id></attribute>
+ <attribute><id>PSTATES_ENABLED</id></attribute>
+ <attribute><id>IVRMS_ENABLED</id></attribute>
<!-- End pm_hwp_attributes.xml -->
<attribute><id>SKIP_HW_VREF_CAL</id></attribute>
<attribute><id>SKIP_RD_VREF_VREFSENSE_OVERRIDE</id></attribute>
@@ -311,6 +313,7 @@
<attribute><id>TLB_RESERVE_SIZE</id></attribute>
<attribute><id>TIME_BASE</id></attribute>
<attribute><id>CPU_ATTR</id></attribute>
+ <attribute><id>ADU_XSCOM_BAR_BASE_ADDR</id></attribute>
<attribute><id>PROC_OCC_SANDBOX_SIZE</id></attribute>
<attribute><id>PROC_FABRIC_SYSTEM_MASTER_CHIP</id></attribute>
<attribute><id>PROC_FABRIC_GROUP_MASTER_CHIP</id></attribute>
@@ -879,6 +882,11 @@
<attribute><id>VDM_DROOP_LARGE_OVERRIDE</id></attribute>
<attribute><id>VDM_DROOP_EXTREME_OVERRIDE</id></attribute>
<attribute><id>VDM_OVERVOLT_OVERRIDE</id></attribute>
+ <attribute><id>VDM_EXTREME_THOTTLE_ENABLE</id></attribute>
+ <attribute><id>VDM_SMALL_FREQ_DROP_N_S_OVERRIDE</id></attribute>
+ <attribute><id>VDM_LARGE_FREQ_DROP_N_L_OVERRIDE</id></attribute>
+ <attribute><id>VDM_FREQ_RETURN_L_S_OVERRIDE</id></attribute>
+ <attribute><id>VDM_FREQ_RETURN_S_N_OVERRIDE</id></attribute>
<attribute><id>VDM_FMAX_OVERRIDE_KHZ</id></attribute>
<attribute><id>VDM_FMIN_OVERRIDE_KHZ</id></attribute>
<attribute><id>VDM_VID_COMPARE_OVERRIDE_MV</id></attribute>
@@ -1181,6 +1189,8 @@
<attribute><id>DUMP_STOP_INFO_ENABLE_ERRORLOG</id></attribute>
<attribute><id>SBE_IS_STARTED</id></attribute>
<attribute><id>HTM_QUEUES</id></attribute>
+ <attribute><id>CORE_THROTTLE_ASSERT_COUNT</id></attribute>
+ <attribute><id>CORE_THROTTLE_DEASSERT_COUNT</id></attribute>
<!-- Processor characteristics for HDAT -->
<attribute>
@@ -1260,6 +1270,7 @@
<default>8</default>
</attribute>
<!-- End processor characteristics for HDAT -->
+ <attribute><id>LPC_BASE_ADDR</id></attribute>
<attribute><id>BOOT_FREQ_MHZ</id></attribute>
<!-- p9_setup_bars - Begin -->
OpenPOWER on IntegriCloud