soc/amd/mendocino: Remove the SPL DPTC parameter
The SPL parameter for DPTC settings is not available for STT-enabled platforms. It needs to be removed to avoid confusing STT calculations. BUG=b:265267957 BRANCH=none TEST=Run the WebGL aquarium with 5000 fish and verify that there are no power drop peaks. Change-Id: I8e6dad7d24883f8aadce83ebac401ecd4137d61a Signed-off-by: Chris Wang <chris.wang@amd.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/73124 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Van Patten <timvp@google.com>
This commit is contained in:
parent
12bfe6bc95
commit
50aa3d9921
|
@ -260,6 +260,7 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW" = "30000"
|
register "fast_ppt_limit_mW" = "30000"
|
||||||
register "slow_ppt_time_constant_s" = "5"
|
register "slow_ppt_time_constant_s" = "5"
|
||||||
register "stapm_time_constant_s" = "275"
|
register "stapm_time_constant_s" = "275"
|
||||||
|
# Remove the sustained_power_limit_mW when STT is enabled
|
||||||
register "sustained_power_limit_mW" = "15000"
|
register "sustained_power_limit_mW" = "15000"
|
||||||
register "thermctl_limit_degreeC" = "100"
|
register "thermctl_limit_degreeC" = "100"
|
||||||
register "vrm_current_limit_mA" = "28000"
|
register "vrm_current_limit_mA" = "28000"
|
||||||
|
|
|
@ -11,8 +11,6 @@ fw_config
|
||||||
end
|
end
|
||||||
|
|
||||||
chip soc/amd/mendocino
|
chip soc/amd/mendocino
|
||||||
# Power table for tablet mode
|
|
||||||
register "sustained_power_limit_mW_tablet" = "12000"
|
|
||||||
|
|
||||||
register "i2c[0]" = "{
|
register "i2c[0]" = "{
|
||||||
.speed = I2C_SPEED_FAST,
|
.speed = I2C_SPEED_FAST,
|
||||||
|
|
|
@ -35,7 +35,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW" = "30000"
|
register "fast_ppt_limit_mW" = "30000"
|
||||||
register "slow_ppt_limit_mW" = "18000"
|
register "slow_ppt_limit_mW" = "18000"
|
||||||
register "slow_ppt_time_constant_s" = "7"
|
register "slow_ppt_time_constant_s" = "7"
|
||||||
register "sustained_power_limit_mW" = "15000"
|
|
||||||
|
|
||||||
register "stt_min_limit" = "7000"
|
register "stt_min_limit" = "7000"
|
||||||
register "stt_m1" = "0x148"
|
register "stt_m1" = "0x148"
|
||||||
|
@ -47,7 +46,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_B" = "20000"
|
register "fast_ppt_limit_mW_B" = "20000"
|
||||||
register "slow_ppt_limit_mW_B" = "13000"
|
register "slow_ppt_limit_mW_B" = "13000"
|
||||||
register "slow_ppt_time_constant_s_B" = "5"
|
register "slow_ppt_time_constant_s_B" = "5"
|
||||||
register "sustained_power_limit_mW_B" = "10000"
|
|
||||||
|
|
||||||
register "stt_min_limit_B" = "5000"
|
register "stt_min_limit_B" = "5000"
|
||||||
register "stt_m1_B" = "0x11F"
|
register "stt_m1_B" = "0x11F"
|
||||||
|
@ -59,7 +57,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_C" = "30000"
|
register "fast_ppt_limit_mW_C" = "30000"
|
||||||
register "slow_ppt_limit_mW_C" = "22000"
|
register "slow_ppt_limit_mW_C" = "22000"
|
||||||
register "slow_ppt_time_constant_s_C" = "10"
|
register "slow_ppt_time_constant_s_C" = "10"
|
||||||
register "sustained_power_limit_mW_C" = "15000"
|
|
||||||
|
|
||||||
register "stt_min_limit_C" = "10000"
|
register "stt_min_limit_C" = "10000"
|
||||||
register "stt_m1_C" = "0x1A4"
|
register "stt_m1_C" = "0x1A4"
|
||||||
|
@ -71,7 +68,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_D" = "25000"
|
register "fast_ppt_limit_mW_D" = "25000"
|
||||||
register "slow_ppt_limit_mW_D" = "15000"
|
register "slow_ppt_limit_mW_D" = "15000"
|
||||||
register "slow_ppt_time_constant_s_D" = "8"
|
register "slow_ppt_time_constant_s_D" = "8"
|
||||||
register "sustained_power_limit_mW_D" = "10000"
|
|
||||||
|
|
||||||
register "stt_min_limit_D" = "8000"
|
register "stt_min_limit_D" = "8000"
|
||||||
register "stt_m1_D" = "0x1C3"
|
register "stt_m1_D" = "0x1C3"
|
||||||
|
@ -83,7 +79,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_E" = "22000"
|
register "fast_ppt_limit_mW_E" = "22000"
|
||||||
register "slow_ppt_limit_mW_E" = "15000"
|
register "slow_ppt_limit_mW_E" = "15000"
|
||||||
register "slow_ppt_time_constant_s_E" = "4"
|
register "slow_ppt_time_constant_s_E" = "4"
|
||||||
register "sustained_power_limit_mW_E" = "12000"
|
|
||||||
|
|
||||||
register "stt_min_limit_E" = "7000"
|
register "stt_min_limit_E" = "7000"
|
||||||
register "stt_m1_E" = "0x114"
|
register "stt_m1_E" = "0x114"
|
||||||
|
@ -96,7 +91,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_F" = "18000"
|
register "fast_ppt_limit_mW_F" = "18000"
|
||||||
register "slow_ppt_limit_mW_F" = "12000"
|
register "slow_ppt_limit_mW_F" = "12000"
|
||||||
register "slow_ppt_time_constant_s_F" = "2"
|
register "slow_ppt_time_constant_s_F" = "2"
|
||||||
register "sustained_power_limit_mW_F" = "9000"
|
|
||||||
|
|
||||||
register "stt_min_limit_F" = "5000"
|
register "stt_min_limit_F" = "5000"
|
||||||
register "stt_m1_F" = "0x15C"
|
register "stt_m1_F" = "0x15C"
|
||||||
|
|
|
@ -35,7 +35,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW" = "30000"
|
register "fast_ppt_limit_mW" = "30000"
|
||||||
register "slow_ppt_limit_mW" = "25000"
|
register "slow_ppt_limit_mW" = "25000"
|
||||||
register "slow_ppt_time_constant_s" = "5"
|
register "slow_ppt_time_constant_s" = "5"
|
||||||
register "sustained_power_limit_mW" = "15000"
|
|
||||||
|
|
||||||
register "stt_min_limit" = "15000"
|
register "stt_min_limit" = "15000"
|
||||||
register "stt_m1" = "0x18F"
|
register "stt_m1" = "0x18F"
|
||||||
|
@ -47,7 +46,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_B" = "15000"
|
register "fast_ppt_limit_mW_B" = "15000"
|
||||||
register "slow_ppt_limit_mW_B" = "15000"
|
register "slow_ppt_limit_mW_B" = "15000"
|
||||||
register "slow_ppt_time_constant_s_B" = "5"
|
register "slow_ppt_time_constant_s_B" = "5"
|
||||||
register "sustained_power_limit_mW_B" = "10500"
|
|
||||||
|
|
||||||
register "stt_min_limit_B" = "10500"
|
register "stt_min_limit_B" = "10500"
|
||||||
register "stt_m1_B" = "0x18F"
|
register "stt_m1_B" = "0x18F"
|
||||||
|
@ -59,7 +57,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_C" = "30000"
|
register "fast_ppt_limit_mW_C" = "30000"
|
||||||
register "slow_ppt_limit_mW_C" = "25000"
|
register "slow_ppt_limit_mW_C" = "25000"
|
||||||
register "slow_ppt_time_constant_s_C" = "5"
|
register "slow_ppt_time_constant_s_C" = "5"
|
||||||
register "sustained_power_limit_mW_C" = "15000"
|
|
||||||
|
|
||||||
register "stt_min_limit_C" = "15000"
|
register "stt_min_limit_C" = "15000"
|
||||||
register "stt_m1_C" = "0x152"
|
register "stt_m1_C" = "0x152"
|
||||||
|
@ -71,7 +68,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_D" = "15000"
|
register "fast_ppt_limit_mW_D" = "15000"
|
||||||
register "slow_ppt_limit_mW_D" = "15000"
|
register "slow_ppt_limit_mW_D" = "15000"
|
||||||
register "slow_ppt_time_constant_s_D" = "5"
|
register "slow_ppt_time_constant_s_D" = "5"
|
||||||
register "sustained_power_limit_mW_D" = "10500"
|
|
||||||
|
|
||||||
register "stt_min_limit_D" = "10500"
|
register "stt_min_limit_D" = "10500"
|
||||||
register "stt_m1_D" = "0x152"
|
register "stt_m1_D" = "0x152"
|
||||||
|
@ -83,7 +79,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_E" = "24000"
|
register "fast_ppt_limit_mW_E" = "24000"
|
||||||
register "slow_ppt_limit_mW_E" = "20000"
|
register "slow_ppt_limit_mW_E" = "20000"
|
||||||
register "slow_ppt_time_constant_s_E" = "5"
|
register "slow_ppt_time_constant_s_E" = "5"
|
||||||
register "sustained_power_limit_mW_E" = "12000"
|
|
||||||
|
|
||||||
register "stt_min_limit_E" = "12000"
|
register "stt_min_limit_E" = "12000"
|
||||||
register "stt_m1_E" = "0x18F"
|
register "stt_m1_E" = "0x18F"
|
||||||
|
@ -96,7 +91,6 @@ chip soc/amd/mendocino
|
||||||
register "fast_ppt_limit_mW_F" = "12000"
|
register "fast_ppt_limit_mW_F" = "12000"
|
||||||
register "slow_ppt_limit_mW_F" = "12000"
|
register "slow_ppt_limit_mW_F" = "12000"
|
||||||
register "slow_ppt_time_constant_s_F" = "5"
|
register "slow_ppt_time_constant_s_F" = "5"
|
||||||
register "sustained_power_limit_mW_F" = "8000"
|
|
||||||
|
|
||||||
register "stt_min_limit_F" = "8000"
|
register "stt_min_limit_F" = "8000"
|
||||||
register "stt_m1_F" = "0x18F"
|
register "stt_m1_F" = "0x18F"
|
||||||
|
|
|
@ -73,13 +73,11 @@ struct soc_amd_mendocino_config {
|
||||||
uint32_t vrm_soc_current_limit_throttle_mA;
|
uint32_t vrm_soc_current_limit_throttle_mA;
|
||||||
|
|
||||||
/* tablet mode.*/
|
/* tablet mode.*/
|
||||||
uint32_t sustained_power_limit_mW_tablet;
|
|
||||||
|
|
||||||
/* Thermal profile B*/
|
/* Thermal profile B*/
|
||||||
uint32_t fast_ppt_limit_mW_B;
|
uint32_t fast_ppt_limit_mW_B;
|
||||||
uint32_t slow_ppt_limit_mW_B;
|
uint32_t slow_ppt_limit_mW_B;
|
||||||
uint32_t slow_ppt_time_constant_s_B;
|
uint32_t slow_ppt_time_constant_s_B;
|
||||||
uint32_t sustained_power_limit_mW_B;
|
|
||||||
uint16_t stt_min_limit_B;
|
uint16_t stt_min_limit_B;
|
||||||
uint16_t stt_m1_B;
|
uint16_t stt_m1_B;
|
||||||
uint16_t stt_m2_B;
|
uint16_t stt_m2_B;
|
||||||
|
@ -90,7 +88,6 @@ struct soc_amd_mendocino_config {
|
||||||
uint32_t fast_ppt_limit_mW_C;
|
uint32_t fast_ppt_limit_mW_C;
|
||||||
uint32_t slow_ppt_limit_mW_C;
|
uint32_t slow_ppt_limit_mW_C;
|
||||||
uint32_t slow_ppt_time_constant_s_C;
|
uint32_t slow_ppt_time_constant_s_C;
|
||||||
uint32_t sustained_power_limit_mW_C;
|
|
||||||
uint16_t stt_min_limit_C;
|
uint16_t stt_min_limit_C;
|
||||||
uint16_t stt_m1_C;
|
uint16_t stt_m1_C;
|
||||||
uint16_t stt_m2_C;
|
uint16_t stt_m2_C;
|
||||||
|
@ -101,7 +98,6 @@ struct soc_amd_mendocino_config {
|
||||||
uint32_t fast_ppt_limit_mW_D;
|
uint32_t fast_ppt_limit_mW_D;
|
||||||
uint32_t slow_ppt_limit_mW_D;
|
uint32_t slow_ppt_limit_mW_D;
|
||||||
uint32_t slow_ppt_time_constant_s_D;
|
uint32_t slow_ppt_time_constant_s_D;
|
||||||
uint32_t sustained_power_limit_mW_D;
|
|
||||||
uint16_t stt_min_limit_D;
|
uint16_t stt_min_limit_D;
|
||||||
uint16_t stt_m1_D;
|
uint16_t stt_m1_D;
|
||||||
uint16_t stt_m2_D;
|
uint16_t stt_m2_D;
|
||||||
|
@ -112,7 +108,6 @@ struct soc_amd_mendocino_config {
|
||||||
uint32_t fast_ppt_limit_mW_E;
|
uint32_t fast_ppt_limit_mW_E;
|
||||||
uint32_t slow_ppt_limit_mW_E;
|
uint32_t slow_ppt_limit_mW_E;
|
||||||
uint32_t slow_ppt_time_constant_s_E;
|
uint32_t slow_ppt_time_constant_s_E;
|
||||||
uint32_t sustained_power_limit_mW_E;
|
|
||||||
uint16_t stt_min_limit_E;
|
uint16_t stt_min_limit_E;
|
||||||
uint16_t stt_m1_E;
|
uint16_t stt_m1_E;
|
||||||
uint16_t stt_m2_E;
|
uint16_t stt_m2_E;
|
||||||
|
@ -124,7 +119,6 @@ struct soc_amd_mendocino_config {
|
||||||
uint32_t fast_ppt_limit_mW_F;
|
uint32_t fast_ppt_limit_mW_F;
|
||||||
uint32_t slow_ppt_limit_mW_F;
|
uint32_t slow_ppt_limit_mW_F;
|
||||||
uint32_t slow_ppt_time_constant_s_F;
|
uint32_t slow_ppt_time_constant_s_F;
|
||||||
uint32_t sustained_power_limit_mW_F;
|
|
||||||
uint16_t stt_min_limit_F;
|
uint16_t stt_min_limit_F;
|
||||||
uint16_t stt_m1_F;
|
uint16_t stt_m1_F;
|
||||||
uint16_t stt_m2_F;
|
uint16_t stt_m2_F;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
|
|
||||||
#define DPTC_TOTAL_UPDATE_PARAMS 14
|
#define DPTC_TOTAL_UPDATE_PARAMS 13
|
||||||
|
|
||||||
struct dptc_input {
|
struct dptc_input {
|
||||||
uint16_t size;
|
uint16_t size;
|
||||||
|
@ -25,7 +25,7 @@ struct dptc_input {
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
|
|
||||||
#define DPTC_INPUTS(_thermctllmit, _sustained, _spptTimeConst, _fast, _slow, \
|
#define DPTC_INPUTS(_thermctllmit, _spptTimeConst, _fast, _slow, \
|
||||||
_vrmCurrentLimit, _vrmMaxCurrentLimit, _vrmSocCurrentLimit, \
|
_vrmCurrentLimit, _vrmMaxCurrentLimit, _vrmSocCurrentLimit, \
|
||||||
_sttMinLimit, _sttM1, _sttM2, _sttCApu, _sttAlphaApu, _sttSkinTempLimitApu) \
|
_sttMinLimit, _sttM1, _sttM2, _sttCApu, _sttAlphaApu, _sttSkinTempLimitApu) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -35,10 +35,6 @@ struct dptc_input {
|
||||||
.id = ALIB_DPTC_THERMAL_CONTROL_LIMIT_ID, \
|
.id = ALIB_DPTC_THERMAL_CONTROL_LIMIT_ID, \
|
||||||
.value = _thermctllmit, \
|
.value = _thermctllmit, \
|
||||||
}, \
|
}, \
|
||||||
{ \
|
|
||||||
.id = ALIB_DPTC_SUSTAINED_POWER_LIMIT_ID, \
|
|
||||||
.value = _sustained, \
|
|
||||||
}, \
|
|
||||||
{ \
|
{ \
|
||||||
.id = ALIB_DPTC_SLOW_PPT_TIME_CONSTANT_ID, \
|
.id = ALIB_DPTC_SLOW_PPT_TIME_CONSTANT_ID, \
|
||||||
.value = _spptTimeConst, \
|
.value = _spptTimeConst, \
|
||||||
|
@ -226,7 +222,6 @@ static void acipgen_dptci(void)
|
||||||
/* Normal mode DPTC values. */
|
/* Normal mode DPTC values. */
|
||||||
struct dptc_input default_input = DPTC_INPUTS(
|
struct dptc_input default_input = DPTC_INPUTS(
|
||||||
config->thermctl_limit_degreeC,
|
config->thermctl_limit_degreeC,
|
||||||
config->sustained_power_limit_mW,
|
|
||||||
config->slow_ppt_time_constant_s,
|
config->slow_ppt_time_constant_s,
|
||||||
config->fast_ppt_limit_mW,
|
config->fast_ppt_limit_mW,
|
||||||
config->slow_ppt_limit_mW,
|
config->slow_ppt_limit_mW,
|
||||||
|
@ -244,7 +239,6 @@ static void acipgen_dptci(void)
|
||||||
/* Low/No Battery */
|
/* Low/No Battery */
|
||||||
struct dptc_input no_battery_input = DPTC_INPUTS(
|
struct dptc_input no_battery_input = DPTC_INPUTS(
|
||||||
config->thermctl_limit_degreeC,
|
config->thermctl_limit_degreeC,
|
||||||
config->sustained_power_limit_mW,
|
|
||||||
config->slow_ppt_time_constant_s,
|
config->slow_ppt_time_constant_s,
|
||||||
config->fast_ppt_limit_mW,
|
config->fast_ppt_limit_mW,
|
||||||
config->slow_ppt_limit_mW,
|
config->slow_ppt_limit_mW,
|
||||||
|
@ -263,7 +257,6 @@ static void acipgen_dptci(void)
|
||||||
#if (CONFIG(FEATURE_TABLET_MODE_DPTC))
|
#if (CONFIG(FEATURE_TABLET_MODE_DPTC))
|
||||||
struct dptc_input tablet_input = DPTC_INPUTS(
|
struct dptc_input tablet_input = DPTC_INPUTS(
|
||||||
config->thermctl_limit_degreeC,
|
config->thermctl_limit_degreeC,
|
||||||
config->sustained_power_limit_mW_tablet,
|
|
||||||
config->slow_ppt_time_constant_s,
|
config->slow_ppt_time_constant_s,
|
||||||
config->fast_ppt_limit_mW,
|
config->fast_ppt_limit_mW,
|
||||||
config->slow_ppt_limit_mW,
|
config->slow_ppt_limit_mW,
|
||||||
|
@ -283,7 +276,6 @@ static void acipgen_dptci(void)
|
||||||
/* Profile B */
|
/* Profile B */
|
||||||
struct dptc_input thermal_B_input = DPTC_INPUTS(
|
struct dptc_input thermal_B_input = DPTC_INPUTS(
|
||||||
config->thermctl_limit_degreeC,
|
config->thermctl_limit_degreeC,
|
||||||
config->sustained_power_limit_mW_B,
|
|
||||||
config->slow_ppt_time_constant_s_B,
|
config->slow_ppt_time_constant_s_B,
|
||||||
config->fast_ppt_limit_mW_B,
|
config->fast_ppt_limit_mW_B,
|
||||||
config->slow_ppt_limit_mW_B,
|
config->slow_ppt_limit_mW_B,
|
||||||
|
@ -302,7 +294,6 @@ static void acipgen_dptci(void)
|
||||||
/* Profile C */
|
/* Profile C */
|
||||||
struct dptc_input thermal_C_input = DPTC_INPUTS(
|
struct dptc_input thermal_C_input = DPTC_INPUTS(
|
||||||
config->thermctl_limit_degreeC,
|
config->thermctl_limit_degreeC,
|
||||||
config->sustained_power_limit_mW_C,
|
|
||||||
config->slow_ppt_time_constant_s_C,
|
config->slow_ppt_time_constant_s_C,
|
||||||
config->fast_ppt_limit_mW_C,
|
config->fast_ppt_limit_mW_C,
|
||||||
config->slow_ppt_limit_mW_C,
|
config->slow_ppt_limit_mW_C,
|
||||||
|
@ -321,7 +312,6 @@ static void acipgen_dptci(void)
|
||||||
/* Profile D */
|
/* Profile D */
|
||||||
struct dptc_input thermal_D_input = DPTC_INPUTS(
|
struct dptc_input thermal_D_input = DPTC_INPUTS(
|
||||||
config->thermctl_limit_degreeC,
|
config->thermctl_limit_degreeC,
|
||||||
config->sustained_power_limit_mW_D,
|
|
||||||
config->slow_ppt_time_constant_s_D,
|
config->slow_ppt_time_constant_s_D,
|
||||||
config->fast_ppt_limit_mW_D,
|
config->fast_ppt_limit_mW_D,
|
||||||
config->slow_ppt_limit_mW_D,
|
config->slow_ppt_limit_mW_D,
|
||||||
|
@ -340,7 +330,6 @@ static void acipgen_dptci(void)
|
||||||
/* Profile E */
|
/* Profile E */
|
||||||
struct dptc_input thermal_E_input = DPTC_INPUTS(
|
struct dptc_input thermal_E_input = DPTC_INPUTS(
|
||||||
config->thermctl_limit_degreeC,
|
config->thermctl_limit_degreeC,
|
||||||
config->sustained_power_limit_mW_E,
|
|
||||||
config->slow_ppt_time_constant_s_E,
|
config->slow_ppt_time_constant_s_E,
|
||||||
config->fast_ppt_limit_mW_E,
|
config->fast_ppt_limit_mW_E,
|
||||||
config->slow_ppt_limit_mW_E,
|
config->slow_ppt_limit_mW_E,
|
||||||
|
@ -359,7 +348,6 @@ static void acipgen_dptci(void)
|
||||||
/* Profile F */
|
/* Profile F */
|
||||||
struct dptc_input thermal_F_input = DPTC_INPUTS(
|
struct dptc_input thermal_F_input = DPTC_INPUTS(
|
||||||
config->thermctl_limit_degreeC,
|
config->thermctl_limit_degreeC,
|
||||||
config->sustained_power_limit_mW_F,
|
|
||||||
config->slow_ppt_time_constant_s_F,
|
config->slow_ppt_time_constant_s_F,
|
||||||
config->fast_ppt_limit_mW_F,
|
config->fast_ppt_limit_mW_F,
|
||||||
config->slow_ppt_limit_mW_F,
|
config->slow_ppt_limit_mW_F,
|
||||||
|
|
Loading…
Reference in New Issue