]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
board: ti: am62x: evm: Add necessary functions to call splash screen
authorNikhil M Jain <n-jain1@ti.com>
Mon, 10 Apr 2023 08:49:12 +0000 (14:19 +0530)
committerTom Rini <trini@konsulko.com>
Mon, 8 May 2023 13:26:12 +0000 (09:26 -0400)
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

index e00e42e276c4579d637fb1152e304f20a0bf2e88..34830f445f7bb14809592d75aa5c7a2b37707228 100644 (file)
@@ -9,6 +9,7 @@
 
 #include <env.h>
 #include <spl.h>
+#include <init.h>
 #include <video.h>
 #include <splash.h>
 #include <k3-ddrss.h>
@@ -58,6 +59,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)
 {