Align the framebuffer size on MMU_SECTION_SIZE in kernel, = max 2MB for
LPAE for armV7, to avoid issue with the simple frame buffer activation,
when U-Boot add a reserved memory in the kernel device tree to preserve
the splash screen until Linux driver initialization.

See Linux documentation for details:
Documentation/devicetree/bindings/display/simple-framebuffer.yaml

Signed-off-by: Patrick Delaunay <patrick.delau...@foss.st.com>
---

 drivers/video/stm32/stm32_ltdc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/video/stm32/stm32_ltdc.c b/drivers/video/stm32/stm32_ltdc.c
index 65c882d9f1..87e5fd54d9 100644
--- a/drivers/video/stm32/stm32_ltdc.c
+++ b/drivers/video/stm32/stm32_ltdc.c
@@ -459,7 +459,10 @@ static int stm32_ltdc_bind(struct udevice *dev)
        uc_plat->size = CONFIG_VIDEO_STM32_MAX_XRES *
                        CONFIG_VIDEO_STM32_MAX_YRES *
                        (CONFIG_VIDEO_STM32_MAX_BPP >> 3);
-       dev_dbg(dev, "frame buffer max size %d bytes\n", uc_plat->size);
+       /* align framebuffer on kernel MMU_SECTION_SIZE = max 2MB for LPAE */
+       uc_plat->align = SZ_2M;
+       dev_dbg(dev, "frame buffer max size %d bytes align %x\n",
+               uc_plat->size, uc_plat->align);
 
        return 0;
 }
-- 
2.25.1

Reply via email to