I am happy to announce that we have updated the RevPi kernel from 5.10 to 6.1. The new kernel will be made available for update via the usual package update mechanisms in the coming weeks. Please note that the 6.1 kernel will only be released for the Bullseye image.
What's new with Kernel 6.1?
The RevPi kernel has been updated from version 5.10 to 6.1 and is thus up to par again with the version used by RaspberryPi OS. It is based on version 6.1.46 of the stable kernel and version 6.1.46-rt13 of the real-time kernel patches. Beside general bug fixes and improvements in drivers and subsystems, the following has changed:
The piControl kernel module has been largely reworked: A significant portion of it has been moved to an in-kernel driver that registers a "serdev" device and handles all RS-485 communication on the PiBridge. This gets us one step closer to our long-term goal of upstreaming piControl into the mainline kernel.
The driver is compiled into the RevPi kernel, so as before only the piControl module needs to be loaded to communicate with the RevPi devices. When building your own kernel from our kernel source repository, the driver can optionally be built as an independent kernel module pibridge.ko. For this the configuration parameter CONFIG_SERIAL_DEV_MUX_PIBRIDGE must be changed from y to m in the kernel configuration. When using the pibridge driver as a standalone kernel module, it must be loaded before loading the piControl module.
One result of the reworked architecture is that latency of the communication with connected RevPi modules has decreased, so that now shorter cycle times are achieved when querying and setting device state.
The TPM interrupt is now supported, so the processor load is reduced when using the TPM. In addition, it is now ensured that the TPM chip is correctly taken out of reset during booting and thus correctly recognized when loading the driver.
The timestamping feature has been deactivated for the PCF2127. This works around a hardware erratum where a bit in one of the RTC interrupt registers was set by mistake during a warm restart. The erroneously set bit led to a malfunction of the watchdog on the Connect 4.
Further non RevPi specific changes can be found in the official kernel changelogs of the 6.1 series.
Interested users who want to test the 6.1 kernel in advance can download it here: