The ROM pointers are in fact populated by the ATF BL31 blob, in case U-Boot itself if the PSCI provider, there is no ATF BL31 blob, hence ignore the ROM pointers.
Signed-off-by: Marek Vasut <ma...@denx.de> --- Cc: "Ariel D'Alessandro" <ariel.dalessan...@collabora.com> Cc: "NXP i.MX U-Boot Team" <uboot-...@nxp.com> Cc: "Ying-Chun Liu (PaulLiu)" <paul....@linaro.org> Cc: Adam Ford <aford...@gmail.com> Cc: Andrejs Cainikovs <andrejs.cainik...@toradex.com> Cc: Fabio Estevam <feste...@gmail.com> Cc: Manoj Sai <abbaraju.manoj...@amarulasolutions.com> Cc: Marcel Ziswiler <marcel.ziswi...@toradex.com> Cc: Michael Trimarchi <mich...@amarulasolutions.com> Cc: Peng Fan <peng....@nxp.com> Cc: Ricardo Salveti <rica...@foundries.io> Cc: Simon Glass <s...@chromium.org> Cc: Stefano Babic <sba...@denx.de> Cc: Tim Harvey <thar...@gateworks.com> Cc: Ye Li <ye...@nxp.com> --- arch/arm/mach-imx/imx8m/soc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c index 5e92f8143cf..96c6e69aae4 100644 --- a/arch/arm/mach-imx/imx8m/soc.c +++ b/arch/arm/mach-imx/imx8m/soc.c @@ -238,7 +238,7 @@ int dram_init(void) return ret; /* rom_pointer[1] contains the size of TEE occupies */ - if (rom_pointer[1]) + if (!IS_ENABLED(CONFIG_ARMV8_PSCI) && rom_pointer[1]) gd->ram_size = sdram_size - rom_pointer[1]; else gd->ram_size = sdram_size; @@ -267,7 +267,7 @@ int dram_init_banksize(void) } gd->bd->bi_dram[bank].start = PHYS_SDRAM; - if (rom_pointer[1]) { + if (!IS_ENABLED(CONFIG_ARMV8_PSCI) && rom_pointer[1]) { phys_addr_t optee_start = (phys_addr_t)rom_pointer[0]; phys_size_t optee_size = (size_t)rom_pointer[1]; @@ -312,7 +312,7 @@ phys_size_t get_effective_memsize(void) sdram_b1_size = sdram_size; } - if (rom_pointer[1]) { + if (!IS_ENABLED(CONFIG_ARMV8_PSCI) && rom_pointer[1]) { /* We will relocate u-boot to Top of dram1. Tee position has two cases: * 1. At the top of dram1, Then return the size removed optee size. * 2. In the middle of dram1, return the size of dram1. @@ -344,7 +344,8 @@ phys_size_t board_get_usable_ram_top(phys_size_t total_size) * rom_pointer[1] stores the size TEE uses. * We need to reserve the memory region for TEE. */ - if (rom_pointer[0] && rom_pointer[1] && top_addr > rom_pointer[0]) + if (!IS_ENABLED(CONFIG_ARMV8_PSCI) && rom_pointer[0] && + rom_pointer[1] && top_addr > rom_pointer[0]) top_addr = rom_pointer[0]; return top_addr; -- 2.35.1