* feat(board/orangepi5pro): Update U-Boot to v2025.07 for eMMC support
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.
The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
* orangepi5pro: dts: Fix incorrect GRF node name
The GRF node was misspelled as 'sysgrf' instead
of the correct 'sys_grf'.
This commit corrects the phandle to the proper value.
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.
The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
* Add initial support for Orangepi 5 Pro
Tested and Working:
Wireless & Bluetooth
USB 2.0 + USB 3.1
HDMI 2.1
Gigabit Ethernet (PCIe to RJ45 - Need drivers YT6801)
NVMe PCIe 2.0
MicroSD
Audio Controller es8388 - Audio Out
FAN PWM
LEDs PWM
Not Working:
Onboard Microphone
HDMI 2.0 (DP-HDMI - rockchip,rk3588-dp No Driver)
Not Tested:
Camera 1,2
eMMC
* OPi 5 Pro: Ethernet Driver Installation on First Boot
Implemented a simple script to install the driver
during first boot using the installation headers
included in the image. Takes just a few seconds
on first boot.
Disclaimer: Attempted installation in a chroot env but failed.
* fix: Make first-boot Ethernet driver install more robust
The `eth-driver-firstboot.service` would sometimes fail on first boot with a "Resource temporarily unavailable" error. This happened when another process had a lock on `dpkg`.
To fix this, the installation script now waits for any `dpkg` locks to be released before attempting to install the driver package. It also includes a retry mechanism (3 attempts) in case of a transient failure.
This ensures the network driver is successfully installed, providing a better out-of-box experience.
This is tested on a tinkerboard 2s.
The u-boot dts for tb2 contains other fixes, and the major ones are:
- add missing basic gpio-fan node
- usb-c altmode fix, dts part
- aimed at nanopi-r2s and nanopineo3
- impacts:
- boards (re)using 'nanopi-r2s-rk3328_defconfig' (rk3328)
and:
- boards using U-Boot v2022.04 or
- boards using U-Boot v2022.07
- added explicit dependency on python3-setuptools as (at least) U-Boot
v2022.04 and v2022.07 fail building due to missing 'distutils' for
boards that use U-Boot v2022.04 or v2022.07
On v2025.01 and v2025.04 I get the following error
starting USB...
Bus usb@ff500000: dwc3_meson_gxl_get_phys: usb2 ports: 1
probe failed, error -114
No USB controllers found
So revert back to v2024.10 until sorted.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
- **CHANGE**: This version tries to boot SD first (thus SD -> USB -> NVMe -> eMMC); before it would boot USB before SD
- as Armbian u-boot is possibly deployed to SPI, try to make as compatible as possible; eg enable squashfs support
- enable `setexpr` and `fileenv`, used by HAOS
- HAOS already has support for booting VIM3 from NVMe: https://github.com/home-assistant/operating-system/pull/3784
- borrowed `fileenv` patch from v2025.01 to .04
- Similar treatment that `odroidm1` got in https://github.com/armbian/build/pull/7769
- note: I will be leaving my VIM3 behind in the other side of the globe, so this is my last chance to test
- Fix dram, mmc for h616.
- The prefix is missing if we use OF_UPSTREAM
- upstream: arm64: sun50i-h616: sync with sunxi-6.12 kernel
- upstream: arm64: Add sun50i-h618-bananapi-m4-berry.dts