aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/cannonlake/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/cannonlake/include')
-rw-r--r--src/soc/intel/cannonlake/include/soc/vr_config.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/soc/intel/cannonlake/include/soc/vr_config.h b/src/soc/intel/cannonlake/include/soc/vr_config.h
index 8bcf001ea9..1390b174e1 100644
--- a/src/soc/intel/cannonlake/include/soc/vr_config.h
+++ b/src/soc/intel/cannonlake/include/soc/vr_config.h
@@ -55,7 +55,8 @@ struct vr_config {
uint16_t dc_loadline;
};
-#define VR_CFG_AMP(i) ((i) * 4)
+#define VR_CFG_AMP(i) (uint16_t)((i) * 4)
+#define VR_CFG_MOHMS(i) (uint16_t)((i) * 100)
/* VrConfig Settings for 4 domains
* 0 = System Agent, 1 = IA Core,
@@ -68,6 +69,22 @@ enum vr_domain {
NUM_VR_DOMAINS
};
+#define VR_CFG_ALL_DOMAINS_ICC(sa, ia, gt_unsl, gt_sl) \
+ { \
+ [VR_SYSTEM_AGENT] = VR_CFG_AMP(sa), \
+ [VR_IA_CORE] = VR_CFG_AMP(ia), \
+ [VR_GT_UNSLICED] = VR_CFG_AMP(gt_unsl), \
+ [VR_GT_SLICED] = VR_CFG_AMP(gt_sl), \
+ }
+
+#define VR_CFG_ALL_DOMAINS_LOADLINE(sa, ia, gt_unsl, gt_sl) \
+ { \
+ [VR_SYSTEM_AGENT] = VR_CFG_MOHMS(sa), \
+ [VR_IA_CORE] = VR_CFG_MOHMS(ia), \
+ [VR_GT_UNSLICED] = VR_CFG_MOHMS(gt_unsl), \
+ [VR_GT_SLICED] = VR_CFG_MOHMS(gt_sl), \
+ }
+
void fill_vr_domain_config(void *params,
int domain, const struct vr_config *cfg);