orangepizero3w: Add community support for Orange Pi Zero 3W (Allwinner A733) - #10103
Conversation
sun60iw2: factor shared A733 board config into a common include The 4 Pro and Zero 3W are the same SoC and share most of their board config. Move the common vars, a single fetch_custom_uboot__orangepi hook, and the SD-card boot writer into config/sources/vendors/xunlong/sun60iw2-a733-common.inc. Each board file sets XUNLONG_A733_DRAM_BLOB (its boot0_sdcard training blob), BOOT_FDT_FILE, and any board-specific writer (the 4 Pro's SPI-NOR). The blob name feeds UBOOT_HASH_EXTRA so the u-boot artifact repackages when it changes. Checkin boot blobs
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughAdds a shared sun60iw2 boot writer, updates board configs to use the new sys_config input and writer behavior, introduces an Orange Pi Zero 3W board definition, and patches its device-tree model and compatible strings. ChangesSun60iw2 shared config and board definitions
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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
🧹 Nitpick comments (1)
config/sources/vendors/xunlong/sun60iw2-a733-common.inc (1)
10-14: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winUndocumented pre-condition on
SUNXI_BOOT0_SDCARD_FEX/SUNXI_BOOT0_SPINOR_FEX.
UBOOT_HASH_EXTRAdepends onSUNXI_BOOT0_SDCARD_FEXandSUNXI_BOOT0_SPINOR_FEX, but these are only defined by the board that sources this include (correctly ordered today inorangepi4pro.csc). Nothing here enforces or documents that requirement, so a future board sourcing this include out of order would silently hash empty/partial input instead of failing.♻️ Proposed defensive guard
# Invalidate U-Boot cache if any of the blobs change +: "${SUNXI_BOOT0_SDCARD_FEX:?SUNXI_BOOT0_SDCARD_FEX must be set before sourcing sun60iw2-a733-common.inc}" +: "${SUNXI_BOOT0_SPINOR_FEX:?SUNXI_BOOT0_SPINOR_FEX must be set before sourcing sun60iw2-a733-common.inc}" UBOOT_HASH_EXTRA="$(cat "${SUNXI_BOOT0_SDCARD_FEX}" "${SUNXI_BOOT0_SPINOR_FEX}" "${SUNXI_SYS_CONFIG_FEX}" | sha256sum | cut -d' ' -f1)"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@config/sources/vendors/xunlong/sun60iw2-a733-common.inc` around lines 10 - 14, The UBOOT_HASH_EXTRA calculation in the sun60iw2 common include assumes SUNXI_BOOT0_SDCARD_FEX and SUNXI_BOOT0_SPINOR_FEX are already defined, but nothing in this include enforces that precondition. Add a defensive guard near the UBOOT_HASH_EXTRA setup in the shared include to verify those variables are set before hashing, and fail fast with a clear error if they are missing so boards like orangepi4pro.csc cannot source this file in the wrong order.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@config/boards/orangepi4pro.csc`:
- Around line 1-9: The board-config validator only reads top-level KEY=VALUE
assignments in the .csc, so BOARD_VENDOR is currently invisible because it lives
only in the sourced common include. Add BOARD_VENDOR back as a direct top-level
assignment in orangepi4pro.csc, and do the same for BOARDFAMILY if it is also
only inherited from sun60iw2-a733-common.inc, while keeping the source include
unchanged.
In `@config/boards/orangepizero3w.csc`:
- Line 9: The board metadata imported through the vendor include is not visible
to board validation, so keep the validator-required fields local in
orangepizero3w.csc instead of relying on the shared sun60iw2-a733-common.inc
include. Update the board file so validation can see BOARDFAMILY, KERNEL_TARGET,
and any other required metadata directly, while preserving the shared include
only for non-validation-dependent settings. Refer to the board config source
statement in the board file and the validator-sensitive fields that currently
come from the common include.
---
Nitpick comments:
In `@config/sources/vendors/xunlong/sun60iw2-a733-common.inc`:
- Around line 10-14: The UBOOT_HASH_EXTRA calculation in the sun60iw2 common
include assumes SUNXI_BOOT0_SDCARD_FEX and SUNXI_BOOT0_SPINOR_FEX are already
defined, but nothing in this include enforces that precondition. Add a defensive
guard near the UBOOT_HASH_EXTRA setup in the shared include to verify those
variables are set before hashing, and fail fast with a clear error if they are
missing so boards like orangepi4pro.csc cannot source this file in the wrong
order.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: f6a8e045-c35b-4ad1-a695-df3c803cee98
📒 Files selected for processing (6)
config/boards/orangepi4pro.cscconfig/boards/orangepizero3w.cscconfig/sources/vendors/xunlong/sun60iw2-a733-common.incpackages/blobs/sunxi/sun60iw2/boot0_sdcard_orangepizero3w.fexpackages/blobs/sunxi/sun60iw2/sys_config_orangepi.fexpatch/kernel/archive/sun60iw2-opi-vendor/0006-orangepizero3w-set-model-and-compatible.patch
|
While I appreciate the the effort of deduplication of code, I don't believe this is the way to go. BOARD_VENDOR="xunlong"
BOARDFAMILY="sun60iw2"
BOARD_MAINTAINER="shkolnik"
INTRODUCED="2025"
KERNEL_TARGET="vendor"
KERNEL_TEST_TARGET="vendor"
IMAGE_PARTITION_TABLE="msdos"All this shall stay in each individual board config. Everything else shared belongs into family config, meaning |
…ent to justify it
|
@EvilOlaf makes sense! There isn't much content to justify a shared include anymore. I also refactored write_platform_uboot into the family file. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@config/boards/orangepi4pro.csc`:
- Around line 19-20: Update the stale board comment in orangepi4pro.csc so it no
longer claims there is a “common include” or that blob fetch is shared there;
the shared A733 include was removed. Keep the note about the 4 Pro having 16 MB
SPI-NOR and bootloader-to-MTD support, but revise the wording to reflect that SD
writer logic may be shared elsewhere while DRAM blob fetching is handled
per-board via fetch_custom_uboot, not by a default include.
In `@config/sources/families/sun60iw2.conf`:
- Around line 141-146: Add explicit failure handling in write_uboot_platform so
it fails fast instead of silently continuing on bad inputs or dd errors. Check
that boot0_sdcard.fex and boot_package.fex exist before writing, verify each dd
invocation succeeds, and call exit_with_error with a clear message if any step
fails. Keep the changes localized to write_uboot_platform and align its error
handling style with uboot_custom_postprocess.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: ffec18d8-7842-4317-9c5d-51c660ed9da1
📒 Files selected for processing (4)
config/boards/cubie-a7z.cscconfig/boards/orangepi4pro.cscconfig/boards/orangepizero3w.cscconfig/sources/families/sun60iw2.conf
…tants in write_uboot_platform because it has to be runnable on device not only at build time
|
✅ This PR has been reviewed and approved — all set for merge! |
* main: (435 commits) orangepizero3w: Add community support for Orange Pi Zero 3W (Allwinner A733) (armbian#10103) firstlogin: use useradd/groupadd instead of the adduser suite Fix remoteproc DMA-BUF mapping helpers BeagleY-AI Add Patches for ISP + IMX219 & VPAC build(deps): bump setuptools from 82.0.1 to 83.0.0 fix: stop setting LC_ALL in armbian-lang.sh (fixes armbian#10131) sunxi, sunxi64, sun60iw2: enable MGLRU in kernel config Remove swapfile creation. board: visionfive2: optimize config for modern U-Boot and single-partition booting (armbian#10097) kernel-rust: also ship rust/helpers/*.bc for CONFIG_RUST_INLINE_HELPERS kernel-rust: ship prebuilt Rust crate artifacts in linux-headers u-boot/rockchip-rk3588: raise CPU clocks through SCMI on mainline u-boot/rk35xx: drop legacy radxa youyeetoo-yy3588 defconfig and dts boards/youyeetoo-yy3588: switch to mainline U-Boot v2026.04 u-boot/rockchip-rk3588: add Youyeetoo YY3588 mainline v2026.04 support beaglebadge: drop vendor-edge u-boot target (not in ti-u-boot-2026.01) clk: sunxi-ng: ccu_common: Replace ktime-dependent lock wait loop with udelay (armbian#10119) sunxi: pin mmc and i2c controllers to active to break circular PM deadlock (armbian#10120) wifi: rtw88: sdio: Fix unhandled RX request interrupt storm rg-ds: make OTG-C port dual-role so USB hubs work fake-ubuntu-advantage-tools: provide ubuntu-pro-client MusePI Pro: Enable eeprom@50 node SpacemiT K1: Update EDGE to linux-7.2.y build(deps): bump github/codeql-action/upload-sarif Fix TI K3 Suite Matching for Ubuntu Hosts and Enable GPU Acceleration for BeagleBoards Add TI GPU Packages for BeagleBoards Enable USB and PCIe on BeagleY-AI vendor kernel x96q: fix u-boot build hang — add missing CONFIG_DRAM_SUNXI_TPR6 odroidxu4: fix u-boot build on trixie (GCC 14 implicit-decl errors) odroidc1: fix GCC 14 build via config.mk -fpermissive patch (not cflags hook) odroidc1: fix u-boot build on trixie (GCC 14 promoted-to-error warnings) uboot: set proper From/Sign-off-by identity in SPI/NVMe boot patches uboot: fail-fast on unaligned SFC writes instead of only logging uboot: address CodeRabbit review on PR armbian#10030 uboot: fix adc-keys threshold, SD card probe, and PCIe clock polarity bootscript: support booting from NVMe devices uboot: expose SD card via rockusb in Loader mode uboot: fix usbplug sfc unaligned access + add SPI flash vendor configs config: rockpi-e: change rkbin repository and use spl-blobs (armbian#10027) cubie-a7z: Add community support for Radxa Cubie A7Z (Allwinner A733) (armbian#10036) sunxi64: enable USB_SERIAL_OPTION (module) for GSM/UMTS/LTE modem support (armbian#10050) family-rv1106: Split RV1103G and RV1103B, cleanup RV1103G board. (armbian#10011) sunxi64: longanpi-3h u-boot v2024.10 -> v2026.07 (H618 LPDDR4) sunxi64: orangepi zero2w + zero3 u-boot v2025.04 -> v2026.07 (H616/H618) shellfmt: run lib/tools/shellfmt.sh, no changes sunxi64: promote mmc 20ms stabilization delay to family-wide sunxi: bananapi m3 - correct eMMC note (armbian-install armbian#10099, not u-boot) sunxi: bananapi m3 - note eMMC boot not supported (SD only) sunxi: bananapi m3 - drop A83T mmc-calibrate patch (breaks SPL, Error -38) sunxi: bananapi m3 u-boot v2024.01 -> v2026.07 (A83T) x96q: migrate u-boot LPDDR3 DT + defconfig to v2026.07-sunxi64 sunxi64 (64-bit): bump u-boot v2024.01 -> v2026.07-rc4 sunxi (32-bit): bump u-boot v2024.01 -> v2026.07-rc4 recore: fix ATF v2.8.0 build - drop -Wl, prefix from LD flag rockchip64: fix errexit build failure on SPI boards (undefined hook) meson64: add GPIO shared-proxy/pinctrl cansleep series (upstream v3) rockchip64: rename hook to board_uboot_spi_image_after_build uboot: invoke spi_image_postprocess hook after both rkspi_loader.img paths uboot: add board/extension hooks for SPL blobs and SPI image postprocess mixtile-edge2: u-boot: main: bump (generic) u-boot to v2026.07-rc5 rockchip: add support for Graperain G3568 v2 rtl8189fs: switch source repository, add 7.2 compat, drop pre-patches udoo, cubox-i: set board maintainer to igorpecovnik imx6: dedup u-boot config, drop per-board case, promote cubox-i to .csc cubox-i: default console to both (HDMI + serial) cubox-i: bump u-boot SolidRun v2018.01 fork -> mainline v2026.07-rc4 imx6: bump legacy 6.1->6.12 and current 6.6->6.18 imx6: bump edge kernel 6.15 -> 7.1 imx6: edge - enable USB_ONBOARD_DEV for the udoo USB2514 hub imx6: build SD controller + anatop regulator in (fix root not found) udoo: boot script use ${fdtfile} (modern findfdt), not ${fdt_file} udoo: boot script use ${devnum} instead of hardcoded mmc 0 udoo: fix UBOOT_TARGET_MAP format (missing ;; prefix) udoo: bump u-boot v2017.11 -> v2026.07-rc4 (pilot) change target hash commit removed stray .orig file from sources sloppy add rtl8192eu to all bleedingedge kernel configs rewriting will deal with proper alignment once all wifi trouble is sorted rtl8192eu: update hash rtl8192eu: switch to own repo, drop framework patches precize version number build(deps): bump igorjs/gh-actions-clean-workflow rtl88x2cs: bump to new commit for Linux 7.2 meson64-7.2: rewrite patches against v7.2-rc1 rtl88x2cs: bump to new commit for Linux 7.2 general-meson-aiu-Fix-HDMI-codec-control-selection.patch: just context and minor adjustment hwmon-emc2305-fixups-for-driver.patch: remo patch since implemented upstream but differently meson64-7.2: copy patchset from 7.1 rockchip: udev: grant video group access to MPP codec devices and DMA-heaps (armbian#10085) rtl8189es: switch to my fork integrates previous armbian patches remove patches from misc fixes builds up to Linux 7.2 nanopi-r5s: u-boot: main: bump u-boot to v2026.07-rc5 + make it patch-less sunxi-6.18: fix H3/H5 RCU stall / CPU hang during DVFS uefi-arm64-7.2: hikey960 usb patch: disabled broken patch rt1711h_ep was replaced by usb_con_hs. needs to be rewritten against new binding structure uefi-x86-7.2: rewrite patches against v7.2-rc1 uefi-x86-7.2: i915 lane quirk patch: fix context uefi-x86-7.2: apple bce driver: add missing includes uefi: copy arm64 and x86 linux configs from edge to bleedingedge uefi: add `bleedingedge` to family config uefi: copy x86 and arm64 7.1 patchsets to 7.2 rk35xx/rockchip-rk3588: vendor u-boot: touch logging to force rebuild rk35xx/rockchip-rk3588: vendor u-boot: more logs for 0-byte-dtb (or not) display-alert: new `notice` level; a brocolli that also goes to GHA logs ...
* main: (435 commits) orangepizero3w: Add community support for Orange Pi Zero 3W (Allwinner A733) (armbian#10103) firstlogin: use useradd/groupadd instead of the adduser suite Fix remoteproc DMA-BUF mapping helpers BeagleY-AI Add Patches for ISP + IMX219 & VPAC build(deps): bump setuptools from 82.0.1 to 83.0.0 fix: stop setting LC_ALL in armbian-lang.sh (fixes armbian#10131) sunxi, sunxi64, sun60iw2: enable MGLRU in kernel config Remove swapfile creation. board: visionfive2: optimize config for modern U-Boot and single-partition booting (armbian#10097) kernel-rust: also ship rust/helpers/*.bc for CONFIG_RUST_INLINE_HELPERS kernel-rust: ship prebuilt Rust crate artifacts in linux-headers u-boot/rockchip-rk3588: raise CPU clocks through SCMI on mainline u-boot/rk35xx: drop legacy radxa youyeetoo-yy3588 defconfig and dts boards/youyeetoo-yy3588: switch to mainline U-Boot v2026.04 u-boot/rockchip-rk3588: add Youyeetoo YY3588 mainline v2026.04 support beaglebadge: drop vendor-edge u-boot target (not in ti-u-boot-2026.01) clk: sunxi-ng: ccu_common: Replace ktime-dependent lock wait loop with udelay (armbian#10119) sunxi: pin mmc and i2c controllers to active to break circular PM deadlock (armbian#10120) wifi: rtw88: sdio: Fix unhandled RX request interrupt storm rg-ds: make OTG-C port dual-role so USB hubs work fake-ubuntu-advantage-tools: provide ubuntu-pro-client MusePI Pro: Enable eeprom@50 node SpacemiT K1: Update EDGE to linux-7.2.y build(deps): bump github/codeql-action/upload-sarif Fix TI K3 Suite Matching for Ubuntu Hosts and Enable GPU Acceleration for BeagleBoards Add TI GPU Packages for BeagleBoards Enable USB and PCIe on BeagleY-AI vendor kernel x96q: fix u-boot build hang — add missing CONFIG_DRAM_SUNXI_TPR6 odroidxu4: fix u-boot build on trixie (GCC 14 implicit-decl errors) odroidc1: fix GCC 14 build via config.mk -fpermissive patch (not cflags hook) odroidc1: fix u-boot build on trixie (GCC 14 promoted-to-error warnings) uboot: set proper From/Sign-off-by identity in SPI/NVMe boot patches uboot: fail-fast on unaligned SFC writes instead of only logging uboot: address CodeRabbit review on PR armbian#10030 uboot: fix adc-keys threshold, SD card probe, and PCIe clock polarity bootscript: support booting from NVMe devices uboot: expose SD card via rockusb in Loader mode uboot: fix usbplug sfc unaligned access + add SPI flash vendor configs config: rockpi-e: change rkbin repository and use spl-blobs (armbian#10027) cubie-a7z: Add community support for Radxa Cubie A7Z (Allwinner A733) (armbian#10036) sunxi64: enable USB_SERIAL_OPTION (module) for GSM/UMTS/LTE modem support (armbian#10050) family-rv1106: Split RV1103G and RV1103B, cleanup RV1103G board. (armbian#10011) sunxi64: longanpi-3h u-boot v2024.10 -> v2026.07 (H618 LPDDR4) sunxi64: orangepi zero2w + zero3 u-boot v2025.04 -> v2026.07 (H616/H618) shellfmt: run lib/tools/shellfmt.sh, no changes sunxi64: promote mmc 20ms stabilization delay to family-wide sunxi: bananapi m3 - correct eMMC note (armbian-install armbian#10099, not u-boot) sunxi: bananapi m3 - note eMMC boot not supported (SD only) sunxi: bananapi m3 - drop A83T mmc-calibrate patch (breaks SPL, Error -38) sunxi: bananapi m3 u-boot v2024.01 -> v2026.07 (A83T) x96q: migrate u-boot LPDDR3 DT + defconfig to v2026.07-sunxi64 sunxi64 (64-bit): bump u-boot v2024.01 -> v2026.07-rc4 sunxi (32-bit): bump u-boot v2024.01 -> v2026.07-rc4 recore: fix ATF v2.8.0 build - drop -Wl, prefix from LD flag rockchip64: fix errexit build failure on SPI boards (undefined hook) meson64: add GPIO shared-proxy/pinctrl cansleep series (upstream v3) rockchip64: rename hook to board_uboot_spi_image_after_build uboot: invoke spi_image_postprocess hook after both rkspi_loader.img paths uboot: add board/extension hooks for SPL blobs and SPI image postprocess mixtile-edge2: u-boot: main: bump (generic) u-boot to v2026.07-rc5 rockchip: add support for Graperain G3568 v2 rtl8189fs: switch source repository, add 7.2 compat, drop pre-patches udoo, cubox-i: set board maintainer to igorpecovnik imx6: dedup u-boot config, drop per-board case, promote cubox-i to .csc cubox-i: default console to both (HDMI + serial) cubox-i: bump u-boot SolidRun v2018.01 fork -> mainline v2026.07-rc4 imx6: bump legacy 6.1->6.12 and current 6.6->6.18 imx6: bump edge kernel 6.15 -> 7.1 imx6: edge - enable USB_ONBOARD_DEV for the udoo USB2514 hub imx6: build SD controller + anatop regulator in (fix root not found) udoo: boot script use ${fdtfile} (modern findfdt), not ${fdt_file} udoo: boot script use ${devnum} instead of hardcoded mmc 0 udoo: fix UBOOT_TARGET_MAP format (missing ;; prefix) udoo: bump u-boot v2017.11 -> v2026.07-rc4 (pilot) change target hash commit removed stray .orig file from sources sloppy add rtl8192eu to all bleedingedge kernel configs rewriting will deal with proper alignment once all wifi trouble is sorted rtl8192eu: update hash rtl8192eu: switch to own repo, drop framework patches precize version number build(deps): bump igorjs/gh-actions-clean-workflow rtl88x2cs: bump to new commit for Linux 7.2 meson64-7.2: rewrite patches against v7.2-rc1 rtl88x2cs: bump to new commit for Linux 7.2 general-meson-aiu-Fix-HDMI-codec-control-selection.patch: just context and minor adjustment hwmon-emc2305-fixups-for-driver.patch: remo patch since implemented upstream but differently meson64-7.2: copy patchset from 7.1 rockchip: udev: grant video group access to MPP codec devices and DMA-heaps (armbian#10085) rtl8189es: switch to my fork integrates previous armbian patches remove patches from misc fixes builds up to Linux 7.2 nanopi-r5s: u-boot: main: bump u-boot to v2026.07-rc5 + make it patch-less sunxi-6.18: fix H3/H5 RCU stall / CPU hang during DVFS uefi-arm64-7.2: hikey960 usb patch: disabled broken patch rt1711h_ep was replaced by usb_con_hs. needs to be rewritten against new binding structure uefi-x86-7.2: rewrite patches against v7.2-rc1 uefi-x86-7.2: i915 lane quirk patch: fix context uefi-x86-7.2: apple bce driver: add missing includes uefi: copy arm64 and x86 linux configs from edge to bleedingedge uefi: add `bleedingedge` to family config uefi: copy x86 and arm64 7.1 patchsets to 7.2 rk35xx/rockchip-rk3588: vendor u-boot: touch logging to force rebuild rk35xx/rockchip-rk3588: vendor u-boot: more logs for 0-byte-dtb (or not) display-alert: new `notice` level; a brocolli that also goes to GHA logs ...
Description
Community (
.csc) board support for the Orange Pi Zero 3W — the WiFi-only little siblingof the Orange Pi 4 Pro, same Allwinner A733 (sun60iw2) SoC. I run one as a headless Trixie
server and have been dogfooding it; it boots and runs nicely. Open to feedback.
Since this is the second Orange Pi A733 board, I factored the shared bits of the two board files
into a small vendor include, so they read as a real two-board family rather than copy-paste. The
4 Pro change is a behavior-preserving refactor — the only existing file this PR touches.
What's added
config/boards/orangepizero3w.csc— board config (DTB + board-specific DRAM blob).config/sources/vendors/xunlong/sun60iw2-a733-common.inc— new shared A733 include.patch/kernel/archive/sun60iw2-opi-vendor/0006-orangepizero3w-set-model-and-compatible.patch—the vendor left the 4 Pro's identity in the copied DTS; this sets a correct
modeland aboard-specific
compatible(xunlong,orangepi-zero3w, falling back toarm,sun60iw2p1).config/boards/orangepi4pro.csc— refactored to source the shared include.Differences from the 4 Pro: no Ethernet (WiFi only), no SPI-NOR / M.2 (microSD boot), its own
DRAM blob + DTB. WiFi/BT is the same AICSemi AIC8800D80 over SDIO, so it reuses the family's in-tree
driver — no new firmware. Bluetooth bring-up is a gap shared with the 4 Pro; I'll handle it
family-wide in a follow-up rather than widen scope here. GPU/NPU/VPU stay opt-in (no proprietary
blobs baked into the image), same policy as the 4 Pro.
Dependencies: boot blobs pinned to
orangepi-xunlong/orangepi-build @
7f776a20(board-specific
boot0_sdcard, sharedsys_config). Kernel and U-Boot are unchanged from theexisting
sun60iw2family.GitHub issue reference: N/A — new community board
Jira reference number: N/A
How Has This Been Tested?
Built a Trixie CLI image, flashed, and booted on real hardware (Orange Pi Zero 3W):
6.6.98-vendor-sun60iw2; 8 cores (2×A76 + 6×A55); full RAM./proc/device-tree/model= "Orange Pi Zero 3W",compatible=xunlong,orangepi-zero3w./dev/dri/card0,/dev/vipcore); acceleration is opt-in.Checklist:
Thanks!
-James
Summary by CodeRabbit