orangepi5: overhaul board config, update mainline uboot

This commit is contained in:
Muhammed Efe Cetin
2025-04-26 15:28:41 +03:00
parent 4ad0fe50b4
commit f3758c452d

View File

@@ -16,15 +16,22 @@ BOOT_SPI_RKSPI_LOADER="yes"
IMAGE_PARTITION_TABLE="gpt"
declare -g UEFI_EDK2_BOARD_ID="orangepi-5" # This _only_ used for uefi-edk2-rk3588 extension
declare -g BLUETOOTH_HCIATTACH_PARAMS="-s 115200 /dev/ttyS9 bcm43xx 1500000" # For the bluetooth-hciattach extension
enable_extension "bluetooth-hciattach" # Enable the bluetooth-hciattach extension
# Mainline U-Boot for current kernel
function post_family_config_branch_current__orangepi5_use_mainline_uboot() {
function post_family_config__orangepi5_use_mainline_uboot() {
if [[ $BRANCH == "vendor" ]]; then
return
fi
display_alert "$BOARD" "Mainline U-Boot overrides for $BOARD - $BRANCH" "info"
declare -g BOOTCONFIG="orangepi-5-rk3588s_defconfig" # override the default for the board/family
declare -g BOOTDELAY=1 # Wait for UART interrupt to enter UMS/RockUSB mode etc
declare -g BOOTSOURCE="https://github.com/u-boot/u-boot.git" # We ❤️ mainline U-Boot
declare -g BOOTBRANCH="tag:v2025.01"
declare -g BOOTPATCHDIR="v2025.01"
declare -g BOOTBRANCH="tag:v2025.04"
declare -g BOOTPATCHDIR="v2025.04"
declare -g BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
declare -g UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin u-boot-rockchip-spi.bin"
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
@@ -39,13 +46,8 @@ function post_family_config_branch_current__orangepi5_use_mainline_uboot() {
}
}
declare -g BLUETOOTH_HCIATTACH_PARAMS="-s 115200 /dev/ttyS9 bcm43xx 1500000" # For the bluetooth-hciattach extension
enable_extension "bluetooth-hciattach" # Enable the bluetooth-hciattach extension
function post_family_tweaks_bsp__orangepi5_copy_usb2_service() {
if [[ $BRANCH == "edge" ]]; then
if [[ $BRANCH == "edge" || $BRANCH == "current" ]]; then
return
fi
@@ -58,7 +60,7 @@ function post_family_tweaks_bsp__orangepi5_copy_usb2_service() {
}
function post_family_tweaks__orangepi5_enable_usb2_service() {
if [[ $BRANCH == "edge" ]]; then
if [[ $BRANCH == "edge" || $BRANCH == "current" ]]; then
return
fi
@@ -71,7 +73,7 @@ function post_family_tweaks__orangepi5_enable_usb2_service() {
}
function post_family_tweaks__orangepi5_naming_audios() {
if [[ $BRANCH == "edge" ]]; then
if [[ $BRANCH == "edge" || $BRANCH == "current" ]]; then
return
fi
@@ -86,7 +88,7 @@ function post_family_tweaks__orangepi5_naming_audios() {
}
function post_family_config__orangepi5_uboot_add_sata_target() {
if [[ $BRANCH == "edge" ]]; then
if [[ $BRANCH == "edge" || $BRANCH == "current" ]]; then
return
fi
@@ -96,31 +98,8 @@ function post_family_config__orangepi5_uboot_add_sata_target() {
BL31=$RKBIN_DIR/$BL31_BLOB $BOOTCONFIG_SATA spl/u-boot-spl.bin u-boot.dtb u-boot.itb;; rkspi_loader_sata.img"
}
function post_family_config_branch_edge__uboot_config() {
display_alert "$BOARD" "u-boot ${BOOTBRANCH_BOARD} edge overrides" "info"
UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin u-boot-rockchip-spi.bin u-boot.itb idbloader.img idbloader-spi.img"
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
# Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
function write_uboot_platform() {
dd if=${1}/u-boot-rockchip.bin of=${2} bs=32k seek=1 conv=fsync
}
# Smarter/faster/better to-spi writer using flashcp (hopefully with --partition), using the binman-provided 'u-boot-rockchip-spi.bin'
function write_uboot_platform_mtd() {
declare -a extra_opts_flashcp=("--verbose")
if flashcp -h | grep -q -e '--partition'; then
echo "Confirmed flashcp supports --partition -- read and write only changed blocks." >&2
extra_opts_flashcp+=("--partition")
else
echo "flashcp does not support --partition, will write full SPI flash blocks." >&2
fi
flashcp "${extra_opts_flashcp[@]}" "${1}/u-boot-rockchip-spi.bin" /dev/mtd0
}
}
function post_uboot_custom_postprocess__create_sata_spi_image() {
if [[ $BRANCH == "edge" ]]; then
if [[ $BRANCH == "edge" || $BRANCH == "current" ]]; then
return
fi
@@ -138,13 +117,3 @@ function post_uboot_custom_postprocess__create_sata_spi_image() {
dd if=idbloader.img of=rkspi_loader_sata.img seek=64 conv=notrunc
dd if=u-boot.itb of=rkspi_loader_sata.img seek=16384 conv=notrunc
}
function post_family_config_branch_edge__orangepi5_use_mainline_uboot() {
if [[ $BRANCH == "edge" ]]; then
BOOTCONFIG="orangepi-5-rk3588s_defconfig"
BOOTSOURCE="https://github.com/u-boot/u-boot.git"
BOOTBRANCH="commit:2f0282922b2c458eea7f85c500a948a587437b63"
BOOTDIR="u-boot-${BOARD}"
BOOTPATCHDIR="v2024.01/board_${BOARD}"
fi
}