soc/mediatek/mt8196: Add mtk_ddp_ovlsys_start for rendering framebuffer
Implement mtk_ddp_ovlsys_start in order to render the logo in coreboot. The implementation is ported from depthcharge[1]. [1]: https://chromium.googlesource.com/chromiumos/platform/depthcharge/+/refs/heads/main/src/drivers/video/mtk_ddp.c BUG=b:319511268 TEST=Draw the logo in ramstage Change-Id: I37f929b85d4df818163e3af364038631f7b4623d Signed-off-by: Yidi Lin <yidilin@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/89542 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
0ff213d711
commit
bdd4561536
2 changed files with 9 additions and 0 deletions
|
|
@ -33,5 +33,6 @@ int mtk_display_init(void);
|
|||
|
||||
void mtk_ddp_init(void);
|
||||
void mtk_ddp_mode_set(const struct edid *edid, enum disp_path_sel path);
|
||||
void mtk_ddp_ovlsys_start(uintptr_t fb_addr);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -310,3 +310,11 @@ void mtk_ddp_mode_set(const struct edid *edid, enum disp_path_sel path)
|
|||
main_disp_path_setup(width, height, vrefresh, path);
|
||||
ovlsys_layer_config(fmt, bpp, width, height);
|
||||
}
|
||||
|
||||
void mtk_ddp_ovlsys_start(uintptr_t fb_addr)
|
||||
{
|
||||
write32(&exdma2_reg->ovl_addr, fb_addr);
|
||||
setbits32(&exdma2_reg->ovl_en, BIT(0));
|
||||
setbits32(&exdma2_reg->ovl_l_en, BIT(0));
|
||||
setbits32(&blenders[0]->bld_l_en, BIT(0));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue