summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2024-10-22 14:11:20 -0600
committerTom Rini <trini@konsulko.com>2024-10-22 14:11:20 -0600
commit392ff1449f7d30cc48fd4d17320d05882cd68f2e (patch)
tree14cbc33a7c2d0d57f72e537dc66a23bd694102de
parent6606a6adfaf8517cff7e5fe0fb206beed80087d5 (diff)
parent722073a0653dd18d0148dd435f067be4e82f9129 (diff)
Merge tag 'video-20241022' of https://source.denx.de/u-boot/custodians/u-boot-video
CI: https://source.denx.de/u-boot/custodians/u-boot-video/-/pipelines/22907 * VNBYTES() comment fix * add VIDEO dependency for FDT_SIMPLEFB * fdt_simplefb: drop not needed CONFIG_VIDEO check * am62x,evm: preserve splash screen while OS is booting * simplefb: warning fix for CONFIG_FDT_64BIT=n
-rw-r--r--board/ti/am62x/evm.c21
-rw-r--r--boot/Kconfig1
-rw-r--r--boot/fdt_simplefb.c2
-rw-r--r--drivers/video/simplefb.c3
-rw-r--r--include/video.h6
5 files changed, 25 insertions, 8 deletions
diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
index 1166c9b8e09..9075df01cac 100644
--- a/board/ti/am62x/evm.c
+++ b/board/ti/am62x/evm.c
@@ -16,6 +16,7 @@
#include <cpu_func.h>
#include <k3-ddrss.h>
#include <fdt_support.h>
+#include <fdt_simplefb.h>
#include <asm/io.h>
#include <asm/arch/hardware.h>
#include <dm/uclass.h>
@@ -162,3 +163,23 @@ void spl_perform_fixups(struct spl_image_info *spl_image)
#endif
}
#endif
+
+#if defined(CONFIG_OF_BOARD_SETUP)
+int ft_board_setup(void *blob, struct bd_info *bd)
+{
+ int ret = -1;
+
+ if (IS_ENABLED(CONFIG_FDT_SIMPLEFB))
+ ret = fdt_simplefb_enable_and_mem_rsv(blob);
+
+ /* If simplefb is not enabled and video is active, then at least reserve
+ * the framebuffer region to preserve the splash screen while OS is booting
+ */
+ if (IS_ENABLED(CONFIG_VIDEO) && IS_ENABLED(CONFIG_OF_LIBFDT)) {
+ if (ret && video_is_active())
+ return fdt_add_fb_mem_rsv(blob);
+ }
+
+ return 0;
+}
+#endif
diff --git a/boot/Kconfig b/boot/Kconfig
index 1ce1da6020c..fe2919f18c4 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -1683,6 +1683,7 @@ config FDT_FIXUP_PARTITIONS
config FDT_SIMPLEFB
bool "FDT tools for simplefb support"
+ depends on VIDEO
help
Enable the fdt tools to manage the simple fb nodes in device tree.
These functions can be used by board to indicate to the OS
diff --git a/boot/fdt_simplefb.c b/boot/fdt_simplefb.c
index 71b833eb9bd..5822131767d 100644
--- a/boot/fdt_simplefb.c
+++ b/boot/fdt_simplefb.c
@@ -103,7 +103,6 @@ static int fdt_simplefb_enable_existing_node(void *blob)
return fdt_simplefb_configure_node(blob, off);
}
-#if IS_ENABLED(CONFIG_VIDEO)
int fdt_simplefb_enable_and_mem_rsv(void *blob)
{
int ret;
@@ -118,4 +117,3 @@ int fdt_simplefb_enable_and_mem_rsv(void *blob)
return fdt_add_fb_mem_rsv(blob);
}
-#endif
diff --git a/drivers/video/simplefb.c b/drivers/video/simplefb.c
index cb518b149cb..239b006744d 100644
--- a/drivers/video/simplefb.c
+++ b/drivers/video/simplefb.c
@@ -27,7 +27,8 @@ static int simple_video_probe(struct udevice *dev)
return -EINVAL;
}
- debug("%s: base=%llx, size=%llu\n", __func__, base, size);
+ debug("%s: base=%llx, size=%llu\n",
+ __func__, (unsigned long long)base, (unsigned long long)size);
/*
* TODO is there some way to reserve the framebuffer
diff --git a/include/video.h b/include/video.h
index c7afe22d823..4ec71ab16da 100644
--- a/include/video.h
+++ b/include/video.h
@@ -57,12 +57,8 @@ enum video_log2_bpp {
VIDEO_BPP32,
};
-/*
- * Convert enum video_log2_bpp to bytes and bits. Note we omit the outer
- * brackets to allow multiplication by fractional pixels.
- */
+/* Convert enum video_log2_bpp to bytes and bits */
#define VNBYTES(bpix) ((1 << (bpix)) / 8)
-
#define VNBITS(bpix) (1 << (bpix))
enum video_format {