mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 0/7] video: enable boot splash on i.MX8MP with LVDS panel
@ 2026-06-02  4:09 Johannes Schneider
  2026-06-02  4:09 ` [PATCH 1/6] clk: imx8mp: add 700 MHz rate entry for VIDEO_PLL1 Johannes Schneider
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Johannes Schneider @ 2026-06-02  4:09 UTC (permalink / raw)
  To: barebox; +Cc: thomas.haemmerle

This series adds the pieces needed to show a boot splash on i.MX8MP
boards driving an LVDS panel.

The i.MX8MP's LCDIF2 lives in the MEDIAMIX power domain and uses a new
V8 register layout, neither of which is currently handled in barebox:
register access without the media blk-ctrl hangs the AXI bus, and the
existing LCDIF driver does not match this variant.  There is also no
generic panel-lvds driver to terminate the VPL chain, and the LVDS link
clock needs an exact 700 MHz VIDEO_PLL1 rate to avoid pixel-clock
rounding artefacts at the edge of the display.  A few smaller fixes
were required along the way (optional backlight-pwm properties, a
png_pico double-free in the boot-logo path, and a write-combine drain
after each blit).

Patches:

  1. clk: imx8mp: add the 700 MHz VIDEO_PLL1 rate needed for an exact
     LVDS link clock.
  2. lib: gui: png_pico: fix a use-after-free / double-free triggered
     by displaying the boot logo.
  3. video: backlight-pwm: make power-supply and enable-gpio optional.
  4. pmdomain: imx8mp-blk-ctrl: add media blk-ctrl support so LCDIF2
     register access does not hang the AXI bus.
  5. video: add a new LCDIF V8 framebuffer driver for i.MX8MP.
  6. video: add a generic panel-lvds driver, mirroring the Linux one.
  7. video: imx-lcdif: DSB after each blit to flush the write-combine
     buffer before the LCDIF DMA reads pixels.

Assisted-by: Claude:claude-opus-4-7

 drivers/clk/imx/clk-pll14xx.c          |   1 +
 drivers/pmdomain/imx/imx8mp-blk-ctrl.c | 117 +++++++-
 drivers/video/Kconfig                  |  19 ++
 drivers/video/Makefile                 |   2 +
 drivers/video/backlight-pwm.c          |  16 +-
 drivers/video/backlight.c              |   3 +-
 drivers/video/fsl-ldb.c                |   2 +-
 drivers/video/imx-lcdif.c              | 391 +++++++++++++++++++++++++
 drivers/video/panel-lvds.c             | 175 +++++++++++
 lib/gui/png_pico.c                     |  21 +-
 10 files changed, 728 insertions(+), 19 deletions(-)
 create mode 100644 drivers/video/imx-lcdif.c
 create mode 100644 drivers/video/panel-lvds.c


base-commit: 81fbe2e8d0d445032498a0bfecf9fd270f00985a
-- 
2.43.0




^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2026-06-04  3:43 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-02  4:09 [PATCH 0/7] video: enable boot splash on i.MX8MP with LVDS panel Johannes Schneider
2026-06-02  4:09 ` [PATCH 1/6] clk: imx8mp: add 700 MHz rate entry for VIDEO_PLL1 Johannes Schneider
2026-06-02  7:04   ` Ahmad Fatoum
2026-06-02  4:09 ` [PATCH 2/6] pmdomain: imx8mp-blk-ctrl: add media blk-ctrl power domain support Johannes Schneider
2026-06-02  7:34   ` Ahmad Fatoum
2026-06-02  4:09 ` [PATCH 3/6] video: backlight-pwm: make power-supply and enable-gpio optional Johannes Schneider
2026-06-02  7:22   ` Ahmad Fatoum
2026-06-02  4:09 ` [PATCH 4/6] video: add i.MX8MP LCDIF2 V8 framebuffer driver Johannes Schneider
2026-06-02  7:16   ` Ahmad Fatoum
2026-06-04  3:34     ` SCHNEIDER Johannes
2026-06-02  4:09 ` [PATCH 5/6] video: add generic panel-lvds driver Johannes Schneider
2026-06-02  7:12   ` Ahmad Fatoum
2026-06-02  4:09 ` [PATCH 6/6] video: imx-lcdif: drain write-combine buffer before LCDIF DMA reads pixels Johannes Schneider
2026-06-02  8:12   ` Lucas Stach
2026-06-02  9:37     ` Ahmad Fatoum
2026-06-02 12:12       ` Lucas Stach
2026-06-02 15:17         ` Michael Grzeschik
2026-06-02 17:10         ` Michael Grzeschik
2026-06-04  3:42           ` SCHNEIDER Johannes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox