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.c64
1 files changed, 10 insertions, 54 deletions
diff --git a/src/mainboard/google/gru/sdram_configs.c b/src/mainboard/google/gru/sdram_configs.c
index 1cfef06189..b9f77d0f1f 100644
--- a/src/mainboard/google/gru/sdram_configs.c
+++ b/src/mainboard/google/gru/sdram_configs.c
@@ -23,67 +23,23 @@
#include <types.h>
static const char *sdram_configs[] = {
-#if IS_ENABLED(CONFIG_BOARD_GOOGLE_BOB)
- "sdram-lpddr3-samsung-2GB-24EB",
- "sdram-lpddr3-micron-2GB",
- "sdram-lpddr3-samsung-4GB-04EB",
- "sdram-lpddr3-micron-4GB",
-#else
- "sdram-lpddr3-hynix-4GB-666",
- "sdram-lpddr3-hynix-4GB-800",
- "sdram-lpddr3-hynix-4GB-933",
-#endif
+ [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;
-#if IS_ENABLED(CONFIG_BOARD_GOOGLE_GRU) || \
- IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN)
-enum dram_speeds {
- dram_666MHz = 0,
- dram_800MHz = 1,
- dram_933MHz = 2,
-};
-
-static enum dram_speeds get_sdram_index(void)
-{
- uint32_t id;
-
- id = board_id();
-
- if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN))
- switch (id) {
- case 4:
- return dram_800MHz;
- default:
- return dram_933MHz;
- }
-
- if (IS_ENABLED(CONFIG_BOARD_GOOGLE_GRU))
- return dram_800MHz;
-}
-#endif
-
const struct rk3399_sdram_params *get_sdram_config()
{
-#if IS_ENABLED(CONFIG_BOARD_GOOGLE_BOB)
- u32 ramcode = ram_code();
-
- /*
- * through schematic, ramid arrange like following:
- * 0: sdram-lpddr3-samsung-2GB-24EB
- * 2: sdram-lpddr3-micron-2GB
- * 4: sdram-lpddr3-samsung-4GB-04EB
- * 6: sdram-lpddr3-micron-4GB
- */
- ramcode = ramcode / 2;
+ uint32_t ramcode;
- if (cbfs_boot_load_struct(sdram_configs[ramcode],
- &params, sizeof(params)) != sizeof(params))
-#else
- if (cbfs_boot_load_struct(sdram_configs[get_sdram_index()],
- &params, sizeof(params)) != sizeof(params))
-#endif
+ ramcode = ram_code();
+ if (ramcode >= ARRAY_SIZE(sdram_configs) || !sdram_configs[ramcode] ||
+ (cbfs_boot_load_struct(sdram_configs[ramcode],
+ &params, sizeof(params)) != sizeof(params)))
die("Cannot load SDRAM parameter file!");
return &params;
}