Maxim Polyakov has uploaded this change for review.

View Change

soc/skl/vr_config: add missed Icc max levels

Icc_max for VR domains in Kaby Lake S processors is installed based on
the processor TDP [1]. But, according to the DC Current Specifications
for graphics processor [2], Icc_max GT should take several values:

+---------------------+-----+------------+
| Segment | TDP | Icc_max GT |
+---------------------+-----+------------+
| Dual Core GT2/GT1 | 35W | |
| Dual Core GT2 | 51W | 48 A |
| Dual Core GT1 | 54W | |
+---------------------+-----+------------+
| Quad Core GT2 | 35W | 35 A |
+---------------------+-----+------------+
| Quad Core GT2 | 65W | 45 A |
| Quad Core GT2 K-SKU | 91W | |
+---------------------+-----+------------+

This patch fixes Icc_max current limits for a corresponding graphical
VR domain

[1] Change-Id: I303c5dc8ed03e9a98a834a2acfb400022dfc2fde
[2] 7th Generation Intel(R) Processor Families for S Platforms and
Intel(R) Core(TM) X-Series Processor Family Datasheet, Volume 1,
December 2018, Document Number: 335195-003

Change-Id: I19766e4f8fab6b48565b65ed4cf13efbc213e654
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
---
M src/soc/intel/skylake/vr_config.c
1 file changed, 13 insertions(+), 9 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/66/35166/1
diff --git a/src/soc/intel/skylake/vr_config.c b/src/soc/intel/skylake/vr_config.c
index 089dd5d..fc48558 100644
--- a/src/soc/intel/skylake/vr_config.c
+++ b/src/soc/intel/skylake/vr_config.c
@@ -117,12 +117,12 @@
* +----------------+-------------+---------------+------+-----+
* | Domain/Setting | SA | IA | GTUS | GTS |
* +----------------+-------------+---------------+------+-----+
- * | IccMax(KBL-S) | 11.1A | 100A | 45A | 45A |
- * | | | ... | | |
- * | | | 40A | | |
+ * | IccMax(KBL-S) | 11.1A | 100A | 48A | 48A |
+ * | | | ... | 45A | 45A |
+ * | | | 40A | 35A | 35A |
* +----------------+-------------+---------------+------+-----+
- * | IccMax(KBL-H) | 11.1A(45W) | 68A | 55A | 55A |
- * | | 6.6A(Others)| 60A | | |
+ * | IccMax(KBL-H) | 11.1A (45W) | 68A | 55A | 55A |
+ * | | 6.6A (18W) | 60A | | |
* +----------------+-------------+---------------+------+-----+
* | IccMax(KBL-U/R)| 6A(U42) | 64A(U42) | 31A | 31A |
* | | 4.5A(Others)| 29A(P/C) | | |
@@ -139,8 +139,8 @@
uint16_t icc_max[NUM_VR_DOMAINS] = {
VR_CFG_AMP(11.1),
VR_CFG_AMP(40),
- VR_CFG_AMP(45),
- VR_CFG_AMP(45),
+ VR_CFG_AMP(48),
+ VR_CFG_AMP(48),
};
if (tdp >= 54)
icc_max[VR_IA_CORE] = VR_CFG_AMP(58);
@@ -155,13 +155,17 @@
uint16_t icc_max[NUM_VR_DOMAINS] = {
VR_CFG_AMP(11.1),
VR_CFG_AMP(66),
- VR_CFG_AMP(55),
- VR_CFG_AMP(55),
+ VR_CFG_AMP(45),
+ VR_CFG_AMP(45),
};
if (tdp >= 91)
icc_max[VR_IA_CORE] = VR_CFG_AMP(100);
else if (tdp >= 65)
icc_max[VR_IA_CORE] = VR_CFG_AMP(79);
+ else if (tdp >= 35) {
+ icc_max[VR_GT_UNSLICED] = VR_CFG_AMP(35);
+ icc_max[VR_GT_SLICED] = VR_CFG_AMP(35);
+ }

return icc_max[domain];
}

To view, visit change 35166. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I19766e4f8fab6b48565b65ed4cf13efbc213e654
Gerrit-Change-Number: 35166
Gerrit-PatchSet: 1
Gerrit-Owner: Maxim Polyakov <max.senia.poliak@gmail.com>
Gerrit-MessageType: newchange