mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
Switch to newer U-Boot since it works reliably and provides upstream improvements. Add patch/u-boot/v2025.10 and the generic patch, as BOOTPATCHDIR cannot be unset (fallback to legacy fails). BOOT_SCENARIO="binman-atf-mainline" cannot be set here since it applies globally to the CSC file and would break branch=vendor. Users who want it can enable it manually.
99 lines
3.9 KiB
Plaintext
99 lines
3.9 KiB
Plaintext
# Rockchip RK3566 quad core
|
|
BOARD_NAME="Radxa ZERO 3"
|
|
BOARDFAMILY="rk35xx"
|
|
BOARD_MAINTAINER=""
|
|
BOOTCONFIG="radxa-zero3-rk3566_defconfig"
|
|
KERNEL_TARGET="vendor,current,edge"
|
|
KERNEL_TEST_TARGET="vendor"
|
|
FULL_DESKTOP="yes"
|
|
BOOT_LOGO="desktop"
|
|
BOOT_FDT_FILE="rockchip/rk3566-radxa-zero3.dtb"
|
|
IMAGE_PARTITION_TABLE="gpt"
|
|
BOOT_SCENARIO="spl-blobs"
|
|
BOOTFS_TYPE="fat" # Only for vendor/legacy
|
|
|
|
|
|
PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools"
|
|
# add for OBEX file transfer:
|
|
# PACKAGE_LIST_BOARD+=" bluez-obexd"
|
|
AIC8800_TYPE="sdio"
|
|
enable_extension "radxa-aic8800"
|
|
|
|
function post_family_tweaks_bsp__aic8800_wireless() {
|
|
display_alert "$BOARD" "Installing AIC8800 Tweaks" "info"
|
|
mkdir -p "${destination}"/etc/modprobe.d
|
|
mkdir -p "${destination}"/etc/modules-load.d
|
|
# Add wireless conf
|
|
cat > "${destination}"/etc/modprobe.d/aic8800-wireless.conf <<- EOT
|
|
options aic8800_fdrv_sdio aicwf_dbg_level=0 custregd=0 ps_on=0
|
|
#options aic8800_bsp_sdio aic_fw_path=/lib/firmware/aic8800_fw/SDIO/aic8800
|
|
EOT
|
|
# Add needed bluetooth modules
|
|
cat > "${destination}"/etc/modules-load.d/aic8800-btlpm.conf <<- EOT
|
|
hidp
|
|
rfcomm
|
|
bnep
|
|
aic8800_btlpm_sdio
|
|
EOT
|
|
# Add AIC8800 Bluetooth Service and Script
|
|
if [[ -d "$SRC/packages/bsp/aic8800" ]]; then
|
|
install -d -m 0755 "${destination}/usr/bin"
|
|
install -m 0755 "$SRC/packages/bsp/aic8800/aic-bluetooth" "${destination}/usr/bin/aic-bluetooth"
|
|
install -d -m 0755 "${destination}/usr/lib/systemd/system"
|
|
install -m 0644 "$SRC/packages/bsp/aic8800/aic-bluetooth.service" "${destination}/usr/lib/systemd/system/aic-bluetooth.service"
|
|
else
|
|
display_alert "$BOARD" "Skipping AIC8800 BT assets (packages/bsp/aic8800 not found)" "warn"
|
|
fi
|
|
}
|
|
|
|
# Enable AIC8800 Bluetooth Service
|
|
function post_family_tweaks__enable_aic8800_bluetooth_service() {
|
|
display_alert "$BOARD" "Enabling AIC8800 Bluetooth Service" "info"
|
|
if chroot_sdcard test -f /lib/systemd/system/aic-bluetooth.service || chroot_sdcard test -f /etc/systemd/system/aic-bluetooth.service; then
|
|
chroot_sdcard systemctl --no-reload enable aic-bluetooth.service
|
|
else
|
|
display_alert "$BOARD" "aic-bluetooth.service not found in image; skipping enable" "warn"
|
|
fi
|
|
}
|
|
|
|
function post_family_config__use_mainline_uboot_except_vendor() {
|
|
# use mainline u-boot for _current_ and _edge_
|
|
if [[ "$BRANCH" != "current" && "$BRANCH" != "edge" ]]; then
|
|
return 0
|
|
fi
|
|
unset BOOT_FDT_FILE # boot.scr will use whatever u-boot detects and sets 'fdtfile' to
|
|
unset BOOTFS_TYPE # mainline u-boot can boot ext4 directly
|
|
BOOTCONFIG="radxa-zero-3-rk3566_defconfig"
|
|
BOOTSOURCE="https://github.com/u-boot/u-boot"
|
|
BOOTBRANCH="tag:v2025.10-rc2"
|
|
BOOTPATCHDIR="v2025.10"
|
|
|
|
UBOOT_TARGET_MAP="BL31=$RKBIN_DIR/$BL31_BLOB ROCKCHIP_TPL=$RKBIN_DIR/$DDR_BLOB;;u-boot-rockchip.bin"
|
|
## For binman-atf-mainline: setting BOOT_SCENARIO at the top would break branch=vendor, so we don't enable it globally.
|
|
# We cannot set BOOT_SOC=rk3566 due to side effects in Armbian scripts; ATF_TARGET_MAP is the safer override.
|
|
# ATF does not currently separate rk3566 from rk3568.
|
|
#ATF_TARGET_MAP="M0_CROSS_COMPILE=arm-linux-gnueabi- PLAT=rk3568 bl31;;build/rk3568/release/bl31/bl31.elf:bl31.elf"
|
|
#UBOOT_TARGET_MAP="BL31=bl31.elf ROCKCHIP_TPL=$RKBIN_DIR/$DDR_BLOB;;u-boot-rockchip.bin"
|
|
|
|
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd
|
|
|
|
function write_uboot_platform() {
|
|
dd if=$1/u-boot-rockchip.bin of=$2 seek=64 conv=notrunc status=none
|
|
}
|
|
}
|
|
|
|
# Override family config for this board; let's avoid conditionals in family config.
|
|
function post_family_config_branch_vendor__radxa-zero3_use_vendor_uboot() {
|
|
BOOTSOURCE='https://github.com/radxa/u-boot.git'
|
|
BOOTBRANCH='branch:rk35xx-2024.01'
|
|
BOOTPATCHDIR="u-boot-radxa-latest"
|
|
|
|
UBOOT_TARGET_MAP="BL31=$RKBIN_DIR/$BL31_BLOB ROCKCHIP_TPL=$RKBIN_DIR/$DDR_BLOB;;u-boot-rockchip.bin"
|
|
|
|
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd
|
|
|
|
function write_uboot_platform() {
|
|
dd if=$1/u-boot-rockchip.bin of=$2 seek=64 conv=notrunc status=none
|
|
}
|
|
}
|