aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/braswell/ramstage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/braswell/ramstage.c')
-rw-r--r--src/soc/intel/braswell/ramstage.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/soc/intel/braswell/ramstage.c b/src/soc/intel/braswell/ramstage.c
index 9b0775e9b7..3e1625ff60 100644
--- a/src/soc/intel/braswell/ramstage.c
+++ b/src/soc/intel/braswell/ramstage.c
@@ -87,12 +87,15 @@ static void fill_in_pattrs(void)
if (attrs->revid >= RID_D_STEPPING_START) {
attrs->stepping = (attrs->revid - RID_D_STEPPING_START) / 2;
attrs->stepping += STEP_D1;
+
} else if (attrs->revid >= RID_C_STEPPING_START) {
attrs->stepping = (attrs->revid - RID_C_STEPPING_START) / 2;
attrs->stepping += STEP_C0;
+
} else if (attrs->revid >= RID_B_STEPPING_START) {
attrs->stepping = (attrs->revid - RID_B_STEPPING_START) / 2;
attrs->stepping += STEP_B0;
+
} else {
attrs->stepping = (attrs->revid - RID_A_STEPPING_START) / 2;
attrs->stepping += STEP_A0;
@@ -114,15 +117,15 @@ static void fill_in_pattrs(void)
/* Set IA core speed ratio and voltages */
fill_in_msr(&msr, MSR_IACORE_RATIOS);
- attrs->iacore_ratios[IACORE_MIN] = msr.lo & 0x7f;
- attrs->iacore_ratios[IACORE_LFM] = (msr.lo >> 8) & 0x7f;
+ attrs->iacore_ratios[IACORE_MIN] = (msr.lo >> 0) & 0x7f;
+ attrs->iacore_ratios[IACORE_LFM] = (msr.lo >> 8) & 0x7f;
attrs->iacore_ratios[IACORE_MAX] = (msr.lo >> 16) & 0x7f;
fill_in_msr(&msr, MSR_IACORE_TURBO_RATIOS);
attrs->iacore_ratios[IACORE_TURBO] = (msr.lo & 0xff); /* 1 core max */
fill_in_msr(&msr, MSR_IACORE_VIDS);
- attrs->iacore_vids[IACORE_MIN] = msr.lo & 0x7f;
- attrs->iacore_vids[IACORE_LFM] = (msr.lo >> 8) & 0x7f;
+ attrs->iacore_vids[IACORE_MIN] = (msr.lo >> 0) & 0x7f;
+ attrs->iacore_vids[IACORE_LFM] = (msr.lo >> 8) & 0x7f;
attrs->iacore_vids[IACORE_MAX] = (msr.lo >> 16) & 0x7f;
fill_in_msr(&msr, MSR_IACORE_TURBO_VIDS);
attrs->iacore_vids[IACORE_TURBO] = (msr.lo & 0xff); /* 1 core max */