2023-01-08 22:49:32 +00:00
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
# Copyright (C) 2022-present Fewtarius
PKG_NAME = "u-boot"
PKG_ARCH = "arm aarch64"
2023-02-15 11:38:49 +00:00
PKG_SITE = "https://github.com/JustEnoughLinuxOS"
2023-02-16 22:40:39 +00:00
PKG_LICENSE = "GPL"
2023-01-08 22:49:32 +00:00
PKG_DEPENDS_TARGET = "toolchain swig:host rkbin"
PKG_LONGDESC = "Rockchip U-Boot is a bootloader for embedded systems."
GET_HANDLER_SUPPORT = "git"
PKG_PATCH_DIRS += " ${ DEVICE } "
c a s e $ { D E V I C E } i n
2023-04-25 22:54:13 +00:00
RK358*)
2023-02-15 11:38:49 +00:00
PKG_URL = " ${ PKG_SITE } /rk35xx-uboot.git "
2023-03-08 17:34:56 +00:00
PKG_VERSION = "d34ff0716"
2023-01-08 22:49:32 +00:00
PKG_GIT_CLONE_BRANCH = "v2017.09-rk3588"
; ;
2023-04-25 22:54:13 +00:00
RK356*)
2023-02-16 22:40:39 +00:00
PKG_URL = " ${ PKG_SITE } /rk356x-uboot.git "
2023-02-16 22:44:48 +00:00
PKG_VERSION = "4dbf6b2"
2023-02-16 22:40:39 +00:00
; ;
2023-05-04 18:06:54 +00:00
RK33*)
PKG_URL = " ${ PKG_SITE } /rk3326-uboot.git "
PKG_VERSION = "120aff9560"
; ;
2023-01-08 22:49:32 +00:00
e s a c
PKG_IS_KERNEL_PKG = "yes"
PKG_STAMP = " ${ UBOOT_CONFIG } "
[ - n "${ATF_PLATFORM}" ] & & PKG_DEPENDS_TARGET += " atf"
PKG_NEED_UNPACK = " ${ PROJECT } _DIR/ ${ PROJECT } /bootloader "
[ - n "${DEVICE}" ] & & PKG_NEED_UNPACK += " ${ PROJECT } _DIR/ ${ PROJECT } /devices/ ${ DEVICE } /bootloader "
p o s t _ p a t c h ( ) {
if [ -n " ${ UBOOT_CONFIG } " ] && find_file_path bootloader/config; then
PKG_CONFIG_FILE = " ${ UBOOT_CONFIG } "
if [ -f " ${ PKG_CONFIG_FILE } " ] ; then
cat ${ FOUND_PATH } >> " ${ PKG_CONFIG_FILE } "
fi
fi
}
m a k e _ t a r g e t ( ) {
. ${ PROJECT_DIR } /${ PROJECT } /devices/${ DEVICE } /options
if [ -z " ${ UBOOT_CONFIG } " ] ; then
echo "UBOOT_CONFIG must be set to build an image"
else
2023-01-11 21:31:08 +00:00
if [ -e " ${ PROJECT_DIR } / ${ PROJECT } /devices/ ${ DEVICE } /u-boot/ ${ UBOOT_CONFIG } " ]
2023-01-08 22:49:32 +00:00
then
2023-01-11 21:31:08 +00:00
cp ${ PROJECT_DIR } /${ PROJECT } /devices/${ DEVICE } /u-boot/${ UBOOT_CONFIG } configs
2023-01-08 22:49:32 +00:00
fi
[ " ${ BUILD_WITH_DEBUG } " = "yes" ] && PKG_DEBUG = 1 || PKG_DEBUG = 0
2023-02-16 22:40:39 +00:00
if [ [ " ${ PKG_BL31 } " = ~ ^/bin ] ]
then
PKG_BL31 = " $( get_build_dir rkbin) / ${ PKG_BL31 } "
fi
if [ [ " ${ PKG_LOADER } " = ~ ^/bin ] ]
then
PKG_LOADER = " $( get_build_dir rkbin) / ${ PKG_LOADER } "
fi
2023-05-10 22:50:47 +00:00
if [ [ " ${ PKG_SOC } " = ~ "rk35" ] ]
2023-05-04 18:06:54 +00:00
then
2023-01-11 21:31:08 +00:00
DEBUG = ${ PKG_DEBUG } CROSS_COMPILE = " ${ TARGET_KERNEL_PREFIX } " LDFLAGS = "" ARCH = arm64 make mrproper
2023-02-16 22:40:39 +00:00
DEBUG = ${ PKG_DEBUG } CROSS_COMPILE = " ${ TARGET_KERNEL_PREFIX } " LDFLAGS = "" ARCH = arm64 make ${ UBOOT_CONFIG } BL31 = ${ PKG_BL31 } ${ PKG_LOADER } u-boot.dtb u-boot.itb
2023-02-24 13:53:43 +00:00
DEBUG = ${ PKG_DEBUG } CROSS_COMPILE = " ${ TARGET_KERNEL_PREFIX } " LDFLAGS = "" ARCH = arm64 _python_sysroot = " ${ TOOLCHAIN } " _python_prefix = / _python_exec_prefix = / make HOSTCC = " ${ HOST_CC } " HOSTLDFLAGS = " -L ${ TOOLCHAIN } /lib " HOSTSTRIP = "true" CONFIG_MKIMAGE_DTC_PATH = "scripts/dtc/dtc"
2023-05-04 18:06:54 +00:00
else
echo " Building for MBR ( ${ UBOOT_DTB } )... "
[ -n " ${ ATF_PLATFORM } " ] && cp -av $( get_build_dir atf) /bl31.bin .
DEBUG = ${ PKG_DEBUG } CROSS_COMPILE = " ${ TARGET_KERNEL_PREFIX } " LDFLAGS = "" ARCH = arm make mrproper
DEBUG = ${ PKG_DEBUG } CROSS_COMPILE = " ${ TARGET_KERNEL_PREFIX } " LDFLAGS = "" ARCH = arm make ${ UBOOT_CONFIG }
DEBUG = ${ PKG_DEBUG } CROSS_COMPILE = " ${ TARGET_KERNEL_PREFIX } " LDFLAGS = "" ARCH = arm _python_sysroot = " ${ TOOLCHAIN } " _python_prefix = / _python_exec_prefix = / make HOSTCC = " $HOST_CC " HOSTLDFLAGS = " -L ${ TOOLCHAIN } /lib " HOSTSTRIP = "true" CONFIG_MKIMAGE_DTC_PATH = "scripts/dtc/dtc"
fi
2023-01-08 22:49:32 +00:00
fi
}
m a k e i n s t a l l _ t a r g e t ( ) {
mkdir -p ${ INSTALL } /usr/share/bootloader
# Only install u-boot.img et al when building a board specific image
if [ -n " ${ UBOOT_CONFIG } " ] ; then
find_file_path bootloader/install && . ${ FOUND_PATH }
fi
# Always install the update script
find_file_path bootloader/update.sh && cp -av ${ FOUND_PATH } ${ INSTALL } /usr/share/bootloader
# Always install the canupdate script
if find_file_path bootloader/canupdate.sh; then
cp -av ${ FOUND_PATH } ${ INSTALL } /usr/share/bootloader
sed -e " s/@PROJECT@/ ${ DEVICE :- ${ PROJECT } } /g " \
-i ${ INSTALL } /usr/share/bootloader/canupdate.sh
fi
}