stm32mp1: dynamically map DDR later and non-cacheable during its test
A speculative accesses to DDR could be done whereas it was not reachable
and could lead to bus stall.
To correct this the dynamic mapping in MMU is used.
A first mapping is done for DDR tests with MT_NON_CACHEABLE attribute,
once DDR access is setup. It is then unmapped and a new mapping DDR is done
with cacheable attribute (through MT_MEMORY) to speed-up BL33 (or OP-TEE)
load.

The disabling of cache during DDR tests is also removed, as now useless.
A call to new functions stm32mp_{,un}map_ddr_non_cacheable() is done
instead.

PLAT_XLAT_TABLES_DYNAMIC is activated globally as used in BL2 and BL32.

BL33 max size is also updated to take into account the secure and shared
memory areas. Those are used in OP-TEE case.

Change-Id: I22c48b4a48255ee264991c34ecbb15bfe87e67c3
Signed-off-by: Yann Gautier <yann.gautier@st.com>
1 parent e6cc3cc commit 84686ba3475d1b6d2aa6c506a378d79cb5b38014
@Yann Gautier Yann Gautier authored on 10 Jan 2020
Showing 6 changed files
View
drivers/st/ddr/stm32mp1_ram.c
View
plat/st/common/include/stm32mp_common.h
View
plat/st/common/stm32mp_common.c
View
plat/st/stm32mp1/bl2_plat_setup.c
View
plat/st/stm32mp1/plat_image_load.c
View
plat/st/stm32mp1/platform.mk