BayLibre contributions to Linux 6.2 and 6.3

BayLibre contributed to both kernel releases so far in 2023.  Linux 6.2 was released on February 19th, and Linux 6.3 was released on April 23rd.  LWN has great coverage of the 6.2 merge window (part 1, part 2) and 6.3 merge windows (part 1, part 2).

Here is a summary of our contributions per SoC family:

Texas Instruments SoCs

BayLibre recently developed the Android SDK for the new TI AM62x SoC family.  The Android Open Source Platform (AOSP) now encourages all drivers to be built as loadable kernel modules.  In order to support this, Kevin Hilman enabled the UDMA driver and PSIL lib to be built and loaded as modules. In addition, Guillaume La Roque and Nicolas Frayer enabled the MFD (multi-function device) driver for the TI PMIC (power management IC) and the Davinci GPIO driver to be built as modules.

Jerome Neanne contributed a MFD driver to support the TI TPS65219 series of Power Management ICs (PMIC). These include voltage regulators, GPIO lines and a power button that is often used in portable devices.

Markus Schneider-Pargmann contributed many improvements to the TI TCAN and M_CAN drivers reducing the SPI transfers necessary for operation.

MediaTek SoCs

BayLibre continued to improve support of MediaTek SoCs during this kernel release.  Bernhard Rosenkränzer (bero) added minimal support for the MT8365 SoC and MT8365-EVK board.

Alexandre Mergnat added MFD, PMIC keys, and regulator support for the MT6357 PMIC.  Alexandre also added MT8365 IOMMU support and improved the device tree binding documentation for multiple MediaTek parts.

Balsam Chihi added a driver for the Low Voltage Thermal Sensor (LVTS). Each thermal domain contains up to seven controllers, and each thermal controller handle up to four thermal sensors. Balsam also fixed a problem that prevented modes to be set or cleared for some pins the MT8385 SoC.

Fadwa Chiby added PWRAP support for the MT8365. The PMIC Wrapper serves as a bridge for the communication between CPU and PMIC.

Amlogic SoC

BayLibre continues to maintain and improve support for Amlogic SoCs in the kernel.  Amjad Ouled-Ameur fixed a problem with the SPI controller on Meson GXL and GXBB that occurred when a GPIO line was used as Chip Select (CS).

Carlo Caione fixed a problem that led to corrupt pixel data on Amlogic S905X-based boards when interfacing with ILI9486 LCD panels.  The ILI9486 driver had been forcing 8-bit transactions for SPI controllers that do support 16-bit transactions, so Carlo changed the driver to support the maximum transfer size allowed by the SPI controller.  Carlo also enabled autoloading of the driver for 3.5 inch Raspberry Pi displays (rpi-lcd-35 and piscreen).

In addition, Carlo improved the Meson DRM display driver to reduce the FIFO lines held when AFBC (Amlogic FBC decoder) is not used. This solved displays issues including a small vertical offset in the displayed image.

Jerome Brunet converted several Device Tree bindings to the preferred YAML format for audio peripherals in the Meson AXG: audio FIFOs, SPDIF input/output, sound card controls.

Rockchip SoCs

The Rockchip crypto driver was broken and do not pass self-tests. Corentin Labbe worked methodically improve the driver to the point where it was usable and passed self-tests.  Corentin tested this work on the rk3328-rock64, rk3288-miqi and rk3399-khadas-edge-v boards.

Corentin Labbe also added support for the RK3399 SoC which has two rk3288 compatible crypto devices.


Corentin Labbe added DDR support for SPD (serial presence detect) which a standardized way to automatically access information about a memory module.  This enabled the Samsung X05 laptop to successfully instantiate the SPD AT24 EEPROM on its memory modules.

In addition, Corentin updated the device tree for the the intel-ixp42x-welltech-epbx100 to add an Ethernet node for the first port.  Corentin also removed the ide-disk LED trigger as no users remained in the kernel.

Louis Rannou fixed a shift-out-of-bounds error in the SPI NOR flash driver that was detected by UBSAN (Undefined Behavior Sanitizer) runtime checker in the Linux kernel.

Summary of BayLibre contributions in Linux 6.2

  Lines added: 3,415
Lines removed: 1,037
Files changes: 129
Commits: 79
Signed-off-by: 19
Reviewed-by: 11
Tested-by: 3
Acked-by: 5

Summary of BayLibre contributions in Linux 6.3

  Lines added: 2,924
Lines removed: 446
Files changes: 72
Commits: 38
Signed-off-by: 9
Reviewed-by: 13
Tested-by: 1
Acked-by: 6