nokia-weeknd: new device (Nokia 2780 Flip) (MR 4257)

[ci:skip-vercheck]
[ci:skip-build]: Already built successfully in CI
This commit is contained in:
Affe Null 2023-06-25 20:17:01 +02:00 committed by Stefan Hansson
parent 05f591716e
commit 0225230ce5
No known key found for this signature in database
GPG key ID: 990600ED1DB95E02
6 changed files with 169 additions and 0 deletions

View file

@ -0,0 +1,2 @@
/lib/firmware/nokia,weeknd-st7789vx2-yihua-panel.bin
/lib/firmware/nokia,weeknd-gc9104-v2-panel.bin

View file

@ -0,0 +1,71 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-nokia-weeknd
pkgdesc="Nokia 2780 Flip"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="GPL-2.0-only"
arch="aarch64"
options="!check !archcheck"
depends="
linux-postmarketos-qcom-msm8917
mkbootimg
postmarketos-base
soc-qcom-msm8909
"
subpackages="
$pkgname-modem
$pkgname-nonfree-firmware:nonfree_firmware
"
makedepends="devicepkg-dev mipi-dbi-cmd"
_panel="nokia,weeknd-st7789vx2-yihua-panel"
_panel2="nokia,weeknd-gc9104-v2-panel"
source="
$_panel.txt
$_panel2.txt
00-nokia-weeknd-display.files
deviceinfo
"
build() {
devicepkg_build $startdir $pkgname
mkdir -p "$builddir"
mipi-dbi-cmd "$builddir"/"$_panel".bin \
"$srcdir"/"$_panel".txt
mipi-dbi-cmd "$builddir"/"$_panel2".bin \
"$srcdir"/"$_panel2".txt
}
package() {
devicepkg_package $startdir $pkgname
# Package display init sequence
install -Dm644 "$builddir"/"$_panel".bin -t \
"$pkgdir"/lib/firmware/
install -Dm644 "$builddir"/"$_panel2".bin -t \
"$pkgdir"/lib/firmware/
install -Dm644 "$srcdir"/00-nokia-weeknd-display.files -t \
"$pkgdir"/usr/share/mkinitfs/files/
}
nonfree_firmware() {
pkgdesc="GPU/WiFi/BT/Modem/Video firmware"
depends="
firmware-qcom-adreno-a300
msm-firmware-loader
firmware-nokia-weeknd-wcnss-nv
"
mkdir "$subpkgdir"
}
modem() {
depends="qrtr rmtfs rmtfs-openrc msm-modem-uim-selection"
install_if="$pkgname=$pkgver-r$pkgrel $pkgname-nonfree-firmware"
mkdir "$subpkgdir"
}
sha512sums="
ef1456f2fb7da41af4f98f0004f6f69ae0a051b641d3a9a3d6057708d1aca682437c04c58954d3982be471c8973cff7a12ebe359d2f003071110ce5f5dc4b601 nokia,weeknd-st7789vx2-yihua-panel.txt
bdcff520b74e6247d9737554fcf9b4811d608495feba336345655e8fc41acf502b53bb14d380401c6e4ad1b143417e85d59ad2510f79b7888b4b2f8bd677a1fb nokia,weeknd-gc9104-v2-panel.txt
27c61aa53ce688fd8fbec632656842a94647a5438c0bf9769b5cd003742eacfe0f4d1bd30f5a5f255dd2cef863312f10a62b2b959192bf2ac4e575f812b94ec4 00-nokia-weeknd-display.files
f970defefe76eddfa3fbc1911e34f403ad726392aaa4681e6028b9b4e6878d526c09cbb9ca353234865f44d3d350f2cc407f5cb5c849d9f471fd4fe5f7f98a62 deviceinfo
"

View file

@ -0,0 +1,37 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="Nokia 2780 Flip"
deviceinfo_manufacturer="Nokia"
deviceinfo_codename="nokia-weeknd"
deviceinfo_year="2022"
deviceinfo_dtb="qcom/qm215-nokia-weeknd"
deviceinfo_append_dtb="true"
deviceinfo_modules_initfs="panel-mipi-dbi pm8916-bms-vm pm8916-lbc"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_gpu_accelerated="true"
deviceinfo_chassis="handset"
deviceinfo_keyboard="true"
deviceinfo_external_storage="true"
deviceinfo_screen_width="240"
deviceinfo_screen_height="320"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="earlycon console=ttyMSM0,115200"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_pagesize="2048"
deviceinfo_header_version="0"
deviceinfo_flash_offset_base="0x80000000"
deviceinfo_flash_offset_kernel="0x00080000"
deviceinfo_flash_offset_ramdisk="0x03600000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x03400000"
deviceinfo_flash_sparse="true"

View file

@ -0,0 +1,9 @@
# very simple init sequence using standard commands only
# downstream uses something similar, but without the "invert" command for some reason
command 0x36 0xd8 # rotate
command 0x3a 0x05 # 16-bit pixel format
command 0x35 0x00
command 0x21 # invert
command 0x11 # exit sleep mode
delay 120
command 0x29 # display on

View file

@ -0,0 +1,23 @@
# Based on the downstream device tree, which is assumed to be:
# Copyright (c) 2017, 2020, The Linux Foundation. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 and
# only version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
command 0x11 # exit sleep mode
delay 120
command 0x36 0x00
command 0x3a 0x05
command 0x35 0x00
command 0xd0 0xa7 0xa1
command 0xd0 0xa4 0xa1
command 0x13
command 0x38
command 0x20
command 0x29 # display on

View file

@ -0,0 +1,27 @@
pkgname=firmware-nokia-weeknd
pkgver=00.2238.20.13
pkgrel=0
pkgdesc="Firmware for Nokia 2780 Flip"
url="https://storage.abscue.de/private/zImage/$pkgname-$pkgver"
arch="aarch64"
license="custom"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
subpackages="$pkgname-wcnss-nv:wcnss_nv_package"
source="$url/$pkgname.tar.gz"
_fwsrc="$srcdir/$pkgname"
_fwdir="/lib/firmware/postmarketos"
package() {
mkdir -p "$pkgdir"
}
wcnss_nv_package() {
pkgdesc="Nokia 2780 Flip WiFi/BT firmware configuration"
install -Dm644 "$_fwsrc"/wlan/prima/WCNSS_qcom_wlan_nv.bin -t \
"$subpkgdir/$_fwdir"/wlan/prima/
}
sha512sums="
62b24bb9dcb95ded8126e39eea364b88f0300a99b1439eeeb4ef6bb53bae58b909517586aaa2af0c97cdaa1797cca531a7d23365828c9cf4057491b159046c05 firmware-nokia-weeknd.tar.gz
"