veyron: Add samsung ddr3 K4B4G1646E-BYK0 for Jerry, Jaq and Mighty

BUG=b:35586879
BRANCH=veyron
TEST=mosys memory spd print all

Change-Id: I4553f72476defde275cb3df8e76c7ce7c4eca27a
Reviewed-on: https://chromium-review.googlesource.com/458465
Commit-Ready: Jianbo Zhang <zhangjb@bitland.corp-partner.google.com>
Tested-by: guohui zhou <guohui.zhou@bitland.com.cn>
Reviewed-by: Julius Werner <jwerner@chromium.org>
diff --git a/platform/google/pinky/memory.c b/platform/google/pinky/memory.c
index 49764c3..aa0ff3d 100644
--- a/platform/google/pinky/memory.c
+++ b/platform/google/pinky/memory.c
@@ -40,6 +40,14 @@
 static int pinky_dimm_count;
 static const struct nonspd_mem_info *pinky_mem_info;
 
+static int supports_tristate(struct platform_intf *intf)
+{
+	if(!strncmp(intf->name, "Jerry", 5) ||
+	   !strncmp(intf->name, "Jaq", 3) ||
+	   !strncmp(intf->name, "Mighty", 6))
+		return 0;
+	return 1;
+}
 /* read RAM code and fill in values needed by memory commands */
 static int read_ram_code(struct platform_intf *intf)
 {
@@ -126,8 +134,13 @@
 		} else {
 			switch (ram_code) {
 			case 0:
-				pinky_dimm_count = 2;
-				pinky_mem_info = &samsung_lpddr3_k4e8e304ed_egcc;
+				if(supports_tristate(intf)) {
+					pinky_dimm_count = 2;
+					pinky_mem_info = &samsung_lpddr3_k4e8e304ed_egcc;
+				} else {
+					pinky_dimm_count = 4;
+					pinky_mem_info = &samsung_k4b4g1646e;
+				}
 				break;
 			case 2:
 				pinky_dimm_count = 2;