OrangePi 3 LTS: Update U-Boot to v2026.01 and Linux DTS "and other fixups"#9323
OrangePi 3 LTS: Update U-Boot to v2026.01 and Linux DTS "and other fixups"#9323pyavitz merged 7 commits intoarmbian:mainfrom
Conversation
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Requires hciattach_opi_arm64_upstream blob Drops dependency on Add sunxi-addr driver - Used to fix uwe5622 bluetooth MAC addresses patch Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
Remove regulator-enable-ramp-delay = <100000>; Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
📝 WalkthroughWalkthroughAdds OrangePi 3 LTS support: new board config and U-Boot hooks, wireless setup scripts and systemd service enablement, new/updated device trees for 6.12 and 6.18 (with KASLR/LED changes), kernel/u-boot patches, and removal of an earlier 6.12 DT patch entry. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@config/boards/orangepi3-lts.csc`:
- Around line 65-70: The hook
post_family_tweaks__enable_uwe5622_wireless_services currently runs
unconditionally and will fail if the unit files aren't present; modify it to
test for each unit file in the chroot before calling chroot_sdcard systemctl
--no-reload enable, e.g. check for the service unit path(s) like
/lib/systemd/system/sprd-bluetooth.service or
/etc/systemd/system/aw859a-wifi.service inside the chroot, and only run
chroot_sdcard systemctl --no-reload enable <unit> when the file exists; if a
unit is missing, call display_alert "$BOARD" "Skipping <unit> enable: unit not
installed" "warning" so enabling is guarded and non-fatal.
In `@packages/bsp/sunxi/sprd-bluetooth`:
- Around line 6-14: The MAC device detection using the sed chain for MACDEV is
brittle (fails for /dev/mapper, overlays); replace it by querying the parent
block device for the root mount via lsblk (e.g., use lsblk -no pkname or -no
NAME for the device mounted at /) to reliably set MACDEV, then attempt to read
/sys/class/block/${MACDEV}/device/cid into HASHDEV and format BTADDR as before;
if the CID file is missing or empty, generate a random locally‑administered
Bluetooth address (set the first octet to 02) and assign it to BTADDR as a
fallback so Bluetooth bring‑up does not abort.
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@patch/kernel/archive/sunxi-6.12/dt/sun50i-h6-orangepi-3-lts.dts`:
- Around line 91-98: The device tree uses CLK_OSC32K_FANOUT in the sdio_pwrseq
node but the header defining that symbol is not included; add the missing
include for dt-bindings/clock/sun6i-rtc.h near the top of the DTS so
CLK_OSC32K_FANOUT resolves when compiling the sdio_pwrseq node.
|
✅ This PR has been reviewed and approved — all set for merge! |
|
✅ This PR has been reviewed and approved — all set for merge! |
|
The multi-core issue persists even with U-Boot v2026.01: |
Thanx for the feedback. Is this an IMG you built ur self? I ask because I've run several tests. When using https://github.com/armbian/os to build an IMG I get the multi-core issue, when I force a clean build using armbian/build locally the core issue isn't present. I'm at a bit of a loss and extra eyes on the issue would be very helpful. |
|
I removed crust firmware support. It booted as it should in my case. |
|
@pyavitz I've tested the image and the 4 processors are now showing online. |
Thanx for getting back. So this is the dilemma. I run tests, I make slight changes to the boot process; extlinux instead of boot.scr, crust vs no crust, defconfig adjustments, etc... and all of sudden it boots properly. Hence the reason for some of the changes I've made recently, but I feel like something is still missing. Almost seems like some kind of artifact is infecting the build? Because once I do the PR and then try again the CPU bug comes back. What I'm saying is this; I can remove crust from the build in Armbian, but I'm skeptical of that actually fixing anything. |
This PR is meant to fix two issues:
This also introduces a different way of bringing up bluetooth and drops a dependency on the need for several patches.
Namely
Add sunxi-addr driver - Used to fix uwe5622 bluetooth MAC addresses patchand related patches. As these patches are still required by other units, I left them in place.https://paste.armbian.com/fimarilocu.yaml
Bug report: https://forum.armbian.com/topic/57147-bug-ethernet-rarely-connecting-successfully-in-orange-pi-3-lts/#comment-232222
Summary by CodeRabbit
New Features
Chores
Revert
✏️ Tip: You can customize this high-level summary in your review settings.