summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/lars/pei_data.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/mainboard/google/lars/pei_data.c b/src/mainboard/google/lars/pei_data.c
index deb488ef4c..67d8644e23 100644
--- a/src/mainboard/google/lars/pei_data.c
+++ b/src/mainboard/google/lars/pei_data.c
@@ -22,6 +22,7 @@
/* PCH_MEM_CFG[3:0] */
#define MAX_MEMORY_CONFIG 0x10
+#define K4E6E304EB_MEM_ID 0x5
#define RCOMP_TARGET_PARAMS 0x5
void mainboard_fill_pei_data(struct pei_data *pei_data)
@@ -41,19 +42,28 @@ void mainboard_fill_pei_data(struct pei_data *pei_data)
const u16 RcompResistor[3] = { 200, 81, 162 };
/* Rcomp target */
- static const u16 RcompTarget[MAX_MEMORY_CONFIG][RCOMP_TARGET_PARAMS] = {
- { 100, 40, 40, 23, 40 },
- { 100, 40, 40, 23, 40 },
- { 100, 40, 40, 23, 40 },
- /*Strengthen the Rcomp Target Ctrl for 8GB K4E6E304EE -EGCF*/
- { 100, 40, 40, 21, 40 }, };
+ static const u16 RcompTarget[RCOMP_TARGET_PARAMS] = {
+ 100, 40, 40, 23, 40
+ };
+ /*Strengthen the Rcomp Target Ctrl for 8GB K4E6E304EB -EGCF*/
+ static const u16 StrengthendRcompTarget[RCOMP_TARGET_PARAMS] = {
+ 100, 40, 40, 21, 40
+ };
+
+ /* Default Rcomp Target assignment */
+ const u16 *targeted_rcomp = RcompTarget;
memcpy(pei_data->dq_map, dq_map, sizeof(dq_map));
memcpy(pei_data->dqs_map, dqs_map, sizeof(dqs_map));
memcpy(pei_data->RcompResistor, RcompResistor,
sizeof(RcompResistor));
- memcpy(pei_data->RcompTarget, &RcompTarget[pei_data->mem_cfg_id][0],
- sizeof(RcompTarget[pei_data->mem_cfg_id]));
+
+ /* Override Rcomp Target assignment for specific SKU(s) */
+ if (pei_data->mem_cfg_id == K4E6E304EB_MEM_ID)
+ targeted_rcomp = StrengthendRcompTarget;
+
+ memcpy(pei_data->RcompTarget, targeted_rcomp,
+ sizeof(pei_data->RcompTarget));
}