Following up on our report for Linux 5.4, we continue to improve mainline kernel support for the Librem 5 phone. Here’s a summary of the progress we have made during the 5.5 and 5.6 development cycles.

Librem 5’s backlight LED driver

The driver that saw the most patches was the LED backlight driver. More specifically the lm3692x family of chips as used in the Librem 5 to drive the LCD panel backlight. It makes up for almost half of the changes submitted, besides bug fixes and preparations for other changes.

We extended the driver so it can configure over-voltage protection and the maximum LED current to not damage the LED strips of the panel:

We also made sure the LED strip is turned fully off at brightness level 0, which saves a bit of power but more importantly prevents the phone from glowing slightly in the dark:

Broadmobi baseband modem sound support

Broadmobi 818 support was added to the gtm601 driver, for audio calls:

Librem 5’s IMU sensor

Building on our previous work on driver support itself, we now hook up the IMU sensor to the devkit device tree hardware description. Things like accelerometer and magnetometer can now work out of the box:

Also, since the chip is oriented differently on the devkit’s mainboard than on the Birch and Chestnut Batches of the phone, we added support for the “mount matrix” API:

Support for the Librem 5’s fuel gauge

The battery fuel gauge on the Librem 5 is similar to the max17042, its driver was extended to support the phone’s max17055:

eLCDIF display controller

Our effort to make the display stack work out of the box continued by adding the eLDCDIF controller to the i.MX8MQ’s device tree. It can also pass on flags from the DSI controller (which acts as a DRM bridge):

Thermal throttling

We enabled thermal throttling for the GPU. This was a pure device tree change. The code was already there:

Misc fixes

We fixed the scaling of the Librem 5’s light and proximity sensors to get correct values:

Lastly, we submitted patches for the Librem 5’s charge controller driver to work as a module:

Code review

This round we contributed 5 Reviewed-by: or Tested-by: tags to patches by other authors.

—

For current ongoing work, check out the kernel tree. Some of this is already merged into linux-next and should make it into a future report.