Exynos 5250: Enable dynamic CBMEM
... In order to do this, the graphics memory has to move into
the resource allocator and out of CBMEM.
Change-Id: I7396da4a7068404b0d2e4d308becab4dd6ea59bb
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/59326
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/4390
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
diff --git a/src/mainboard/google/snow/mainboard.c b/src/mainboard/google/snow/mainboard.c
index 0d194b4..4d7d43c 100644
--- a/src/mainboard/google/snow/mainboard.c
+++ b/src/mainboard/google/snow/mainboard.c
@@ -213,7 +213,7 @@
.base = (struct exynos5_dp *)EXYNOS5250_DP1_BASE,
.video_info = &dp_video_info,
};
- void *fb_addr;
+ void *fb_addr = (void *)(get_fb_base_kb() * KiB);
gpio_init();
@@ -228,7 +228,6 @@
/* Disable USB3.0 PLL to save 250mW of power */
disable_usb30_pll();
- fb_addr = cbmem_find(CBMEM_ID_CONSOLE);
set_vbe_mode_info_valid(&edid, (uintptr_t)fb_addr);
lcd_vdd();
@@ -265,6 +264,7 @@
// gpio_info();
}
+#if !CONFIG_DYNAMIC_CBMEM
void get_cbmem_table(uint64_t *base, uint64_t *size)
{
*size = CONFIG_COREBOOT_TABLES_SIZE;
@@ -272,13 +272,16 @@
((unsigned)CONFIG_DRAM_SIZE_MB << 20ULL) -
CONFIG_COREBOOT_TABLES_SIZE;
}
+#endif
static void mainboard_enable(device_t dev)
{
dev->ops->init = &mainboard_init;
+#if !CONFIG_DYNAMIC_CBMEM
/* set up coreboot tables */
cbmem_initialize();
+#endif
/* set up dcache and MMU */
/* FIXME: this should happen via resource allocator */