[PATCH v2 07/13] imx8mm_evk: adjust dram size in case bl32 is used

Oleksandr Suvorov oleksandr.suvorov at toradex.com
Fri Mar 27 11:49:50 CET 2020


On Fri, Mar 27, 2020 at 12:29 PM Igor Opaniuk <igor.opaniuk at gmail.com> wrote:
>
> From: Igor Opaniuk <igor.opaniuk at toradex.com>
>
> Adjust DRAM size in case BL32 secure payload is loaded (OP-TEE/Trusty),
> so during MMU initialization U-Boot won't touch this mem area.
>
> BL32 is loaded to the end of DRAM, bl32 payload size is read from
> rom_pointer[1]. This relates to the issue described in
> 59efa6b52b("imx8m: Fix MMU table issue for OPTEE memory").
>
> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>

> ---
>
>  board/freescale/imx8mm_evk/imx8mm_evk.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/board/freescale/imx8mm_evk/imx8mm_evk.c b/board/freescale/imx8mm_evk/imx8mm_evk.c
> index c5fd940eeb..53ebb949df 100644
> --- a/board/freescale/imx8mm_evk/imx8mm_evk.c
> +++ b/board/freescale/imx8mm_evk/imx8mm_evk.c
> @@ -15,7 +15,11 @@ DECLARE_GLOBAL_DATA_PTR;
>
>  int dram_init(void)
>  {
> -       gd->ram_size = PHYS_SDRAM_SIZE;


> +       /* rom_pointer[1] contains the size of TEE occupies */
> +       if (rom_pointer[1])
> +               gd->ram_size = PHYS_SDRAM_SIZE - rom_pointer[1];
> +       else
> +               gd->ram_size = PHYS_SDRAM_SIZE;

Is not this code equivalent to just one line?
      gd->ram_size = PHYS_SDRAM_SIZE - rom_pointer[1];

If rom_pointer[1] == 0, so the gd->ram_size gets the PHYS_SDRAM_SIZE value.

>
>         return 0;
>  }
> --
> 2.17.1
>


-- 
Best regards
Oleksandr Suvorov

Toradex AG
Ebenaustrasse 10 | 6048 Horw | Switzerland | T: +41 41 500 48 00


More information about the U-Boot mailing list