summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLuca Weiss <[email protected]>2026-04-08 14:04:28 +0200
committerTom Rini <[email protected]>2026-05-30 07:44:08 -0600
commit1c8b592611fc7b6bacf10226cfada6620ca19011 (patch)
tree99b7b86675d5e3ffb042fadd59110c23ab95e1f2 /drivers
parentdf08b27590d5c4bdc1bd644a6bcb8c0dc964780f (diff)
video: simplefb: Map framebuffer region on probe on ARM64
The framebuffer buffer might not be mapped on some devices. This is #ifdef'ed for ARM64 since mmu_map_region() is not defined for any other architecture. Signed-off-by: Luca Weiss <[email protected]> Acked-by: Sumit Garg <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/simplefb.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/simplefb.c b/drivers/video/simplefb.c
index 8d0772d4e51..4d238b936ac 100644
--- a/drivers/video/simplefb.c
+++ b/drivers/video/simplefb.c
@@ -9,6 +9,8 @@
#include <log.h>
#include <video.h>
#include <asm/global_data.h>
+#include <asm/system.h>
+#include <linux/sizes.h>
static int simple_video_probe(struct udevice *dev)
{
@@ -37,6 +39,13 @@ static int simple_video_probe(struct udevice *dev)
plat->base = base;
plat->size = size;
+#ifdef CONFIG_ARM64
+ /* The framebuffer buffer might not be mapped on some devices */
+ if (plat->base % SZ_4K)
+ log_warning("Framebuffer base %lx is not 4k aligned!\n", plat->base);
+ mmu_map_region((phys_addr_t)plat->base, (phys_addr_t)ALIGN(plat->size, SZ_4K), false);
+#endif
+
video_set_flush_dcache(dev, true);
debug("%s: Query resolution...\n", __func__);