mipi-dbi: add MIPI DBI LCD init sequence packages

Add a package directory for MIPI DBI LCD controller init sequences,
loaded as firmware by the panel-mipi-dbi kernel driver.

Initial package is for the Ubiquiti UniFi Travel Router (ubnt,utr)
LCD display.

Signed-off-by: Matt Eaton <git@divinehawk.com>
Link: https://github.com/openwrt/openwrt/pull/22740
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Matt Eaton authored and Robert Marko committed 2026-08-15 11:11:07 +02:00
1 parent a7c326d6a1
commit 51627b9699
3 files changed
+53

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
# SPDX-License-Identifier: GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=mipi-dbi
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=
PKG_MAINTAINER:=Matt Eaton <linux@divinehawk.com>
include $(INCLUDE_DIR)/package.mk
define Package/mipi-dbi-default
SECTION:=firmware
CATEGORY:=Firmware
endef
define Build/Compile
endef
# From https://github.com/notro/panel-mipi-dbi
# mipi-dbi-cmd ubnt,utr-lcd.bin ubnt,utr-lcd.txt
define Package/mipi-dbi-ubnt-utr
$(Package/mipi-dbi-default)
TITLE:=MIPI DBI LCD init sequence for Ubiquiti UniFi Travel Router
DEPENDS:=@TARGET_ipq40xx
endef
define Package/mipi-dbi-ubnt-utr/install
$(INSTALL_DIR) $(1)/lib/firmware
$(INSTALL_DATA) ./files/ubnt,utr-lcd.bin $(1)/lib/firmware/
endef
$(eval $(call BuildPackage,mipi-dbi-ubnt-utr))
Binary file not shown.
@@ -0,0 +1,16 @@
command 0x11 # Sleep Out — exits low-power mode and enables display logic
delay 120 # Stabilization delay after sleep-out
command 0x3A 0x55 # Pixel format: RGB565 (16-bit color)
command 0x36 0xC0 # MADCTL: orientation / mirroring / RGB order
command 0xB2 0x0C 0x0C 0x00 0x33 0x33 # Porch control — frame timing (porch widths)
command 0xB7 0x35 # Gate control — gate driver timing
command 0xBB 0x32 # VCOM setting — common voltage reference
command 0xC2 0x01 # Power control enable
command 0xC3 0x19 # VRH — regulator high-side voltage level
command 0xC4 0x20 # VDV/low-power bias control
command 0xC6 0x0F # Frame rate control
command 0xD0 0xA4 0xA1 # Power control 1 — internal power circuits
command 0xE0 0xD0 0x08 0x0E 0x09 0x09 0x05 0x31 0x33 0x48 0x17 0x14 0x15 0x31 0x34 # Positive gamma curve
command 0xE1 0xD0 0x08 0x0E 0x09 0x09 0x15 0x31 0x33 0x48 0x17 0x14 0x15 0x31 0x34 # Negative gamma curve
command 0x21 # Display inversion ON (polarity swap)
command 0x29 # Display ON