build/patch/u-boot/u-boot-sunxi/allwinner-boot-splash.patch

97 lines
2.6 KiB
Diff
Raw Normal View History

From a35a53fd1e4b82dc1bf441b6986fffa87c30400d Mon Sep 17 00:00:00 2001
From: The Going <48602507+The-going@users.noreply.github.com>
Date: Fri, 1 Apr 2022 22:57:09 +0300
Subject: [PATCH] sunxi boot splash
---
cmd/Kconfig | 1 +
include/config_distro_bootcmd.h | 9 +++++++++
include/configs/sunxi-common.h | 30 ++++++++++++++++++++++++++++++
3 files changed, 40 insertions(+)
diff --git a/cmd/Kconfig b/cmd/Kconfig
index b2d7598717..ccd585bb24 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1912,6 +1912,7 @@ menu "Misc commands"
config CMD_BMP
bool "Enable 'bmp' command"
depends on VIDEO
+ default y
help
This provides a way to obtain information about a BMP-format image
and to display it. BMP (which presumably stands for BitMaP) is a
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index c3a2414b91..3f75840f27 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -469,6 +469,15 @@
BOOTENV_SHARED_VIRTIO \
BOOTENV_SHARED_EXTENSION \
"boot_prefixes=/ /boot/\0" \
+ "splashpos=m,m\0" \
+ "splashimage=66000000\0" \
+ "loadsplash= " \
+ "for prefix in ${boot_prefixes}; do " \
+ "if test -e mmc 0 ${prefix}boot.bmp; then " \
+ "load mmc 0 ${splashimage} ${prefix}boot.bmp; " \
+ "bmp d ${splashimage}; " \
+ "fi; " \
+ "done\0" \
"boot_scripts=boot.scr.uimg boot.scr\0" \
"boot_script_dhcp=boot.scr.uimg\0" \
BOOTENV_BOOT_TARGETS \
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index e89ad42ce8..54fee64bcc 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -106,6 +106,30 @@
#define LOW_LEVEL_SRAM_STACK 0x00008000 /* End of sram */
#endif
+#if defined CONFIG_VIDEO
+#if !defined CONFIG_VIDEO_LOGO
+#define CONFIG_VIDEO_LOGO
+#endif
+#if !defined CONFIG_SPLASH_SCREEN
+#define CONFIG_SPLASH_SCREEN
+#endif
+#if !defined CONFIG_SPLASH_SCREEN_ALIGN
+#define CONFIG_SPLASH_SCREEN_ALIGN
+#endif
+#if !defined CONFIG_BMP_16BPP
+#define CONFIG_BMP_16BPP
+#endif
+#if !defined CONFIG_BMP_24BPP
+#define CONFIG_BMP_24BPP
+#endif
+#if !defined CONFIG_BMP_32BPP
+#define CONFIG_BMP_32BPP
+#endif
+#if !defined CONFIG_VIDEO_BMP_RLE8
+#define CONFIG_VIDEO_BMP_RLE8
+#endif
+#endif
+
/* Ethernet support */
#ifdef CONFIG_ARM64
@@ -286,8 +310,14 @@
#include <config_distro_bootcmd.h>
#ifdef CONFIG_USB_KEYBOARD
+#if defined CONFIG_VIDEO
+#define CONSOLE_STDIN_SETTINGS \
+ "preboot=run loadsplash; usb start\0" \
+ "stdin=serial,usbkbd\0"
+#else
#define CONSOLE_STDIN_SETTINGS \
"stdin=serial,usbkbd\0"
+#endif
#else
#define CONSOLE_STDIN_SETTINGS \
"stdin=serial\0"
--
2.34.1