百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
E

edk2-rk3588

> 编程语言
开源

适用于 Rockchip RK3588 平台的 EDK2 UEFI 固件

1.0K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

适用于 Rockchip RK3588 平台的 EDK2 UEFI 固件

EDK2 UEFI firmware for Rockchip RK3588 platforms

This repository contains an UEFI firmware implementation based on EDK2 for various RK3588 boards.

It delivers a PC-like standardized boot experience, supporting multiple operating systems, such as Windows, Linux, BSD and VMware ESXi.

Supported platforms

Support levels are categorized into two tiers: Platinum and Bronze.

Platinum devices are considered to have the best overall support, based on factors such as:

  • Device Tree and peripherals compatible with mainline Linux. [Required]
  • Active interest from the vendor in supporting their hardware.
  • Hardware design choices:
    • If an Ethernet port is present, Realtek PCIe NIC or integrated GMAC. [Required]
    • SPI NOR flash for dedicated firmware storage. [Preferred]

Bronze devices may have limitations such as:

  • Missing one or more required features listed above.
  • Low interest from vendors and/or the community.
  • Lack of proper validation, potentially affecting functionality.

Note that this list is subject to change at any time as devices gain better support or fall behind.

Platinum

  • Radxa ROCK 5B
  • Radxa ROCK 5A
  • Radxa ROCK 5 ITX
  • Orange Pi 5
  • Orange Pi 5 Plus
  • Khadas Edge2
  • BuzzTV P6
  • FriendlyELEC NanoPC T6
  • FriendlyELEC NanoPi R6C
  • FriendlyELEC NanoPi R6S
  • FriendlyELEC NanoPC CM3588-NAS
  • ameriDroid Indiedroid Nova

Bronze

  • Radxa ROCK 5B+
  • Fydetab Duo
  • Firefly AIO-3588Q
  • Firefly ITX-3588J
  • Firefly ROC-RK3588S-PC / StationPC Station M3
  • Mekotronics R58X
  • Mekotronics R58 Mini
  • Mixtile Blade 3
  • FriendlyELEC NanoPi M6
  • Hinlink H88K

Supported OSes

In ACPI mode

OS Version Tested/supported hardware Notes
Windows 11 Status
NetBSD 10 Display, UART, USB, PCIe (incl. NVME), SATA, eMMC, GMAC Ethernet
VMware ESXi Arm Fling >= 1.12 Display, USB * PCIe devices will hang at boot, need to disable in settings or leave the ports empty.
  • GMAC Ethernet gets detected but does not work. | | Linux | tested Ubuntu 22.04, kernel 5.15.0-75-generic | Display, UART, USB, PCIe (incl. NVME & Ethernet), SATA | For full hardware functionality, use a kernel with RK3588 support and switch to Device Tree mode. |

[!NOTE] ACPI support is only being developed and tested against Windows. There are no plans to further improve functionality for other OSes. Consider using Device Tree instead (where applicable, for instance Linux).

In Device Tree mode

Vendor compatibility mode

OS Version Tested/supported hardware Notes
Rockchip SDK Linux Kernel 5.10/6.1
Tested with:
  • Armbian rk3588-live-iso | Platform-dependent, most peripherals work. | If using a different kernel, see Device Tree configuration. |

Mainline compatibility mode

OS Version Tested/supported hardware Notes
Generic upstream Linux Kernel 6.10 or newer.
Tested with:
  • Ubuntu 24.10
  • Fedora Workstation 41
  • Fedora Workstation Rawhide | Platform and kernel version dependent, see Collabora's RK3588 upstream status. | * Kernels older than 6.15 lack display output. To work around this, see: Device Tree configuration. |

[!NOTE] Mainline support is only available on Platinum platforms.

Supported peripherals in UEFI

[!NOTE] Applicable to all platforms unless otherwise noted.

Only devices relevant to the firmware itself (not OS) are listed below.

Device Status Notes
USB 3 / 2.0 / 1.1 Working Host-mode only, USB 3 devices connected to a Type-C port only work in one orientation.
PCIe 3.0 / 2.1 Working
SATA Working
SD/eMMC Working
HDMI output Working
DisplayPort output (USB-C) Partial No hot-plug detect & EDID. Only works in one orientation of the Type-C port. Some displays may not work regardless.
eDP output Partial Disabled, requires manual configuration depending on the platform and panel.
DSI output Working Only enabled on Fydetab Duo. Requires manual configuration depending on the platform and panel.
GMAC Ethernet Working
Realtek PCIe Ethernet Working Some platforms don't have MAC addresses set, networking may not work in that case.
Low-speed (GPIO/UART/I2C/SPI/PWM) Working UART2 console available at 1500000 baud rate
SPI NOR Flash Working
HYM8563 real-time clock Working
RNG Working
Cooling fan Working Supported on most platforms. Fan connector where present, otherwise available at the GPIO header for 3-pin PWM fans (do not connect 2-pin fans there!):
  • Orange Pi 5: GPIO4_B2
  • Indiedroid Nova: GPIO4_B4 | | Status LED | Working | | | Voltage regulators (RK806/RK860) | Working | | | FUSB302 USB Type-C Controller | Not working | Required for PD negotiation and connector orientation switching |

