diff mbox series

[3/4] board: ti: am62x: evm: Add necessary functions to call splash screen

Message ID 20230410082021.25246-4-n-jain1@ti.com
State Superseded
Headers show
Series [1/4] configs: am62x_evm_a53_defconfig: Changes in memory map to support SPL splash screen | expand

Commit Message

Nikhil Jain April 10, 2023, 8:20 a.m. UTC
To enable splash screen on AM62x at a53 SPL setup DRAM, set page table,
enable cache to allow copying of bmp image to frame buffer and display
it using splash_display.

Signed-off-by: Nikhil M Jain <n-jain1@ti.com>
---
 board/ti/am62x/evm.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
diff mbox series

Patch

diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
index 20b2a70122..e3c80c5c67 100644
--- a/board/ti/am62x/evm.c
+++ b/board/ti/am62x/evm.c
@@ -9,6 +9,7 @@ 
 
 #include <env.h>
 #include <spl.h>
+#include <init.h>
 #include <video.h>
 #include <splash.h>
 #include <k3-ddrss.h>
@@ -53,6 +54,44 @@  int dram_init_banksize(void)
 }
 
 #if defined(CONFIG_SPL_BUILD)
+#ifdef CONFIG_SPL_VIDEO_TIDSS
+static int setup_dram(void)
+{
+	dram_init();
+	dram_init_banksize();
+	gd->ram_base = CFG_SYS_SDRAM_BASE;
+	gd->ram_top = gd->ram_base + gd->ram_size;
+	gd->relocaddr = gd->ram_top;
+	return 0;
+}
+
+static int video_setup(void)
+{
+	ulong addr;
+	int ret;
+	addr = gd->relocaddr;
+
+	ret = video_reserve(&addr);
+	if (ret)
+		return ret;
+	debug("Reserving %luk for video at: %08lx\n",
+	      ((unsigned long)gd->relocaddr - addr) >> 10, addr);
+	gd->relocaddr = addr;
+	return 0;
+}
+
+#endif
+void spl_board_init(void)
+{
+#if defined(CONFIG_SPL_VIDEO_TIDSS)
+	setup_dram();
+	arch_reserve_mmu();
+	video_setup();
+	enable_caches();
+	splash_display();
+#endif
+}
+
 #if defined(CONFIG_K3_AM64_DDRSS)
 static void fixup_ddr_driver_for_ecc(struct spl_image_info *spl_image)
 {