aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/gru/sdram_configs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/gru/sdram_configs.c')
-rw-r--r--src/mainboard/google/gru/sdram_configs.c36
1 files changed, 25 insertions, 11 deletions
diff --git a/src/mainboard/google/gru/sdram_configs.c b/src/mainboard/google/gru/sdram_configs.c
index 8674590300..92e00efdba 100644
--- a/src/mainboard/google/gru/sdram_configs.c
+++ b/src/mainboard/google/gru/sdram_configs.c
@@ -22,21 +22,35 @@
#include <types.h>
static struct rk3399_sdram_params sdram_configs[] = {
-#if IS_ENABLED(CONFIG_BOARD_GOOGLE_GRU)
-#include "sdram_inf/gru-sdram-lpddr3-hynix-4GB.inc"
-#elif IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN)
+#include "sdram_inf/sdram-lpddr3-hynix-4GB-200.inc"
+/* THIS IS FOR KEVIN ONLY! crosbug.com/p/54144 */
#include "sdram_inf/kevin-sdram-lpddr3-hynix-4GB.inc"
-#else
-#error "What is your board name?"
-#endif
+#include "sdram_inf/sdram-lpddr3-hynix-4GB-666.inc"
+#include "sdram_inf/sdram-lpddr3-hynix-4GB-800.inc"
+/* #include "sdram_inf/sdram-lpddr3-hynix-4GB-928.inc" */
+};
+
+enum dram_speeds {
+ dram_200MHz = 0,
+ dram_300MHz = 1,
+ dram_666MHz = 2,
+ dram_800MHz = 3,
+/* dram_928MHz = 4, */
};
const struct rk3399_sdram_params *get_sdram_config()
{
- u32 ramcode = ram_code();
+ enum dram_speeds speed;
+
+ if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN))
+ speed = dram_300MHz;
+ else if (IS_ENABLED(CONFIG_BOARD_GOOGLE_GRU))
+ speed = dram_800MHz;
+ else
+ speed = dram_200MHz;
+
+ printk(BIOS_INFO, "Using SDRAM configuration for %d MHz\n",
+ sdram_configs[speed].ddr_freq / (1000 * 1000));
- if (ramcode >= ARRAY_SIZE(sdram_configs)
- || sdram_configs[ramcode].dramtype == UNUSED)
- die("Invalid RAMCODE.");
- return &sdram_configs[ramcode];
+ return &sdram_configs[speed];
}