Nokia 8110 4G (nokia-argon)

== Contributors ==
== Users owning this device ==
== Display ==
The display is connected via SPI and works with the tinydrm panel-mipi-dbi driver. It is usable even without GPU or MDP3 support. MDP3 seems to be unused on this device because it isn't connected to the display in any way. Backlight control also works.
in case of:
MESA-LOADER: failed to open panel-mipi-dbi: Error loading shared library /usr/lib/xorg/modules/dri/panel-mipi-dbi_dri.so: No such file or directory (search paths /usr/lib/xorg/modules/dri, suffix _dri)
see also: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26129
building 24th mesa helps providing panel-mipi-dbi driver, while tinydm still not loading yet:
tinydm logs: https://paste.mozilla.org/zo78ATpY
== Modem ==
== Battery ==
Uses the voltage mode BMS driver, see Wileyfox_Swift_(wileyfox-crackling)#Battery_and_charging for warnings and more information. 
== Flashing ==
EDL mode can be entered by pressing the Up and Down keys while plugging in or turning on the phone. Use the loader from https://edl.bananahackers.net and the edl.py fork at https://github.com/andybalholm/edl.
Partitions can also be written directly using dd on rooted devices.
example flashing boot partition with lk2nd image via EDL mode:
$ cd /path/to/fork-from-andybalholm/edl
$ python edl.py -loader /path/to/nokia-argon-edl-loader-from-bananahackers/8110.mbn -w boot /path/to/lk2nd-by-affenul/build-lk2nd-msm8909/lk2nd.img
== Installation ==
Install lk2nd from https://github.com/msm8916-mainline/lk2nd into the boot partition. After that, you can use pmbootstrap flasher commands to flash postmarketOS via the fastboot interface provided by lk2nd.
Commands could look like this:
$ git clone https://github.com/msm8916-mainline/lk2nd.git
$ cd lk2nd
$ make TOOLCHAIN_PREFIX=arm-none-eabi- lk2nd-msm8909
expected output:
...
compiling lk2nd/device/dts/msm8909/msm8905-qrd-skub.dts
compiling lk2nd/device/dts/msm8909/msm8909-mtp.dts
generating image with 2 appended DTBs: build-lk2nd-msm8909/lk.bin-dtb
generating Android boot image: build-lk2nd-msm8909/lk2nd.img
see also: https://github.com/msm8916-mainline/lk2nd#building
Because this lk2nd does not support fs-boot yet, pmbootstrap flasher flash_kernel is required even when booting from an SD card.
== Modifying Boot Logo ==
The boot logo resides on the splash partition and is encoded as raw rgb565le image data. the whole partition is made up of a 512B header, 153600B image data (16 bits per pixel x 240 x 320 / 8), and padded with zeros to the end of the partition.
Here is how you can have your very own custom boot logo, maybe the postmarketOS logo, or a big Tux ;)
# Back up your splash partition
# Extract your header dd if=splash_backup.img of=splash_header count=1 should do the trick, if you do not end up with a 512B file, try dd if=splash_backup.img of=splash_header count=512B instead
# Create a 240x320 PNG with whatever method suits you best
# Convert your file to raw rgb565le data ffmpeg -hide_banner -i splash.png -f rawvideo -vcodec rawvideo -pix_fmt rgb565le splash.raw
# Check if your splash looks right ffplay -f rawvideo -pixel_format rgb565le -video_size 240x320 -framerate 1 splash.raw
# Assemble your finished splash partition image cat splash_header splash.raw > splash.img
# Flash it to the splash partition
# Enjoy
== See also ==
* Open Source Releases - Nokia
* Nokia 8110's page on BananaHackers wiki