Following up on our report for Linux 5.8 this summarizes the progress on mainline support for the Librem 5 phone and its development kit during the 5.9 and 5.10 development cycles.
One of the most notable additions is a first devicetree description for the phone. This is important to have upstream since it describes how the hardware is wired up. Without that, it’s impossible to boot a mainline kernel. We added descriptions for the various phone revisions themselves (up to the Dogwood board) and also for the MIPI DSI controller of the imx8mq SoC. From this point on, we’ll incrementally add the missing pieces, for example from the display stack, just like we’ve done for the devkit back in Linux 5.2.
Speaking of the display stack: The phone includes a different LCD panel than the devkit and we had to add a driver for it:
Another milestone we reached (and had promised earlier) is that the devkits’ display now works with mainline Linux directly. All needed drivers are there and the hardware is described accurately in the devicetree upstream. It’s not only nice to be able to use a mainline kernel without (m)any patches, it’s important in order to keep the hardware supported for a long time. The hard parts had been done before and that’s how the final pieces for the display look like:
The wm8962 audio codec needed a small update to allow userspace to utilize hardware mono downmix for cases where mono output to a single speaker is desired only, like on a mobile phone:
During these rounds, we contributed 24 Reviewed-by: or Tested-by: tags to patches by other authors. Also, we would like to thank everybody who reviewed our patches and helped us, especially Sam in the DRM layer and Shawn and Krzysztof in the devicetree area. It’s supposed to be fun but we know it not always actually is, so that’s much appreciated.
Have a look at our Linux tree to see what is currently being worked on and tested (or help if you feel like joining the fun).