mirror of
git://git.openembedded.org/meta-openembedded
synced 2025-12-31 13:38:06 +00:00
panel-mipi-dbi.bbclass: initial addition of the firmware blob class
The `panel-mipi-dbi.bbclass` can be used to build a firmware file for use with the `panel-mipi-dbi` Linux driver. The class uses the `mipi-dbi-cmd` from `panel-mipi-dbi-native` to assemble a human readable list of init commands into a firmware file for use with the `panel-mipi-dbi` Linux driver. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
6cf665bde8
commit
08934d75ae
48
meta-oe/classes/panel-mipi-dbi.bbclass
Normal file
48
meta-oe/classes/panel-mipi-dbi.bbclass
Normal file
@ -0,0 +1,48 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# Copyright Pengutronix <yocto@pengutronix.de>
|
||||
#
|
||||
# Class to generate firmware files for use with the `panel-mipi-dbi` Linux
|
||||
# driver.
|
||||
#
|
||||
# The firmware source file contains a list of commands to send to the display
|
||||
# controller in order to initialize it:
|
||||
#
|
||||
# $ cat shineworld,lh133k.txt
|
||||
# command 0x11 # exit sleep mode
|
||||
# delay 120
|
||||
#
|
||||
# # Enable color inversion
|
||||
# command 0x21 # INVON
|
||||
# ...
|
||||
#
|
||||
# A recipe to compile such a command list into a firmware blob for use with
|
||||
# the `panel-mipi-dbi` driver looks something like this:
|
||||
#
|
||||
# $ cat panel-shineworld-lh133k.bb
|
||||
# inherit panel-mipi-dbi
|
||||
#
|
||||
# SRC_URI = "file://${PANEL_FIRMWARE}"
|
||||
#
|
||||
# PANEL_FIRMWARE = "shineworld,lh133k.txt"
|
||||
# ...
|
||||
|
||||
DEPENDS = "panel-mipi-dbi-native"
|
||||
|
||||
PANEL_FIRMWARE_BIN ?= "${@d.getVar('PANEL_FIRMWARE').removesuffix('.txt')}.bin"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile () {
|
||||
mipi-dbi-cmd \
|
||||
"${B}/${PANEL_FIRMWARE_BIN}" \
|
||||
"${UNPACKDIR}/${PANEL_FIRMWARE}"
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -m 0644 -D \
|
||||
"${B}/${PANEL_FIRMWARE_BIN}" \
|
||||
"${D}${nonarch_base_libdir}/firmware/${PANEL_FIRMWARE_BIN}"
|
||||
}
|
||||
|
||||
FILES:${PN} = "${nonarch_base_libdir}/firmware/"
|
||||
Loading…
x
Reference in New Issue
Block a user