board: stm32mp1: reserve memory for OP-TEE in device tree
authorPatrick Delaunay <patrick.delaunay@st.com>
Wed, 18 Mar 2020 08:22:48 +0000 (09:22 +0100)
committerPatrick Delaunay <patrick.delaunay@st.com>
Thu, 14 May 2020 07:02:12 +0000 (09:02 +0200)
commit4a1b975dac0270f553f5a58b0e7d809c8c8ef61f
treece32e71d8d6d6cda9ce4c3c35545bfb55e1e1285
parent28a28ba9764d02b1e52938b5f7d322ffd13b01f1
board: stm32mp1: reserve memory for OP-TEE in device tree

Add reserve memory for OP-TEE in U-Boot and in kernel device tree:
- no more reduce the DDR size in "memory" node:
  CONFIG_SYS_MEM_TOP_HIDE is no more used
- U-Boot device-tree defines the needed "reserved-memory" for OP-TEE
  and U-Boot should not use this reserved memory: board_get_usable_ram_top
  use lmb lib to found the first free region, the not reserved
  memory, enough to relocate U-Boot: the needed size of U-Boot
  is estimated with gd->mon_len + CONFIG_SYS_MALLOC_LEN.
- the optee node ("optee@...": firmware with compatible "linaro,optee-tz")
  and the associated "reserved-memory" are deactivated in kernel device
  tree when OP-TEE is not detected by U-Boot to prevent kernel issue
  (memory is reserved but not used, optee driver probe failed).

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
arch/arm/dts/stm32mp157c-ed1.dts
arch/arm/dts/stm32mp15xx-dkx.dtsi
arch/arm/mach-stm32mp/dram_init.c
arch/arm/mach-stm32mp/fdt.c
include/configs/stm32mp1.h