mosys: Add Board config for Pit and Pi
Add Board config and change current Board config variable name
BUG=None
TEST=mosys platform version at each board
BRANCH=none
Change-Id: Ibaf8d150fce7f9d1d589996f08038f496cfdc4bb
Signed-off-by: Inki Yoo <inki.yoo@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/180834
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Tested-by: Inki Yoo <inky.yoo@samsung.com>
Commit-Queue: Inki Yoo <inky.yoo@samsung.com>
diff --git a/platform/experimental/peach/memory.c b/platform/experimental/peach/memory.c
index 7803349..554307e 100644
--- a/platform/experimental/peach/memory.c
+++ b/platform/experimental/peach/memory.c
@@ -115,22 +115,35 @@
int rc = 0;
switch (peach_board_config) {
- case PEACH_PIT_CONFIG_PROTO:
- case PEACH_PIT_CONFIG_EVT_2GB:
- case PEACH_PIT_CONFIG_DVT1_2GB:
- case PEACH_PIT_CONFIG_DVT2_2GB:
- case PEACH_PIT_CONFIG_PVT1_2GB:
- case PEACH_PIT_CONFIG_PVT2_2GB:
- case PEACH_PIT_CONFIG_MP_2GB:
+ case PEACH_PIT_CONFIG_REV_0_0:
+ case PEACH_PIT_CONFIG_REV_3_0:
+ case PEACH_PIT_CONFIG_REV_4_0:
+ case PEACH_PIT_CONFIG_REV_5_0:
+ case PEACH_PIT_CONFIG_REV_6_0:
+ case PEACH_PIT_CONFIG_REV_7_0:
+ case PEACH_PIT_CONFIG_REV_9_0:
+ case PEACH_PIT_CONFIG_REV_A_0:
+ case PEACH_PIT_CONFIG_REV_B_0:
+ case PEACH_PIT_CONFIG_REV_C_0:
+ case PEACH_PIT_CONFIG_REV_D_0:
+ case PEACH_PIT_CONFIG_REV_E_0:
+ case PEACH_PI_CONFIG_REV_8_4:
+ case PEACH_PI_CONFIG_REV_9_4:
memcpy(buf, &samsung_ddr3_1600_1rank_spd[reg], len);
rc = len;
break;
- case PEACH_PIT_CONFIG_EVT_4GB:
- case PEACH_PIT_CONFIG_DVT1_4GB:
- case PEACH_PIT_CONFIG_DVT2_4GB:
- case PEACH_PIT_CONFIG_PVT1_4GB:
- case PEACH_PIT_CONFIG_PVT2_4GB:
- case PEACH_PIT_CONFIG_MP_4GB:
+ case PEACH_PIT_CONFIG_REV_7_2:
+ case PEACH_PIT_CONFIG_REV_9_2:
+ case PEACH_PIT_CONFIG_REV_A_2:
+ case PEACH_PIT_CONFIG_REV_B_2:
+ case PEACH_PIT_CONFIG_REV_C_2:
+ case PEACH_PIT_CONFIG_REV_D_2:
+ case PEACH_PIT_CONFIG_REV_E_2:
+ case PEACH_PI_CONFIG_REV_A_6:
+ case PEACH_PI_CONFIG_REV_B_6:
+ case PEACH_PI_CONFIG_REV_C_6:
+ case PEACH_PI_CONFIG_REV_D_6:
+ case PEACH_PI_CONFIG_REV_E_6:
/* 4GB models have the second rank populated */
memcpy(buf, &samsung_ddr3_1600_1rank_spd[reg], len);
buf[DDR3_SPD_REG_MODULE_ORG] &= ~__mask(5, 3);
diff --git a/platform/experimental/peach/peach.c b/platform/experimental/peach/peach.c
index 56894ec..f1080a8 100644
--- a/platform/experimental/peach/peach.c
+++ b/platform/experimental/peach/peach.c
@@ -117,26 +117,34 @@
struct id_map peach_pit_id_map[] = {
/* REV3 REV3 REV1 REV0 config */
- { LOGIC_0, LOGIC_0, LOGIC_0, LOGIC_0, PEACH_PIT_CONFIG_PROTO },
+ { LOGIC_0, LOGIC_0, LOGIC_0, LOGIC_0, PEACH_PIT_CONFIG_REV_0_0 },
/* For EVT board IDs, see chrome-os-partner:19179 (comment #2) */
- { LOGIC_0, LOGIC_0, LOGIC_1, LOGIC_1, PEACH_PIT_CONFIG_EVT_2GB },
- { LOGIC_0, LOGIC_0, LOGIC_Z, LOGIC_0, PEACH_PIT_CONFIG_EVT_4GB },
+ { LOGIC_0, LOGIC_0, LOGIC_Z, LOGIC_Z, PEACH_PIT_CONFIG_REV_3_0 },
+ { LOGIC_0, LOGIC_1, LOGIC_1, LOGIC_0, PEACH_PIT_CONFIG_REV_4_0 },
+ { LOGIC_0, LOGIC_1, LOGIC_Z, LOGIC_1, PEACH_PIT_CONFIG_REV_5_0 },
+ { LOGIC_0, LOGIC_Z, LOGIC_0, LOGIC_Z, PEACH_PIT_CONFIG_REV_6_0 },
- { LOGIC_0, LOGIC_0, LOGIC_Z, LOGIC_Z, PEACH_PIT_CONFIG_DVT1_2GB },
- { LOGIC_0, LOGIC_1, LOGIC_0, LOGIC_1, PEACH_PIT_CONFIG_DVT1_4GB },
+ { LOGIC_0, LOGIC_Z, LOGIC_Z, LOGIC_0, PEACH_PIT_CONFIG_REV_7_0 },
+ { LOGIC_0, LOGIC_Z, LOGIC_Z, LOGIC_Z, PEACH_PIT_CONFIG_REV_7_2 },
- { LOGIC_0, LOGIC_1, LOGIC_1, LOGIC_0, PEACH_PIT_CONFIG_DVT2_2GB },
- { LOGIC_0, LOGIC_1, LOGIC_1, LOGIC_Z, PEACH_PIT_CONFIG_DVT2_4GB },
+ { LOGIC_1, LOGIC_1, LOGIC_Z, LOGIC_Z, PEACH_PIT_CONFIG_REV_9_0 },
+ { LOGIC_1, LOGIC_Z, LOGIC_0, LOGIC_1, PEACH_PIT_CONFIG_REV_9_2 },
- { LOGIC_0, LOGIC_1, LOGIC_Z, LOGIC_1, PEACH_PIT_CONFIG_PVT1_2GB },
- { LOGIC_Z, LOGIC_0, LOGIC_Z, LOGIC_0, PEACH_PIT_CONFIG_PVT1_4GB },
+ { LOGIC_1, LOGIC_Z, LOGIC_Z, LOGIC_1, PEACH_PIT_CONFIG_REV_A_0 },
+ { LOGIC_Z, LOGIC_0, LOGIC_0, LOGIC_0, PEACH_PIT_CONFIG_REV_A_2 },
- { LOGIC_0, LOGIC_Z, LOGIC_0, LOGIC_Z, PEACH_PIT_CONFIG_PVT2_2GB },
- { LOGIC_0, LOGIC_Z, LOGIC_1, LOGIC_1, PEACH_PIT_CONFIG_PVT2_4GB },
+ { LOGIC_Z, LOGIC_0, LOGIC_Z, LOGIC_0, PEACH_PIT_CONFIG_REV_B_0 },
+ { LOGIC_Z, LOGIC_0, LOGIC_Z, LOGIC_Z, PEACH_PIT_CONFIG_REV_B_2 },
- { LOGIC_0, LOGIC_Z, LOGIC_Z, LOGIC_0, PEACH_PIT_CONFIG_MP_2GB },
- { LOGIC_0, LOGIC_Z, LOGIC_Z, LOGIC_Z, PEACH_PIT_CONFIG_MP_4GB },
+ { LOGIC_Z, LOGIC_1, LOGIC_1, LOGIC_Z, PEACH_PIT_CONFIG_REV_C_0 },
+ { LOGIC_Z, LOGIC_1, LOGIC_Z, LOGIC_1, PEACH_PIT_CONFIG_REV_C_2 },
+
+ { LOGIC_Z, LOGIC_Z, LOGIC_1, LOGIC_1, PEACH_PIT_CONFIG_REV_D_0 },
+ { LOGIC_Z, LOGIC_Z, LOGIC_Z, LOGIC_0, PEACH_PIT_CONFIG_REV_D_2 },
+
+ { LOGIC_0, LOGIC_0, LOGIC_1, LOGIC_0, PEACH_PIT_CONFIG_REV_E_0 },
+ { LOGIC_0, LOGIC_0, LOGIC_1, LOGIC_Z, PEACH_PIT_CONFIG_REV_E_2 },
};
struct id_map peach_kirby_id_map[] = {
@@ -154,14 +162,14 @@
{ LOGIC_0, LOGIC_0, LOGIC_Z, LOGIC_Z, PEACH_KIRBY_CONFIG_RSVD },
};
struct id_map peach_pi_id_map[] = {
- /* REV3 REV3 REV1 REV0 config */
- { LOGIC_1, LOGIC_1, LOGIC_Z, LOGIC_0, PEACH_PI_CONFIG_REV_8_4 },
- { LOGIC_1, LOGIC_Z, LOGIC_1, LOGIC_Z, PEACH_PI_CONFIG_REV_9_4 },
- { LOGIC_Z, LOGIC_0, LOGIC_0, LOGIC_1, PEACH_PI_CONFIG_REV_A_6 },
- { LOGIC_Z, LOGIC_1, LOGIC_1, LOGIC_0, PEACH_PI_CONFIG_REV_B_6 },
- { LOGIC_Z, LOGIC_Z, LOGIC_0, LOGIC_Z, PEACH_PI_CONFIG_REV_C_6 },
- { LOGIC_0, LOGIC_0, LOGIC_0, LOGIC_1, PEACH_PI_CONFIG_REV_D_6 },
- { LOGIC_0, LOGIC_1, LOGIC_0, LOGIC_1, PEACH_PI_CONFIG_REV_E_6 },
+ /* REV3 REV3 REV1 REV0 config */
+ { LOGIC_1, LOGIC_1, LOGIC_Z, LOGIC_0, PEACH_PI_CONFIG_REV_8_4 },
+ { LOGIC_1, LOGIC_Z, LOGIC_1, LOGIC_Z, PEACH_PI_CONFIG_REV_9_4 },
+ { LOGIC_Z, LOGIC_0, LOGIC_0, LOGIC_1, PEACH_PI_CONFIG_REV_A_6 },
+ { LOGIC_Z, LOGIC_1, LOGIC_1, LOGIC_0, PEACH_PI_CONFIG_REV_B_6 },
+ { LOGIC_Z, LOGIC_Z, LOGIC_0, LOGIC_Z, PEACH_PI_CONFIG_REV_C_6 },
+ { LOGIC_0, LOGIC_0, LOGIC_0, LOGIC_1, PEACH_PI_CONFIG_REV_D_6 },
+ { LOGIC_0, LOGIC_1, LOGIC_0, LOGIC_1, PEACH_PI_CONFIG_REV_E_6 },
};
static int get_peach_board_config(struct platform_intf *intf)
diff --git a/platform/experimental/peach/peach.h b/platform/experimental/peach/peach.h
index 74b6c3e..4a0a3e0 100644
--- a/platform/experimental/peach/peach.h
+++ b/platform/experimental/peach/peach.h
@@ -44,19 +44,25 @@
PEACH_CONFIG_UNKNOWN = -1,
PEACH_PIT_CONFIG_RSVD = 0,
- PEACH_PIT_CONFIG_PROTO,
- PEACH_PIT_CONFIG_EVT_2GB,
- PEACH_PIT_CONFIG_EVT_4GB,
- PEACH_PIT_CONFIG_DVT1_2GB,
- PEACH_PIT_CONFIG_DVT1_4GB,
- PEACH_PIT_CONFIG_DVT2_2GB,
- PEACH_PIT_CONFIG_DVT2_4GB,
- PEACH_PIT_CONFIG_PVT1_2GB,
- PEACH_PIT_CONFIG_PVT1_4GB,
- PEACH_PIT_CONFIG_PVT2_2GB,
- PEACH_PIT_CONFIG_PVT2_4GB,
- PEACH_PIT_CONFIG_MP_2GB,
- PEACH_PIT_CONFIG_MP_4GB,
+ PEACH_PIT_CONFIG_REV_0_0,
+ PEACH_PIT_CONFIG_REV_3_0,
+ PEACH_PIT_CONFIG_REV_4_0,
+ PEACH_PIT_CONFIG_REV_5_0,
+ PEACH_PIT_CONFIG_REV_6_0,
+ PEACH_PIT_CONFIG_REV_7_0,
+ PEACH_PIT_CONFIG_REV_7_2,
+ PEACH_PIT_CONFIG_REV_9_0,
+ PEACH_PIT_CONFIG_REV_9_2,
+ PEACH_PIT_CONFIG_REV_A_0,
+ PEACH_PIT_CONFIG_REV_A_2,
+ PEACH_PIT_CONFIG_REV_B_0,
+ PEACH_PIT_CONFIG_REV_B_2,
+ PEACH_PIT_CONFIG_REV_C_0,
+ PEACH_PIT_CONFIG_REV_C_2,
+ PEACH_PIT_CONFIG_REV_D_0,
+ PEACH_PIT_CONFIG_REV_D_2,
+ PEACH_PIT_CONFIG_REV_E_0,
+ PEACH_PIT_CONFIG_REV_E_2,
PEACH_KIRBY_CONFIG_RSVD,
PEACH_KIRBY_CONFIG_PROTO0,
@@ -66,13 +72,13 @@
PEACH_KIRBY_CONFIG_PVT,
PEACH_KIRBY_CONFIG_MP,
- PEACH_PI_CONFIG_RSVD,
- PEACH_PI_CONFIG_REV_8_4,
- PEACH_PI_CONFIG_REV_9_4,
- PEACH_PI_CONFIG_REV_A_6,
- PEACH_PI_CONFIG_REV_B_6,
- PEACH_PI_CONFIG_REV_C_6,
- PEACH_PI_CONFIG_REV_D_6,
+ PEACH_PI_CONFIG_RSVD,
+ PEACH_PI_CONFIG_REV_8_4,
+ PEACH_PI_CONFIG_REV_9_4,
+ PEACH_PI_CONFIG_REV_A_6,
+ PEACH_PI_CONFIG_REV_B_6,
+ PEACH_PI_CONFIG_REV_C_6,
+ PEACH_PI_CONFIG_REV_D_6,
PEACH_PI_CONFIG_REV_E_6,
};
diff --git a/platform/experimental/peach/sys.c b/platform/experimental/peach/sys.c
index 49d4728..529b0aa 100644
--- a/platform/experimental/peach/sys.c
+++ b/platform/experimental/peach/sys.c
@@ -55,30 +55,54 @@
char *ret = NULL;
switch (peach_board_config) {
- case PEACH_PIT_CONFIG_PROTO:
- ret = mosys_strdup("PROTO");
+ case PEACH_PIT_CONFIG_REV_0_0:
+ ret = mosys_strdup("EVT_OLD");
break;
- case PEACH_PIT_CONFIG_EVT_2GB:
- case PEACH_PIT_CONFIG_EVT_4GB:
+ case PEACH_PIT_CONFIG_REV_3_0:
+ case PEACH_PIT_CONFIG_REV_4_0:
+ ret = mosys_strdup("DVT_OLD");
+ break;
+ case PEACH_PIT_CONFIG_REV_5_0:
+ case PEACH_PIT_CONFIG_REV_6_0:
+ case PEACH_PIT_CONFIG_REV_7_0:
+ case PEACH_PIT_CONFIG_REV_7_2:
+ ret = mosys_strdup("PVT_OLD");
+ break;
+ case PEACH_PI_CONFIG_REV_8_4:
ret = mosys_strdup("EVT");
break;
- case PEACH_PIT_CONFIG_DVT1_2GB:
- case PEACH_PIT_CONFIG_DVT1_4GB:
- case PEACH_PIT_CONFIG_DVT2_2GB:
- case PEACH_PIT_CONFIG_DVT2_4GB:
- ret = mosys_strdup("DVT");
+ case PEACH_PIT_CONFIG_REV_9_0:
+ case PEACH_PIT_CONFIG_REV_9_2:
+ case PEACH_PI_CONFIG_REV_9_4:
+ ret = mosys_strdup("DVT1");
break;
- case PEACH_PIT_CONFIG_PVT1_2GB:
- case PEACH_PIT_CONFIG_PVT1_4GB:
- case PEACH_PIT_CONFIG_PVT2_2GB:
- case PEACH_PIT_CONFIG_PVT2_4GB:
- ret = mosys_strdup("PVT");
+ case PEACH_PIT_CONFIG_REV_A_0:
+ case PEACH_PIT_CONFIG_REV_A_2:
+ case PEACH_PI_CONFIG_REV_A_6:
+ ret = mosys_strdup("DVT2");
break;
- case PEACH_PIT_CONFIG_MP_2GB:
- case PEACH_PIT_CONFIG_MP_4GB:
+ case PEACH_PIT_CONFIG_REV_B_0:
+ case PEACH_PIT_CONFIG_REV_B_2:
+ case PEACH_PI_CONFIG_REV_B_6:
+ ret = mosys_strdup("PVT1");
+ break;
+ case PEACH_PIT_CONFIG_REV_C_0:
+ case PEACH_PIT_CONFIG_REV_C_2:
+ case PEACH_PI_CONFIG_REV_C_6:
+ ret = mosys_strdup("PVT2");
+ break;
+ case PEACH_PIT_CONFIG_REV_D_0:
+ case PEACH_PIT_CONFIG_REV_D_2:
+ case PEACH_PI_CONFIG_REV_D_6:
+ ret = mosys_strdup("PVT3");
+ break;
+ case PEACH_PIT_CONFIG_REV_E_0:
+ case PEACH_PIT_CONFIG_REV_E_2:
+ case PEACH_PI_CONFIG_REV_E_6:
ret = mosys_strdup("MP");
break;
case PEACH_PIT_CONFIG_RSVD:
+ case PEACH_PI_CONFIG_RSVD:
ret = mosys_strdup("RSVD");
break;
default: