drivers/gpu/drm/pl111

ARM PrimeCell PL110/PL111 CLCD display controllers

A simple LCD controller block that ARM licensed as part of its PrimeCell IP family, embedded in many older ARM development boards (Versatile, Integrator, RealView, Versatile Express) from the 2000s and 2010s. It drives a framebuffer out to an attached LCD panel and is still widely encountered in QEMU-emulated ARM machines used for kernel and bootloader development.

keep-annotate conf=0.82 deploy=low replacement=none subsystem=gpu category=graphics-display
82%

recommendation

Worth keeping but documenting its niche: although no new hardware ships with this block, it remains the display path for a generation of ARM reference boards and, importantly, for the QEMU machine models that kernel and embedded developers use every day. Upstream maintenance is clearly alive, with a bug-fix posted in December 2025 and changes flowing into stable in January 2026, so removing it would break a real, if narrow, set of users.

repository signals

10 files
1,907 source lines
29 commits, 5y
+108 / −93 lines added / removed, 5y
18 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 29 total · active in 21/61 months
2021 2022 2023 2024 2025 2026 2021-04: 0 commits · +0 −0 2021-05: 0 commits · +0 −0 2021-06: 3 commits · +3 −3 2021-07: 1 commit · +0 −2 2021-08: 0 commits · +0 −0 2021-09: 0 commits · +0 −0 2021-10: 0 commits · +0 −0 2021-11: 1 commit · +0 −1 2021-12: 0 commits · +0 −0 2022-01: 0 commits · +0 −0 2022-02: 0 commits · +0 −0 2022-03: 0 commits · +0 −0 2022-04: 0 commits · +0 −0 2022-05: 0 commits · +0 −0 2022-06: 3 commits · +6 −1 2022-07: 1 commit · +1 −0 2022-08: 3 commits · +9 −10 2022-09: 0 commits · +0 −0 2022-10: 0 commits · +0 −0 2022-11: 1 commit · +1 −1 2022-12: 0 commits · +0 −0 2023-01: 0 commits · +0 −0 2023-02: 0 commits · +0 −0 2023-03: 1 commit · +2 −2 2023-04: 0 commits · +0 −0 2023-05: 1 commit · +12 −12 2023-06: 2 commits · +0 −3 2023-07: 1 commit · +1 −0 2023-08: 0 commits · +0 −0 2023-09: 1 commit · +7 −0 2023-10: 0 commits · +0 −0 2023-11: 0 commits · +0 −0 2023-12: 0 commits · +0 −0 2024-01: 1 commit · +0 −1 2024-02: 0 commits · +0 −0 2024-03: 0 commits · +0 −0 2024-04: 0 commits · +0 −0 2024-05: 0 commits · +0 −0 2024-06: 0 commits · +0 −0 2024-07: 0 commits · +0 −0 2024-08: 0 commits · +0 −0 2024-09: 1 commit · +4 −1 2024-10: 0 commits · +0 −0 2024-11: 1 commit · +1 −1 2024-12: 1 commit · +0 −1 2025-01: 0 commits · +0 −0 2025-02: 0 commits · +0 −0 2025-03: 1 commit · +1 −1 2025-04: 0 commits · +0 −0 2025-05: 0 commits · +0 −0 2025-06: 0 commits · +0 −0 2025-07: 0 commits · +0 −0 2025-08: 1 commit · +8 −5 2025-09: 0 commits · +0 −0 2025-10: 1 commit · +1 −0 2025-11: 1 commit · +49 −47 2025-12: 2 commits · +2 −1 2026-01: 0 commits · +0 −0 2026-02: 0 commits · +0 −0 2026-03: 0 commits · +0 −0 2026-04: 0 commits · +0 −0

sources

  1. lore.kernel.org

    Recent upstream bug-fix traffic exists for this driver: 'drm/pl111: Fix error handling in pl111_amba_probe' was posted in December 2025.

  2. lore.kernel.org

    pl111 changes were still being carried into stable releases in January 2026, indicating ongoing maintenance value rather than abandonment.

  3. docs.kernel.org

    Kernel documentation describes this as the DRM driver for the ARM PrimeCell PL110/PL111 CLCD controller, a simple LCD controller with KMS support.

  4. docs.kernel.org

    Kernel maintainers documentation lists 'DRM DRIVER FOR ARM PL111 CLCD' as Maintained, with files under drivers/gpu/drm/pl111/.

  5. qemu.org

    Current QEMU documentation for Versatile Express boards still includes a 'PL111 LCD display controller', showing ongoing deployment in emulator and board-model use.

codex reasoning notes (technical)

Recommendation is keep-annotate: lore_file_timeline on drivers/gpu/drm/pl111/pl111_drv.c showed activity through 2025-12 and stable carry-through in 2026-01, so upstream attention is current. Web search/open on docs.kernel.org and qemu.org showed the driver remains documented and maintained, and that PL111 persists in QEMU board models. This points to low but real present-day deployments in legacy ARM dev boards and emulation, not broad new physical-hardware sales. No natural in-kernel replacement covers the same PrimeCell CLCD block; use is niche rather than dead.