Getting started

1. Requirements

  • One of the supported devices.

  • Storage for the firmware: SPI NOR flash (included with some devices), SD card or eMMC.

  • Quality power supply that can provide at least 15 W. Depending on the peripherals you use, more may be needed.

    Note: on Mixtile Blade 3, a fixed voltage higher than 5V must be supplied. The board cannot power any external peripherals if the input voltage is just 5V. USB-PD negotiation is not supported by firmware.

  • HDMI (preferred) or DisplayPort (USB-C) screen.

  • Optionally, if display is not available or for debugging purposes, an UART adapter capable of 1500000 baud rate (e.g. USB CH340, CP2104).

2. Download the firmware image

The latest version can be obtained from .

If your platform is not yet supported, using an image meant for another device is NOT recommended. Although they are generally similar, voltage setup can happen to be different and you may risk damaging the board. External peripherals are unlikely to work either.

3. Flash the firmware

UEFI can be flashed to either an SPI NOR flash, SD card or eMMC module:

  • For removable SD or eMMC (easiest), you can simply use balenaEtcher, RPi Imager or dd.

  • For SPI NOR or soldered eMMC, instructions can be found at: .

    In short, you can flash the image from Linux booted on the device or by using RKDevTool on another computer. The latter requires entering Maskrom mode on the device. The way to do this slightly varies across platforms, refer to your vendor documentation.

Warning: these operations will erase data on the storage device. Make a backup first!

If you wish to have both UEFI and an OS on the same SD or eMMC device: flash UEFI first, then create any additional partitions without touching the first, reserved one. Steps for updating the firmware in this case can be found here.

Note: Using SPI NOR (if present) is recommeded, as it leaves the other storage options free for other purposes. Additionally, SD/eMMC will limit the firmware's ability to access its own storage (variable store) when an OS is running. This feature is mostly used by OS installers to create the boot menu options, it is not mandatory.

4. Connect peripherals and power on the device

If the flashing process has been done correctly, you should see the status LED blinking (if present), and shortly after, the platform's boot logo with a progress bar at the bottom on the connected display.

At this stage, you can press Esc to enter the firmware setup, F1 to launch the UEFI Shell, or, provided you also have an UEFI bootloader/app on a storage device, you can let the system automatically run that, which is the default behavior if no action is taken.

Check the Supported OSes and Supported peripherals in UEFI sections to see what's currently possible with this firmware.

Also check the configuration options described below, some of which may need to be changed depending on the OS used.

If you experience any issues, please see the Troubleshooting section.

Configuration settings

The UEFI provides a few configuration options, like CPU frequency, PCIe/SATA selection for an M.2 port, fan control, etc. These can be viewed and changed using the UI configuration menu (under Device Manager->Rockchip Platform Configuration).

Configuration through the user interface is fairly straightforward and help/navigation information is provided around the menus.

Tips

Boot time optimization

  • If there are unused M.2/PCIe slots, you can disable them to skip initialization: Device Manager->Rockchip Platform Configuration->PCIe/SATA/USB Combo PIPE PHY and set the relevant PHYs to Unconnected. Do the same for PCI Express 3.0 by setting Support State to Disabled.

  • Auto boot time-out can be decreased from Boot Maintenance Manager.

  • If network boot is not used, it can be disabled: Device Manager->Network Stack Configuration then uncheck Network Stack.

  • If you do not need the ability to hot-plug displays or use DisplayPort while in the firmware: Device Manager->Rockchip Platform Configuration->Display and set Force Output to Disabled. This will skip display initialization when none is connected.

  • By default, the firmware connects all boot devices regardless of whether they are needed for the current boot. This is done to address potential compatibility issues and generally takes a negligible amount of time, thus it is recommended to not change it. However, it is still possible to do so: Boot Maintenance Manager->Boot Discovery Policy.

Linux boot

  • If you're getting a Synchronous Exception when booting certain distros, go to Device Manager->EFI Memory Attribute Protocol and uncheck Enable Protocol.

Device Tree configuration

For rich Linux support, it is recommended to enable Device Tree mode. You can do so by going to Device Manager->Rockchip Platform Configuration->ACPI / Device Tree and setting Config Table Mode to Device Tree.

The firmware provides two compatibility modes

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Cedk2rk3588rockchipuefi

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言