diff options
author | Tom Wai-Hong Tam <waihong@chromium.org> | 2011-08-12 18:27:31 +0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-29 10:59:30 -0700 |
commit | 2efaa58738ab9c907aeb8ade8b535b9aaa9c4a64 (patch) | |
tree | 6b0d6b2bd8cffb65d7f7e33d8d6abf3558d1b19b /common/cmd_vboot_twostop.c | |
parent | 59838c878aa585589c758d49ae011a3fa50c36ca (diff) |
CHROMIUM: Assign the frame buffer address as FDT one instead of u-boot one.
The framebuffer address should be specified in the device tree and not u-boot
assigned. This FDT value should be the same as the one defined in Linux kernel;
otherwise, it causes screen flicker. The FDT value overrides the framebuffer
allocated at the top of memory by board_init_f().
If the framebuffer address is not defined in the FDT, falls back to use the
address allocated by board_init_f().
BUG=chrome-os-partner:5338
TEST=build without error and boot Chrome OS on Aebl, see the screen not
corrupted and splash screen showed.
Change-Id: Ia6a996d127d74d6084900814d2c934fb95518e23
Reviewed-on: http://gerrit.chromium.org/gerrit/5877
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
Diffstat (limited to 'common/cmd_vboot_twostop.c')
-rw-r--r-- | common/cmd_vboot_twostop.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/common/cmd_vboot_twostop.c b/common/cmd_vboot_twostop.c index e922a116b80..44a30b615af 100644 --- a/common/cmd_vboot_twostop.c +++ b/common/cmd_vboot_twostop.c @@ -164,6 +164,7 @@ static void wipe_unused_memory(crossystem_data_t *cdata, VbCommonParams *cparams) { #ifdef CONFIG_OF_CONTROL + int fb_size, lcd_line_length; memory_wipe_t wipe; struct fdt_memory config; @@ -186,6 +187,12 @@ wipe_unused_memory(crossystem_data_t *cdata, VbCommonParams *cparams) (uintptr_t)TEGRA_LP0_ADDR, (uintptr_t)(TEGRA_LP0_ADDR + TEGRA_LP0_SIZE)); + /* Excludes the frame buffer. */ + fb_size = lcd_get_size(&lcd_line_length); + memory_wipe_exclude(&wipe, + (uintptr_t)gd->fb_base, + (uintptr_t)gd->fb_base + fb_size); + memory_wipe_execute(&wipe); #else printf("wipe_unused_memory depends on fdt_decode_memory which" |