Following up on our report for our contributions to Linux 5.3, here’s a list of Purism’s contributions to the Linux kernel for the 5.4 cycle. We contributed 20 patches including improving the devkit’s IMU and panel drivers, made more preparation for a mainline display stack and submitted the first fixes for bugs that cropped up during the Librem 5 Aspen board bringup:

Librem 5 Charge Controller

The Librem 5 and the devkit share very similar charge controllers and while the driver itself was there we added support for the particular chip revision:

Librem 5 IMU sensor

We’ve developed support for the ST LSM9DS1 IMU sensor device. We haven’t mentioned that before because it was merged late (for rc8) for Linux 5.3. During this development we fixed a bug that prevented various sensor devices from working correctly in userspace (hope that this will be useful to others too) and cleaned up some things:

Librem 5 Display Stack

The tps65132 is part of the regulators driving the LCD on the Librem 5 and there was a bug when using the driver as wired up in the phone:

While (as of this writing) the DSI host controller driver is not yet merged (we hope to merge it for 5.5 or 5.6) some of its surrounding components got into place. We wired up the iomuxc (that allows to toggle between the DCSS and LCDIF display controllers) in the imx8MQ’s device tree and fixed a surrounding naming issue:

Furthermore we added the MIPI D-PHY that was merged in the last iteration in the device tree:

There were lots of minor improvements that went into the Librem 5 Devkit’s panel driver like adding regulator support (for proper power on/off):

Drive-by patches

We also contributed two minor fixes that came about while debugging other issues:

Code review

This round we contributed 23 Reviewed-by: or Tested-by: tags to patches by other authors – which is more than ever before. One reason was code review within the iio subsystem to enable mainline support for the Devkit’s intertial measurement unit (IMU). Another driver was prompted by Lucas Stach’s submission of per process MMU support for the etnaviv DRM driver which is needed for proper texture support on the Librem 5’s GPU.

Due to our work on the Librem 5 board bringup there was a slightly lower number of upstream submissions so far for the 5.5 cycle so we might combine the 5.5 and 5.6 cycle updates, but who knows so stay tuned!