Neil Armstrong maintains support for Amlogic SoCs in U-Boot. During this development cycle, Neil reviewed and merged patches that added support for the ADC found on the Amlogic AXG SoC family and enabled the ADC peripheral for the JetHome Jethub D1 home automation-controller. Neil also merged patches to support for the AO clock controller in the Amlogic G12A which provides the clock to various controllers within the Always-On part of the SoC.
Neil Armstrong added the necessary drivers and device tree nodes to support the TPS65219 PMIC in the E4 revision of the TI AM64 SK EVM. The TPS65219 PMIC features 3 Buck converters and 4 linear regulators, 2 GPOs, 1 GPIO, and 3 multi-function-pins.
Corentin Labbe fixed a regression with the TI AM335x HS (high security) EVM. The HS variant has about half of the available SRAM in the non-HS part. The regression occurred when an unrelated change caused the TI Ethernet driver to be unnecessarily probed which then exhausted the available memory resulting in a crash. U-Boot SPL only supports MMC/SD and UART boot methods on the TI AM335x HS, so the regression was fixed by disabling all network-based boot methods for the HS part.
Linux v5.18 was released on May 22, 2022. As usual, LWN covered the 5.18 merge window (part 1, part 2). Kernel Newbies has more details on all of the changes. Here’s a summary of our contributions per each SoC family and kernel subsystem:
Amlogic SoCs
Neil Armstrong reviewed and merged many patches from the developer community as the maintainer of Amlogic SoC support in the Linux kernel. In addition, BayLibre engineers contributed several fixes:
Neil fixed a frame clipping and rotation issue in the Amlogic 2D Graphic Acceleration Unit driver
Neil fixed system crashes that occured when using audio on Amlogic G12A/G12B and SM1 systems by reverting two commits from previous releases which were found to be the responsible
Amjad Ouled-Ameur fixed shared reset control usage in Meson USB2 PHY drivers
Julien Stephan made an improvement to the MediaTek DSI display driver to allow commands to be sent during video mode. Previously, commands could only be sent during panel initialization.
Mattijs Korpershoek added support for the MT6358 PMIC in the mtk-pmic-keys driver and enabled the power and home keys on MediaTek boards with a MT6358 PMIC.
Mattijs has become the maintainer of the device tree bindings for MT6779 keypad controller
Mattijs fixed the IES control pins in the pinctrl table on the MT8365 SoC
Alexandre Bailon cleaned up logging in the MediaTek MMC driver
Texas Instruments SoCs
We continue to provide upstream support for the several families TI SoCs such as AM335x, AM437x and AM57xx:
Drew Fustini discovered and fixed a timer conflict that caused IPU2 (an image processing unit) to fail to boot on the AM5728 SoC which is used in boards like the BeagleBoard X15.
The AM335x and AM437x SoC families use a small Cortex M3 co-processor to help with various low power tasks like deep sleep states that cannot be controlled from the main processor core. The wkup_m3_ipc driver handles communication between the main processor and power management firmware on the CM3. To prepare for upstreaming additional power saving functionality, Drew moved a necessary address translation function to the public remoteproc API header file, so that the wkup_m3_ipc driver can utilize it.
Network Attached Storage SoCs
The Cortina Systems Gemini SoCs which are notably used in Network Attached Storage (NAS) devices:
Corentin Labbe added the ability in the the Cortina Gemini Ethernet driver to set the MAC address from a device tree property
Corentin converted the device tree bindings for the Faraday Technology FTGPIO010 GPIO controller (which is used in the Gemini SoCs) to YAML which enables the device tree source files using to be validated against the schema. This helps to avoid common mistakes in device tree source files.
Corentin also converted the device tree bindings for the Gemini SoC ethernet controller to YAML.
Corentin converted the device tree bindings for the Gemini SoC-internal SATA bridge too.
Corentin was able to eliminate a Gemini SoC specific device bindings file by adding properties for the Gemini flash memory to the mtd-physmap device tree schema.
Neil Armstrong maintains support for the Oxford Semiconductor OX810SE SoC which is used in NAS devices like the Western Digital My Book World Edition:
Neil updated the OX810SE device tree to add the embedded Synopsys DWMAC Ethernet controller
Crypto Engine drivers
Corentin Labbe continued to improve crypto drivers in this release with a special focus on getting crypto self-tests to running smoothly:
Corentin Labbe fixed an issue in the the block request crypto engine framework to hit spinlock recursion bug while handling IPsec traffic. The issue is now resolved for the Amlogic GXL crypto accelerator, Allwinner sun8i-ce crypto engine and Allwinner sun8i-ss crypto offloader, and the Cortina SL3516 crypto offloader.
Corentin also fixed the Cavium ZIP driver to register its algorithm only if hardware is present. This resolved an issue on the Renesas Salvator-X, where the Cavium driver was failing crypto self-tests, even though there is nothing related to Cavium on the system.
Corentin prevented the ZynqMP SHA driver from probing on non-Xilinx hardware. This avoids unnecessary crypto self-test failures in the kernel log.
Corentin fixed a warning that occured when the Rockchip SoC crypto driver module was loaded.
DRM drivers
The Direct Rendering Manager (DRM) is vital part of how Linux displays graphics. Neil Armstrong maintains DRM drivers for Amlogic SoCs and DRM bridge chips including the ITE IT66121 HDMI bridge.
Neil Armstrong fixed an issue in the Synopsys DesignWare HDMI transmitter driver (dw-hdmi) when it is in the first place of the bridge chain. Previously, the dw-hdmi negotiation code only worked when the dw-hdmi bridge was in last position of the bridge chain or behind another bridge also supporting input and output format negotiation.
Neil added necessary callbacks to the Silicon Image sii902x HDMI driver to keep the bridge working.
Fabien Parent added a missing Kconfig option select to avoid invalid configuration for the ITE IT6505 HDMI bridge driver.
Media drivers
Coretine Labbe maintains the Zoran driver for video capture cards and continues to improve it:
Added debugfs support to display zoran debug and stats information.
Fixed count handling to avoid a warning after every capture that there is unused buffer space.
Reduced the size of the probe function by adding I2C init and exit functions.
Fixed error handling of the DMA size setting.
Miscellaneous Fixes
Guillaume Ranquet improved error handling in code used by device tree-based clocksource drivers.
Corentin Labbe cleaned code in the High Precision Event Timer (HPET) driver.
Corentin also cleaned up code in the MacIO ASIC driver.