]> git.baikalelectronics.ru Git - arm-tf.git/commit
stm32mp1: dynamically map DDR later and non-cacheable during its test
authorYann Gautier <yann.gautier@st.com>
Fri, 10 Jan 2020 17:18:59 +0000 (18:18 +0100)
committerYann Gautier <yann.gautier@st.com>
Thu, 26 Mar 2020 17:33:39 +0000 (18:33 +0100)
commit84686ba3475d1b6d2aa6c506a378d79cb5b38014
treeb5f65e6bd63f46fad40a1494c1b945d0470fd81e
parente6cc3ccfc2efa1c9732da34c74f8d2bcc5e25a5a
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>
drivers/st/ddr/stm32mp1_ram.c
plat/st/common/include/stm32mp_common.h
plat/st/common/stm32mp_common.c
plat/st/stm32mp1/bl2_plat_setup.c
plat/st/stm32mp1/plat_image_load.c
plat/st/stm32mp1/platform.mk