mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
rkbin: copy ddr init and atf blobs into install_pkg
This commit is contained in:
committed by
Christian Hewitt
parent
ca03a725a9
commit
c012e776cb
@@ -10,3 +10,37 @@ PKG_SITE="https://github.com/rockchip-linux/rkbin"
|
||||
PKG_URL="https://github.com/rockchip-linux/rkbin/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_LONGDESC="rkbin: Rockchip Firmware and Tool Binaries"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
PKG_STAMP="$UBOOT_SYSTEM"
|
||||
|
||||
make_target() {
|
||||
PKG_BOOT_INI="RKBOOT/${DEVICE}MINIALL.ini"
|
||||
if [ -f "${PKG_BOOT_INI}" ]; then
|
||||
PKG_FILE=$(sed -nr "/^\[LOADER_OPTION\]/ { :l /^FlashData[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "${PKG_BOOT_INI}")
|
||||
if [ -f "${PKG_FILE}" ]; then
|
||||
cp -av "${PKG_FILE}" ddr.bin
|
||||
|
||||
# Override sdram frequency
|
||||
if [ "${DEVICE}" = "RK3328" ]; then
|
||||
sed -s 's/\x4d\x1\x4d\x1\x4d\x1\x4d\x1\x4d\x1\x4d\x1/\x20\x3\x20\x3\x20\x3\x20\x3\x20\x3\x20\x3/g' -i ddr.bin
|
||||
sed -s 's/\x90\x1\x90\x1\x90\x1\x90\x1\x90\x1\x90\x1/\x20\x3\x20\x3\x20\x3\x20\x3\x20\x3\x20\x3/g' -i ddr.bin
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
PKG_TRUST_INI="RKTRUST/${DEVICE}TRUST.ini"
|
||||
if [ -f "${PKG_TRUST_INI}" ]; then
|
||||
PKG_FILE=$(sed -nr "/^\[BL31_OPTION\]/ { :l /^PATH[ ]*=/ { s/[^=]*=[ ]*//; p; q;}; n; b l;}" "${PKG_TRUST_INI}")
|
||||
if [ -f "${PKG_FILE}" ]; then
|
||||
cp -av "${PKG_FILE}" bl31.elf
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p "${INSTALL}/.noinstall"
|
||||
for PKG_FILE in ddr.bin bl31.elf; do
|
||||
if [ -f "${PKG_FILE}" ]; then
|
||||
cp -av "${PKG_FILE}" "${INSTALL}/.noinstall"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
@@ -7,6 +7,14 @@ else
|
||||
export UBOOT_TARGET=""
|
||||
fi
|
||||
|
||||
if [ -f "$(get_install_dir rkbin)/.noinstall/ddr.bin" ]; then
|
||||
export ROCKCHIP_TPL="$(get_install_dir rkbin)/.noinstall/ddr.bin"
|
||||
fi
|
||||
|
||||
if [ -f "$(get_install_dir rkbin)/.noinstall/bl31.elf" ]; then
|
||||
export BL31="$(get_install_dir rkbin)/.noinstall/bl31.elf"
|
||||
fi
|
||||
|
||||
if [ -n "${ATF_PLATFORM}" ]; then
|
||||
if [ -f "$(get_install_dir atf)/usr/share/bootloader/bl31.elf" ]; then
|
||||
export BL31="$(get_install_dir atf)/usr/share/bootloader/bl31.elf"
|
||||
|
||||
@@ -22,17 +22,10 @@ if [ "${ROCKCHIP_LEGACY_BOOT}" = "1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PKG_DDR_BIN="${PKG_RKBIN}"/$(sed -n "/FlashData/s/FlashData=//p" "${PKG_BOOT_INI}")
|
||||
PKG_MINILOADER="${PKG_RKBIN}"/$(sed -n "/FlashBoot/s/FlashBoot=//p" "${PKG_BOOT_INI}")
|
||||
PKG_LOAD_ADDR=$(sed -n "/CONFIG_TEXT_BASE/s/#define CONFIG_TEXT_BASE //p" u-boot.cfg)
|
||||
|
||||
# Override sdram frequency
|
||||
if [ "${DEVICE}" = "RK3328" ]; then
|
||||
sed -s 's/\x4d\x1\x4d\x1\x4d\x1\x4d\x1\x4d\x1\x4d\x1/\x20\x3\x20\x3\x20\x3\x20\x3\x20\x3\x20\x3/g' -i "${PKG_DDR_BIN}"
|
||||
sed -s 's/\x90\x1\x90\x1\x90\x1\x90\x1\x90\x1\x90\x1/\x20\x3\x20\x3\x20\x3\x20\x3\x20\x3\x20\x3/g' -i "${PKG_DDR_BIN}"
|
||||
fi
|
||||
|
||||
${QEMU} ${PKG_RKBIN}/tools/mkimage -n "${PKG_SOC}" -T rksd -d "${PKG_DDR_BIN}:${PKG_MINILOADER}" idbloader.img.rk || exit 1
|
||||
tools/mkimage -n "${PKG_SOC}" -T rksd -d "${ROCKCHIP_TPL}:${PKG_MINILOADER}" idbloader.img.rk || exit 1
|
||||
${QEMU} ${PKG_RKBIN}/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img.rk "${PKG_LOAD_ADDR}" || exit 1
|
||||
|
||||
dd if=idbloader.img.rk of="${UBOOT_FIT_IMAGE}" seek=0 conv=fsync,notrunc > /dev/null 2>&1 || exit 1
|
||||
|
||||
Reference in New Issue
Block a user