Fairphone 3 (fairphone-fp3)

How to enter flash mode
Press Power Button and Volume Down at the same time to enter fastboot mode

To unlock bootloader go to android and to settings. in developer option unlock oem commands. Then In fastboot mode type:

fastboot oem unlock

Mainline
Follow the usual Installation guide but stop before flashing.

Download  here. Enter fastboot mode and and flash the downloaded image to the dtbo partition:

fastboot flash dtbo dtbo.img

Install lk2nd and flash it to your device:

pmbootstrap chroot -r -- apk add lk2nd-msm8953 pmbootstrap flasher flash_lk2nd

Boot your device. Once you see the warning screen about the unlocked boot loader, press the power button twice and then immediately hold the volume down button. You should now see a flickering version of the fastboot screen. This is lk2nd's fastboot mode and you can now continue the normal flashing procedure.

Note that the boot process seems to hang without a USB cable connected.

Downstream
The normal Installation guide should work out of the box. However, if you flashed mainline before, the original  needs to be restored. A working one can be found from the /e/ images. Unzip it and flash  as above.

Mainlining
on the downstream kernel contains "MTB S3". The corresponding DTS file is.

The mainline kernel used is msm8953-mainline, branch "msm8953-5.16". Note that branches of later kernel versions (e.g., 5.18) do not seem to work.

Touchscreen
A PR for a driver can be found here.

Vibration motor
The Android driver is copied into mainline here. It has been updated to register itself as a FF input device so feedbackd should work. You can test it like this:

fftest /dev/input/by-path/platform-200f000.spmi-platform-200f000.spmi:pmi632_3@3:qcom_vibrator@5700-event

Audio path

 * CPU via I2S (quinary) to AW8898/TAS2557: speaker (and echo reference back)
 * CPU via SLIMbus to WCD9326: microphones, headphones, etc.

GPU
Works but causes some glitches in GTK4 apps (e.g., in Phosh). A workaround seems to be to add  to your environment.

Links

 * Initial merge request
 * Kernel source
 * WIP pmaports branch