Repository navigation
Releases: fiebrandt/edk2-rk3588
Release list
opi5max-v1.1
This release is based on upstream https://github.com/edk2-porting/edk2-rk3588/releases/tag/v1.1, adding additional device support:
Orange Pi 5 Max support for edk2-rk3588: working on-board 2.5GbE, HDMI, faster boot, plus experimental PCIe MSI (GIC ITS/IORT) for ACPI.
Images
| Image | Source | SHA-256 |
|---|---|---|
orangepi-5-max_UEFI_Release_opi5max-v1.1p1.img (recommended) |
branch orangepi-5-max (c7250aa4) |
bc262bb46309cc425900750972642c5b45ef1c296f802324098edb0c3b875be4 |
orangepi-5-max_UEFI_Release_opi5max-v1.1.img |
tag opi5max-v1.1 |
63819a037a6b933480282da3dea270bd121c2b14783d98eddc565124f5b0ff1a |
v1.1p1 is a rebuild of v1.1 with rkbin's default DDR init blob; nothing else changed. Both are based on upstream v1.1.
Flashing to SPI
The image is a complete SPI NOR image, flashed at offset 0. It is not an SD card image. Remove any boot media with its own firmware (for example a U-Boot SD card) from the SD slot, or it may be started instead of the SPI firmware.
Option A: from Linux running on the board
Requires the SPI flash to be visible as /dev/mtd0 (for example Armbian or Orange Pi's Linux) and mtd-utils:
sudo flash_erase /dev/mtd0 0 0
sudo flashcp -v orangepi-5-max_UEFI_Release_opi5max-v1.1p1.img /dev/mtd0Option B: MaskROM over USB with rkdeveloptool
-
Build the standard RK3588 MaskROM loader from rkbin. It only runs in RAM during flashing and isn't written to the board:
git clone https://github.com/rockchip-linux/rkbin cd rkbin ./tools/boot_merger RKBOOT/RK3588MINIALL.ini # creates rk3588_loader_v1.24.114.bin
-
Connect the board's upper-left USB-A port to your PC with a USB-A to USB-A cable.
-
Enter MaskROM mode, either way:
- hold the MaskROM button while powering on, or
- once this firmware is installed, press F4 ("Reset to MaskROM") at the boot screen.
lsusbshould then show2207:350b.
-
Flash:
sudo rkdeveloptool db rk3588_loader_v1.24.114.bin sudo rkdeveloptool cs 9 # select SPI NOR sudo rkdeveloptool wl 0 orangepi-5-max_UEFI_Release_opi5max-v1.1p1.img sudo rkdeveloptool rd # reset
To check the write, read the image back with rkdeveloptool rl 0 13628 readback.bin and compare its SHA-256 with the one above.
After flashing, the board boots into UEFI. The setup menu (Esc at the boot screen) has an ACPI / Device Tree section, which includes the experimental PCIe MSI Mode (default: Disabled).
Thermal note: CPU clocks are fixed in ACPI mode
In ACPI mode the firmware sets the CPU cluster clocks once at boot (default preset: Maximum, i.e. A76 ≈ 2.1–2.4 GHz, A55 ≈ 1.7–1.8 GHz) and the OS cannot scale them: the ACPI tables contain no CPU performance states and no thermal zones. The CPU therefore never throttles, whatever OS you run.
In addition, the RK3588's hardware over-temperature reset (TSADC) is not armed by the firmware. In ACPI mode it is only active if your OS has a driver that programs it.
Measured on an Orange Pi 5 Max with the small stock heatsink: ~60 °C at idle, 79 °C after 50 s of load on the four A76 cores, still rising.
Recommendations:
- Use a heatsink, ideally with a fan, for sustained loads.
- Monitor the CPU temperature under your OS.
- If cooling is limited, lower the clocks in firmware setup: Rockchip Platform Configuration → CPU Performance → CPUB01/CPUB23 Clock Preset (Minimum or Custom).
- In Device Tree or Both mode, Linux handles frequency scaling, throttling and the hardware shutdown itself.