We ran into the same underlying arm,pl011-axi compatibility issue on a Revolution Pi Connect SE / Raspberry Pi CM4S and completed a deeper root-cause investigation here:
The official Mender documentation explains how Mender works. This is a board-specific complement to the official documentation.
Topic title should be in the format: <board type> + <OS>
Suggested title: Revolution Pi Connect SE + Debian Bookworm 64 bit
Device description
Revolution Pi (Kunbus) is an industrial DIN-rail platform based on the Raspberry Pi Compute Module. The RevPi Connect SE uses a Raspberry Pi Compute Module 4S (brcm,bcm2711, revision type 0x15).
Verified on a working Bullseye…
We confirmed that U-Boot 2024.04 does not match arm,pl011-axi when it is the only PL011 compatible string. Patching only UART0 in the failing DTB to add the legacy fallbacks makes the image boot again.
I have opened a PR against Mender’s mender-rpi-2024.04 branch to address this directly in the Mender-maintained U-Boot fork:
mender-rpi-2024.04 ← boeboe:mender-rpi-2024.04
opened 06:00PM - 01 Sep 26 UTC
This PR adds two Raspberry Pi Compute Module 4S compatibility fixes to the `mend… er-rpi-2024.04` branch.
### 1. Add Compute Module 4S board detection
Raspberry Pi revision type `0x15` currently falls through to `Unknown model` and uses `bcm283x-rpi-other.dtb`.
This patch maps revision type `0x15` to:
`bcm2711-rpi-cm4s.dtb`
and uses the same onboard Ethernet handling as Compute Module 4.
### 2. Add `arm,pl011-axi` PL011 compatibility
Newer Raspberry Pi device trees may describe the PL011 UART as:
`compatible = "arm,pl011-axi";`
U-Boot 2024.04 currently only matches the legacy `arm,pl011` compatible string. As a result, the UART does not bind when the device tree does not provide the legacy fallback.
This behavior has also been observed in another Raspberry Pi 4 / Mender integration case:
https://hub.mender.io/t/raspberry-pi-4-stuck-on-boot/8175/5
We reproduced and investigated the issue in detail on a Revolution Pi Connect SE / Raspberry Pi Compute Module 4S using the Bookworm `bcm2711-rpi-cm4s.dtb`:
https://hub.mender.io/t/revolution-pi-connect-se-debian-bookworm-64-bit/8354
The investigation and support discussion are also tracked in Northern.tech support case:
https://support.northern.tech/hc/en-us/requests/12515
The regression was isolated by bisecting Raspberry Pi firmware DTB changes, and confirmed by modifying only UART0 in the failing DTB from:
`compatible = "arm,pl011-axi";`
to:
`compatible = "arm,pl011-axi", "arm,pl011", "arm,primecell";`
With that change, the same image boots successfully through the Mender/U-Boot A/B boot flow.
Adding `arm,pl011-axi` to the generic PL011 driver match table allows U-Boot to work directly with these device trees without depending on the legacy fallback string.
Raspberry Pi later restored the legacy PL011 fallback compatibles in newer device trees, so current Trixie-based Revolution Pi images are no longer affected. This U-Boot change nevertheless makes the Mender Raspberry Pi bootloader more robust against device trees using `arm,pl011-axi` directly.
These changes are submitted here specifically for the Mender-maintained `mender-rpi-2024.04` integration branch. Any corresponding upstream U-Boot changes can be submitted separately through the U-Boot mailing-list process.
The long-term fix can also be considered upstream in U-Boot, but merging the small compatibility fix into Mender’s current 2024.04-based branch would immediately harden the existing Raspberry Pi integration for Mender users.
If others here are affected by the same issue, it would be helpful to reference the PR and add your test results/use case there as well.