[coreboot-gerrit] New patch to review for coreboot: foster: add sdram_configs.c

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Jul 16 18:13:14 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10951

-gerrit

commit 553c9dcb9f8a1f1c5e473e82751e848281afcc57
Author: Yen Lin <yelin at nvidia.com>
Date:   Wed Jun 17 17:06:23 2015 -0700

    foster: add sdram_configs.c
    
    Add sdram_configs.c to both romstage and ramstage.
    
    BUG=chrome-os-partner:40741
    BRANCH=None
    TEST=Build ok on Foster
    
    Signed-off-by: Yen Lin <yelin at nvidi.com>
    
    Change-Id: Ib270c837ebe355c8d16072186c2b27d1c469fd48
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 73bc1abf2821176c21179880774887eec7c858b1
    Original-Change-Id: Ia80a57a81e44542ee3d5437866071d50c8c5b8cb
    Original-Reviewed-on: https://chromium-review.googlesource.com/280290
    Original-Reviewed-by: Furquan Shaikh <furquan at chromium.org>
    Original-Reviewed-by: Tom Warren <twarren at nvidia.com>
    Original-Tested-by: Yen Lin <yelin at nvidia.com>
    Original-Commit-Queue: Yen Lin <yelin at nvidia.com>
---
 src/mainboard/google/foster/Makefile.inc    |  2 ++
 src/mainboard/google/foster/sdram_configs.c | 42 +++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/src/mainboard/google/foster/Makefile.inc b/src/mainboard/google/foster/Makefile.inc
index f9fd32b..7b2329e 100644
--- a/src/mainboard/google/foster/Makefile.inc
+++ b/src/mainboard/google/foster/Makefile.inc
@@ -39,11 +39,13 @@ verstage-y += reset.c
 romstage-y += reset.c
 romstage-y += romstage.c
 romstage-y += chromeos.c
+romstage-y += sdram_configs.c
 
 ramstage-y += boardid.c
 ramstage-y += mainboard.c
 ramstage-y += reset.c
 ramstage-y += chromeos.c
+ramstage-y += sdram_configs.c
 
 bootblock-y += memlayout.ld
 romstage-y += memlayout.ld
diff --git a/src/mainboard/google/foster/sdram_configs.c b/src/mainboard/google/foster/sdram_configs.c
new file mode 100644
index 0000000..633a0bf
--- /dev/null
+++ b/src/mainboard/google/foster/sdram_configs.c
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2014 Google Inc.
+ * Copyright (c) 2015, NVIDIA CORPORATION.  All rights reserved.
+ *
+ * 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.
+ */
+
+#include <console/console.h>
+#include <soc/sdram_configs.h>
+
+static struct sdram_params sdram_configs[] = {
+#include "bct/sdram-samsung-3GB-204.inc"		/* ram_code = 0000 */
+#include "bct/sdram-unused.inc"				/* ram_code = 0001 */
+#include "bct/sdram-unused.inc"				/* ram_code = 0010 */
+#include "bct/sdram-unused.inc"				/* ram_code = 0011 */
+};
+
+const struct sdram_params *get_sdram_config()
+{
+	uint32_t ramcode = sdram_get_ram_code();
+	/*
+	 * If we need to apply some special hacks to RAMCODE mapping (ex, by
+	 * board_id), do that now.
+	 */
+
+	printk(BIOS_SPEW, "%s: RAMCODE=%d\n", __func__, ramcode);
+	if (ramcode >= sizeof(sdram_configs) / sizeof(sdram_configs[0]) ||
+	    sdram_configs[ramcode].MemoryType == NvBootMemoryType_Unused) {
+		die("Invalid RAMCODE.");
+	}
+
+	return &sdram_configs[ramcode];
+}



More information about the coreboot-gerrit mailing list