From c6944b49aa517bbdae0aee30def3e520a29a3b59 Mon Sep 17 00:00:00 2001 From: Jesse R Codling Date: Fri, 1 Aug 2025 12:35:02 -0400 Subject: [PATCH] rock-4se: binman boot scenario with mainline ATF This should be a long-term solution to armbian/community#39. Adds a rockchip64 BOOT_SCENARIO for binman with mainline ATF and puts it to use for the rock4-se board config. Tested on my hardware, boots successfully. --- config/boards/rock-4se.csc | 8 +------- config/sources/families/include/rockchip64_common.inc | 7 +++++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/config/boards/rock-4se.csc b/config/boards/rock-4se.csc index 8096451e2c..6515acee95 100644 --- a/config/boards/rock-4se.csc +++ b/config/boards/rock-4se.csc @@ -10,11 +10,5 @@ KERNEL_TEST_TARGET="current" FULL_DESKTOP="yes" BOOT_LOGO="desktop" BOOT_FDT_FILE="rockchip/rk3399-rock-4se.dtb" -BOOT_SCENARIO="spl-blobs" +BOOT_SCENARIO="binman-atf-mainline" BOOT_SUPPORT_SPI="yes" -BL31_BLOB="rk33/rk3399_bl31_v1.36.elf" -DDR_BLOB="rk33/rk3399_ddr_933MHz_v1.30.bin" - -function post_family_config___mainline_uboot() { - declare -g UBOOT_TARGET_MAP="ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB} BL31=$RKBIN_DIR/$BL31_BLOB spl/u-boot-spl u-boot.bin flash.bin;;idbloader.img u-boot.itb" -} diff --git a/config/sources/families/include/rockchip64_common.inc b/config/sources/families/include/rockchip64_common.inc index 09effb8b80..88d9b1af47 100644 --- a/config/sources/families/include/rockchip64_common.inc +++ b/config/sources/families/include/rockchip64_common.inc @@ -57,6 +57,7 @@ esac # - tpl-blob-atf-mainline: proprietary rockchip ddrbin + mainline u-boot SPL + mainline ATF # - blobless: mainline u-boot TPL + mainline u-boot SPL + mainline ATF # - binman: u-boot builds full boot image from information in device tree. See: https://docs.u-boot.org/en/latest/develop/package/binman.html +# - binman-atf-mainline: u-boot builds full boot image with mainline ATF from information in device tree. See: https://docs.u-boot.org/en/latest/develop/package/binman.html #BOOT_SOC=`expr $BOOTCONFIG : '.*\(rk[[:digit:]]\+.*\)_.*'` BOOT_SOC=${BOOT_SOC:=$(expr $BOOTCONFIG : '.*\(rk[[:digit:]]\+.*\)_.*' || true)} @@ -160,7 +161,7 @@ prepare_boot_configuration() { ATFSOURCE='' ATF_COMPILE='no' case "$BOOT_SCENARIO" in - blobless | tpl-blob-atf-mainline) + blobless | tpl-blob-atf-mainline | binman-atf-mainline) UBOOT_TARGET_MAP="BL31=bl31.elf idbloader.img u-boot.itb;;idbloader.img u-boot.itb" ATF_COMPILE=yes ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware' @@ -173,6 +174,8 @@ prepare_boot_configuration() { [[ $BOOT_SCENARIO == tpl-blob-atf-mainline ]] && UBOOT_TARGET_MAP="BL31=bl31.elf idbloader.img u-boot.itb;;idbloader.img u-boot.itb" + [[ $BOOT_SCENARIO == binman-atf-mainline ]] && + UBOOT_TARGET_MAP="BL31=bl31.elf;;u-boot-rockchip.bin" ;; tpl-spl-blob) UBOOT_TARGET_MAP="BL31=$RKBIN_DIR/$BL31_BLOB idbloader.img u-boot.itb;;idbloader.img u-boot.itb" @@ -209,7 +212,7 @@ uboot_custom_postprocess() { display_alert "${BOARD}" "boots with ${BOOT_SCENARIO} scenario" "info" case "$BOOT_SCENARIO" in - blobless | tpl-spl-blob | binman) + blobless | tpl-spl-blob | binman*) : ;;