rockchip: fit_spl_optee: get text and optee base from build

Instead of hardcode the base address, we can get them from the build
output, eg. get the SYS_TEXT_BASE from .config and get optee base from
DRAM_BASE.
We can use this script for SoCs with DRAM base not from 0x60000000(rk3229
and many other 32bit Rockchip SoCs), eg. rk3288 DRAM base is 0.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
Kever Yang 2019-12-05 18:11:52 +08:00
parent d792b63feb
commit 7c337710fc

View File

@ -17,6 +17,12 @@ if [ ! -f $TEE ]; then
fi fi
dtname=$1 dtname=$1
text_base=`sed -n "/SYS_TEXT_BASE=/s/CONFIG_SYS_TEXT_BASE=//p" .config \
|tr -d '\r'`
dram_base=`sed -n "/SYS_SDRAM_BASE=/s/CONFIG_SYS_SDRAM_BASE=//p" \
include/autoconf.mk|tr -d '\r'`
tee_base=`echo "obase=16;$(($dram_base+0x8400000))"|bc`
tee_base='0x'$tee_base
cat << __HEADER_EOF cat << __HEADER_EOF
/* /*
@ -39,7 +45,7 @@ cat << __HEADER_EOF
os = "U-Boot"; os = "U-Boot";
arch = "arm"; arch = "arm";
compression = "none"; compression = "none";
load = <0x61000000>; load = <$text_base>;
}; };
optee { optee {
description = "OP-TEE"; description = "OP-TEE";
@ -48,8 +54,8 @@ cat << __HEADER_EOF
arch = "arm"; arch = "arm";
os = "tee"; os = "tee";
compression = "none"; compression = "none";
load = <0x68400000>; load = <$tee_base>;
entry = <0x68400000>; entry = <$tee_base>;
}; };
fdt { fdt {
description = "$(basename $dtname .dtb)"; description = "$(basename $dtname .dtb)";