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
diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
index 1166c9b..9075df0 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 @@
#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 1ce1da6..fe2919f 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -1683,6 +1683,7 @@
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 71b833e..5822131 100644
--- a/boot/fdt_simplefb.c
+++ b/boot/fdt_simplefb.c
@@ -103,7 +103,6 @@
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 @@
return fdt_add_fb_mem_rsv(blob);
}
-#endif
diff --git a/drivers/video/simplefb.c b/drivers/video/simplefb.c
index cb518b1..239b006 100644
--- a/drivers/video/simplefb.c
+++ b/drivers/video/simplefb.c
@@ -27,7 +27,8 @@
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 c7afe22..4ec71ab 100644
--- a/include/video.h
+++ b/include/video.h
@@ -57,12 +57,8 @@
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 {