[PATCH] tools: k3_fit_atf: Fix DM binary FIT load addresses

Suman Anna s-anna at ti.com
Mon Aug 16 16:35:17 CEST 2021


On 8/14/21 1:49 AM, Suman Anna wrote:
> The DM binary runs on the MCU R5F Core0 after R5 SPL on J721E and J7200
> SoCs. The binary is built alongside the TFA, OPTEE and A72 SPL binaries
> and included in the tispl.bin FIT image. The R5 SPL loads the DM binary
> at 0xA000000 address, based on the value used in the FIT image build

I had a typo here and below, missed a zero in the address. It should be
0xA0000000. Let me know if you want me to post a v2 for that.

regards
Suman

> script. The DM binary though is an ELF image and not a regular binary
> file, and so is processed further to load the actual program segments
> using the U-Boot's standard ELF loader library.
> 
> The DM binary does leverage a certain portion of DDR for its program
> segments, and typically reserves 16 MB of DDR at 0xA000000 with the
> 1st MB used for IPC between Linux and the remote processor, and
> remaining memory for firmware segments. This can cause an incomplete
> loading of the program segments if the DM binary is larger than 1 MB,
> due to overlap of the initial loaded binary and the actual program
> segments.
> 
> Fix this by using the address 0x89000000, which matches the current
> "addr_mcur5f0_0load" env variable used by R5 SPL before the DM firmware
> inclusion into the tispl.bin.
> 
> Fixes: df5363a67f35 ("tools: k3_fit_atf: add DM binary to the FIT image")
> Signed-off-by: Suman Anna <s-anna at ti.com>
> ---
> Hi Lokesh,
> 
> This issue is found recently when attempting to use an unstripper DM
> firmware binary, it was masked with the existing DM binary since it's
> size was very small.
> 
> The script can do with some overhaul, as it is not generic and uses
> hard-coded addresses. It should be possible to place ATF, OPTEE and
> use a complete different memory layout for firmware images. The ATF
> address selection is adjusted recently, but the others remain.
> 
> regards
> Suman
> 
>  tools/k3_fit_atf.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/k3_fit_atf.sh b/tools/k3_fit_atf.sh
> index 3a476ced98b1..7bc07ad07468 100755
> --- a/tools/k3_fit_atf.sh
> +++ b/tools/k3_fit_atf.sh
> @@ -67,8 +67,8 @@ cat << __HEADER_EOF
>  			arch = "arm32";
>  			compression = "none";
>  			os = "DM";
> -			load = <0xa0000000>;
> -			entry = <0xa0000000>;
> +			load = <0x89000000>;
> +			entry = <0x89000000>;
>  		};
>  		spl {
>  			description = "SPL (64-bit)";
> 



More information about the U-Boot mailing list