diff options
Diffstat (limited to 'common/board_f.c')
-rw-r--r-- | common/board_f.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/common/board_f.c b/common/board_f.c index e5969ec9a2..7d2c380e91 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -411,7 +411,16 @@ __weak int arch_reserve_mmu(void) static int reserve_video(void) { - if (IS_ENABLED(CONFIG_VIDEO)) { + if (IS_ENABLED(CONFIG_SPL_VIDEO) && spl_phase() > PHASE_SPL && + CONFIG_IS_ENABLED(BLOBLIST)) { + struct video_handoff *ho; + + ho = bloblist_find(BLOBLISTT_U_BOOT_VIDEO, sizeof(*ho)); + if (!ho) + return log_msg_ret("blf", -ENOENT); + video_reserve_from_bloblist(ho); + gd->relocaddr = ho->fb; + } else if (CONFIG_IS_ENABLED(VIDEO)) { ulong addr; int ret; |