#U-Boot: Rock64
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>

pkgname=uboot-rock64
pkgver=2025.10
pkgrel=1
pkgdesc="U-Boot for Rock64"
arch=('aarch64')
url='http://www.denx.de/wiki/U-Boot/WebHome'
license=('GPL')
backup=('boot/boot.txt' 'boot/boot.scr')
makedepends=('bc' 'git' 'python' 'python-setuptools' 'python-pyelftools' 'swig' 'dtc' 'uboot-tools')
install=${pkgname}.install
source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2"
        "https://github.com/ARM-software/arm-trusted-firmware/archive/v2.14.0.tar.gz"
        'boot.txt'
        'mkscr')
sha256sums=('b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a'
            'd44936677a63c5216ffc151ae7711d458c992ef159a9df271fd9429f0a1cb5e5'
            'd0de25353f38dd633b63d7f547f0eaffe967bcd5d8c43b17897fb1c3d1f918fa'
	    'a4fc8b6b92bc364d6542670d294aa618a8501fb8729f415cc0a3eed776ef0c8e')
	    #'a0798acdac86101019f2e53c80846950c7a658314381c48c39a86f6b9fc70173'

prepare() {
  export CC=cc
  export LD=cc
  export AS=cc
  export OC=objcopy
  export OD=objdump

  cd ${srcdir}/arm-trusted-firmware-2.14.0
  make PLAT=rk3328 bl31

  cd ${srcdir}/u-boot-${pkgver}
  cp ../arm-trusted-firmware-2.14.0/build/rk3328/release/bl31/bl31.elf ./bl31.elf
  export BL31=./bl31.elf

  sed -i 's/800/600/g' arch/arm/dts/rk3328-sdram-lpddr3-1600.dtsi

  cd ${srcdir}/u-boot-${pkgver}/configs
  echo 'CONFIG_IDENT_STRING=" Arch Linux ARM"' >> rock64-rk3328_defconfig

}

build() {
  cd ${srcdir}/u-boot-${pkgver}

  unset CLFAGS CXXFLAGS CPPFLAGS LDFLAGS

#  make distclean
  make rock64-rk3328_defconfig
  make -j4 EXTRAVERSION=-${pkgrel}
  make -j4 EXTRAVERSION=-${pkgrel} u-boot.itb
}

package() {
  cd u-boot-${pkgver}

  mkdir -p "${pkgdir}/boot"

  tools/mkimage -n rk3328 -T rksd -d ./tpl/u-boot-tpl.bin "${pkgdir}/boot/rksd_loader.img"
  cat ./spl/u-boot-spl.bin >> "${pkgdir}/boot/rksd_loader.img"

  cp ./u-boot.itb "${pkgdir}/boot/u-boot.itb"

  tools/mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d ../boot.txt "${pkgdir}/boot/boot.scr"
  cp ../{boot.txt,mkscr} "${pkgdir}"/boot
}

