[PATCH v5 0/5] firmware: raspberrypi: Add support for the tryboot mode

From: Gregor Herburger

Date: Fri Oct 02 2026 - 06:02:11 EST


This adds support for the tryboot mode on Raspberry Pis. As there is no
documentation other than the downstream implementation [0] the
implementation is based on this.

Tested on Raspberry Pi 4 and Raspberry Pi 5.

[0] https://github.com/raspberrypi/linux/commit/eb56da0c1925c07e8929ce4c9fe8aeafa7cb8c7b

---
Changes in v5:
- Added patch to add reboot mode to Raspberry Pi 1-4 devicetrees.
- Rebase onto v7.3-rc5
- Link to v4: https://patch.msgid.link/20260904-rpi-tryboot-v4-0-fdee8bc53ff7@xxxxxxxxxxxxx

Changes in v4:
- fix use-after-free error by moving devm_add_action_or_reset before devm_add_action_or_reset
- Rebase onto v7.3-rc1
- Link to v3: https://patch.msgid.link/20260707-rpi-tryboot-v3-0-fda82fe7ed76@xxxxxxxxxxxxx

Changes in v3:
- fix use-after-free error by using devm_add_action_or_reset
- ensure endianness of magic byte
- refactor reboot mode registration into separate function
- Link to v2: https://patch.msgid.link/20260630-rpi-tryboot-v2-0-f68d2dc6aa27@xxxxxxxxxxxxx

Changes in v2:
- Remove unnecessary reboot_mode_unregister().
- dt-binding: restrict to mode-{normal,tryboot} and only allow 32bit value.
- Link to v1: https://patch.msgid.link/20260626-rpi-tryboot-v1-0-490b1c4c4970@xxxxxxxxxxxxx

---
Gregor Herburger (5):
firmware: raspberrypi: reorder rpi_firmware_property_tag enum
dt-bindings: raspberrypi,bcm2835-firmware: Include 'reboot-mode.yaml'
firmware: raspberrypi: Add reboot mode support
arm64: dts: broadcom: bcm2712: Add reboot modes to firmware node
arm: dts: broadcom: bcm2835: Add reboot modes to firmware node

.../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 9 +++++
arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi | 2 ++
.../boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi | 2 ++
drivers/firmware/Kconfig | 2 ++
drivers/firmware/raspberrypi.c | 40 +++++++++++++++++++---
include/soc/bcm2835/raspberrypi-firmware.h | 22 ++++++------
6 files changed, 62 insertions(+), 15 deletions(-)
---
base-commit: 72d3fcf802c45d00b300f25b848a93c3a2bd7c7e
change-id: 20260623-rpi-tryboot-4292c92b0727

Best regards,
--
Gregor Herburger <gregor.herburger@xxxxxxxxxxxxx>