[coreboot-gerrit] Change in coreboot[master]: google/gru: support 800M/928M frequency for bob

Julius Werner (Code Review) gerrit at coreboot.org
Thu May 11 04:55:22 CEST 2017


Julius Werner has submitted this change and it was merged. ( https://review.coreboot.org/19558 )

Change subject: google/gru: support 800M/928M frequency for bob
......................................................................


google/gru: support 800M/928M frequency for bob

The coreboot had no supported the different frequency for gru yet.
e.g:
we can't support the bob to run ddr 800M for rev3 board and
run 928M for rev4 board.

So, in order to support the 800M and 928M ddr frequency for bob different
boards. We will use the ram_id and board_id to select the board on bob.

Change-Id: I613050292a09ff56f4636d7af285075e32259ef4
Signed-off-by: Caesar Wang <wxt at rock-chips.com>
Reviewed-on: https://review.coreboot.org/19558
Tested-by: build bot (Jenkins) <no-reply at coreboot.org>
Reviewed-by: Julius Werner <jwerner at chromium.org>
---
M src/mainboard/google/gru/Kconfig
M src/mainboard/google/gru/Makefile.inc
M src/mainboard/google/gru/sdram_configs.c
R src/mainboard/google/gru/sdram_params/Makefile.inc
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-hynix-4GB-928.c
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-2GB-800.c
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-2GB-928.c
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-4GB-800.c
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-4GB-928.c
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-2GB-24EB-800.c
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-2GB-24EB-928.c
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-4GB-04EB-800.c
R src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-4GB-04EB-928.c
D src/mainboard/google/gru/sdram_params_933/Makefile.inc
14 files changed, 37 insertions(+), 48 deletions(-)

Approvals:
  Julius Werner: Looks good to me, approved
  build bot (Jenkins): Verified



diff --git a/src/mainboard/google/gru/Kconfig b/src/mainboard/google/gru/Kconfig
index 0dba3e9..3a30013 100644
--- a/src/mainboard/google/gru/Kconfig
+++ b/src/mainboard/google/gru/Kconfig
@@ -95,13 +95,6 @@
 	default "Gru" if BOARD_GOOGLE_GRU
 	default "Kevin" if BOARD_GOOGLE_KEVIN
 
-# The default max sdram freq is 933M(actually 928M dpll), and
-# 800M is another choice.
-config MAX_SDRAM_FREQ
-	int
-	default 800 if BOARD_GOOGLE_BOB
-	default 933
-
 config GBB_HWID
 	string
 	depends on CHROMEOS
diff --git a/src/mainboard/google/gru/Makefile.inc b/src/mainboard/google/gru/Makefile.inc
index d54ce2f..122139d 100644
--- a/src/mainboard/google/gru/Makefile.inc
+++ b/src/mainboard/google/gru/Makefile.inc
@@ -13,7 +13,7 @@
 ## GNU General Public License for more details.
 ##
 
-subdirs-y += sdram_params_$(CONFIG_MAX_SDRAM_FREQ)/
+subdirs-y += sdram_params/
 
 bootblock-y += bootblock.c
 bootblock-y += chromeos.c
diff --git a/src/mainboard/google/gru/sdram_configs.c b/src/mainboard/google/gru/sdram_configs.c
index b9f77d0..eec8a0d 100644
--- a/src/mainboard/google/gru/sdram_configs.c
+++ b/src/mainboard/google/gru/sdram_configs.c
@@ -23,23 +23,40 @@
 #include <types.h>
 
 static const char *sdram_configs[] = {
-    [0] = "sdram-lpddr3-hynix-4GB",
-    [3] = "sdram-lpddr3-samsung-2GB-24EB",
-    [4] = "sdram-lpddr3-micron-2GB",
-    [5] = "sdram-lpddr3-samsung-4GB-04EB",
-    [6] = "sdram-lpddr3-micron-4GB",
+	[0] = "sdram-lpddr3-hynix-4GB",
+	[3] = "sdram-lpddr3-samsung-2GB-24EB",
+	[4] = "sdram-lpddr3-micron-2GB",
+	[5] = "sdram-lpddr3-samsung-4GB-04EB",
+	[6] = "sdram-lpddr3-micron-4GB",
 };
 
 static struct rk3399_sdram_params params;
 
+enum dram_speeds {
+	dram_800MHz = 800,
+	dram_928MHz = 928,
+};
+
+static enum dram_speeds get_sdram_target_mhz(void)
+{
+	if (IS_ENABLED(CONFIG_BOARD_GOOGLE_BOB) && board_id() < 4)
+		return dram_800MHz;
+
+	return dram_928MHz;
+}
+
 const struct rk3399_sdram_params *get_sdram_config()
 {
+	char config_file[64];
 	uint32_t ramcode;
 
 	ramcode = ram_code();
-	if (ramcode >= ARRAY_SIZE(sdram_configs) || !sdram_configs[ramcode] ||
-	    (cbfs_boot_load_struct(sdram_configs[ramcode],
-				   &params, sizeof(params)) != sizeof(params)))
+	if (ramcode >= ARRAY_SIZE(sdram_configs) ||
+	    !snprintf(config_file, sizeof(config_file), "%s-%d",
+	    sdram_configs[ramcode], get_sdram_target_mhz()) ||
+	    (cbfs_boot_load_struct(config_file, &params,
+				   sizeof(params)) != sizeof(params)))
 		die("Cannot load SDRAM parameter file!");
+
 	return ¶ms;
 }
diff --git a/src/mainboard/google/gru/sdram_params_800/Makefile.inc b/src/mainboard/google/gru/sdram_params/Makefile.inc
similarity index 64%
rename from src/mainboard/google/gru/sdram_params_800/Makefile.inc
rename to src/mainboard/google/gru/sdram_params/Makefile.inc
index ca7b52b..6720c0c 100644
--- a/src/mainboard/google/gru/sdram_params_800/Makefile.inc
+++ b/src/mainboard/google/gru/sdram_params/Makefile.inc
@@ -14,10 +14,17 @@
 ##
 
 sdram-params :=
-sdram-params += sdram-lpddr3-samsung-2GB-24EB
-sdram-params += sdram-lpddr3-micron-2GB
-sdram-params += sdram-lpddr3-samsung-4GB-04EB
-sdram-params += sdram-lpddr3-micron-4GB
+sdram-params += sdram-lpddr3-hynix-4GB-928
+
+sdram-params += sdram-lpddr3-micron-2GB-800
+sdram-params += sdram-lpddr3-micron-2GB-928
+sdram-params += sdram-lpddr3-micron-4GB-800
+sdram-params += sdram-lpddr3-micron-4GB-928
+
+sdram-params += sdram-lpddr3-samsung-2GB-24EB-800
+sdram-params += sdram-lpddr3-samsung-2GB-24EB-928
+sdram-params += sdram-lpddr3-samsung-4GB-04EB-800
+sdram-params += sdram-lpddr3-samsung-4GB-04EB-928
 
 $(foreach params,$(sdram-params), \
 	$(eval cbfs-files-y += $(params)) \
diff --git a/src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-hynix-4GB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-hynix-4GB-928.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-hynix-4GB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-hynix-4GB-928.c
diff --git a/src/mainboard/google/gru/sdram_params_800/sdram-lpddr3-micron-2GB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-2GB-800.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_800/sdram-lpddr3-micron-2GB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-2GB-800.c
diff --git a/src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-micron-2GB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-2GB-928.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-micron-2GB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-2GB-928.c
diff --git a/src/mainboard/google/gru/sdram_params_800/sdram-lpddr3-micron-4GB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-4GB-800.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_800/sdram-lpddr3-micron-4GB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-4GB-800.c
diff --git a/src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-micron-4GB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-4GB-928.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-micron-4GB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-micron-4GB-928.c
diff --git a/src/mainboard/google/gru/sdram_params_800/sdram-lpddr3-samsung-2GB-24EB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-2GB-24EB-800.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_800/sdram-lpddr3-samsung-2GB-24EB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-2GB-24EB-800.c
diff --git a/src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-samsung-2GB-24EB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-2GB-24EB-928.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-samsung-2GB-24EB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-2GB-24EB-928.c
diff --git a/src/mainboard/google/gru/sdram_params_800/sdram-lpddr3-samsung-4GB-04EB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-4GB-04EB-800.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_800/sdram-lpddr3-samsung-4GB-04EB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-4GB-04EB-800.c
diff --git a/src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-samsung-4GB-04EB.c b/src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-4GB-04EB-928.c
similarity index 100%
rename from src/mainboard/google/gru/sdram_params_933/sdram-lpddr3-samsung-4GB-04EB.c
rename to src/mainboard/google/gru/sdram_params/sdram-lpddr3-samsung-4GB-04EB-928.c
diff --git a/src/mainboard/google/gru/sdram_params_933/Makefile.inc b/src/mainboard/google/gru/sdram_params_933/Makefile.inc
deleted file mode 100644
index 8751e53..0000000
--- a/src/mainboard/google/gru/sdram_params_933/Makefile.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-##
-## This file is part of the coreboot project.
-##
-## Copyright 2016 Rockchip Inc.
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; version 2 of the License.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-
-sdram-params :=
-sdram-params += sdram-lpddr3-hynix-4GB
-sdram-params += sdram-lpddr3-samsung-2GB-24EB
-sdram-params += sdram-lpddr3-micron-2GB
-sdram-params += sdram-lpddr3-samsung-4GB-04EB
-sdram-params += sdram-lpddr3-micron-4GB
-
-$(foreach params,$(sdram-params), \
-	$(eval cbfs-files-y += $(params)) \
-	$(eval $(params)-file := $(params).c:struct) \
-	$(eval $(params)-type := struct) \
-	$(eval $(params)-compression := $(CBFS_COMPRESS_FLAG)) \
-)

-- 
To view, visit https://review.coreboot.org/19558
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I613050292a09ff56f4636d7af285075e32259ef4
Gerrit-PatchSet: 12
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Owner: Caesar Wang <wxt at rock-chips.com>
Gerrit-Reviewer: Caesar Wang <wxt at rock-chips.com>
Gerrit-Reviewer: Julius Werner <jwerner at chromium.org>
Gerrit-Reviewer: Paul Menzel <paulepanter at users.sourceforge.net>
Gerrit-Reviewer: Philip Chen <philipchen at google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply at coreboot.org>



More information about the coreboot-gerrit mailing list