CFG_STM32MP_PROFILE ?= secure_and_system_services, so this means it will be running in SYSRAM right? but after that it forces to use DDR ($(call force,CFG_STM32MP1_OPTEE_IN_SYSRAM,n)
) why? I will also attach my conf.mk and U-boot device tree file below.----------------------------------------------------------------# 1GB and 512MB DDR targets do not locate secure DDR at the same place.
flavor_dts_file-157A_DHCOR_AVENGER96 = stm32mp157a-dhcor-avenger96.dts
flavor_dts_file-157A_DK1 = stm32mp157a-dk1.dts
flavor_dts_file-157A_ED1 = stm32mp157a-ed1.dts
flavor_dts_file-157A_EV1 = stm32mp157a-ev1.dts
flavor_dts_file-157C_DHCOM_PDK2 = stm32mp157c-dhcom-pdk2.dts
flavor_dts_file-157C_DK2 = stm32mp157c-dk2.dts
flavor_dts_file-157C_ED1 = stm32mp157c-ed1.dts
flavor_dts_file-157C_EV1 = stm32mp157c-ev1.dts
flavor_dts_file-157D_DK1 = stm32mp157d-dk1.dts
flavor_dts_file-157D_ED1 = stm32mp157d-ed1.dts
flavor_dts_file-157D_EV1 = stm32mp157d-ev1.dts
flavor_dts_file-157F_DK2 = stm32mp157f-dk2.dts
flavor_dts_file-157F_ED1 = stm32mp157f-ed1.dts
flavor_dts_file-157F_EV1 = stm32mp157f-ev1.dts
flavor_dts_file-135F_DK = stm32mp135f-dk.dts
flavor_dts_file-135D_ODYSSEY = stm32mp135d-odyssey.dts
flavorlist-cryp-512M = $(flavor_dts_file-157C_DK2) \
$(flavor_dts_file-157F_DK2) \
$(flavor_dts_file-135F_DK) \
$(flavor_dts_file-135D_ODYSSEY)
flavorlist-no_cryp-512M = $(flavor_dts_file-157A_DK1) \
$(flavor_dts_file-157D_DK1)
flavorlist-cryp-1G = $(flavor_dts_file-157C_DHCOM_PDK2) \
$(flavor_dts_file-157C_ED1) \
$(flavor_dts_file-157C_EV1) \
$(flavor_dts_file-157F_ED1) \
$(flavor_dts_file-157F_EV1)
flavorlist-no_cryp-1G = $(flavor_dts_file-157A_ED1) \
$(flavor_dts_file-157A_EV1) \
$(flavor_dts_file-157A_DHCOR_AVENGER96) \
$(flavor_dts_file-157D_ED1) \
$(flavor_dts_file-157D_EV1)
flavorlist-no_cryp = $(flavorlist-no_cryp-512M) \
$(flavorlist-no_cryp-1G)
flavorlist-512M = $(flavorlist-cryp-512M) \
$(flavorlist-no_cryp-512M)
flavorlist-1G = $(flavorlist-cryp-1G) \
$(flavorlist-no_cryp-1G)
flavorlist-MP15 = $(flavor_dts_file-157A_DHCOR_AVENGER96) \
$(flavor_dts_file-157A_DK1) \
$(flavor_dts_file-157A_ED1) \
$(flavor_dts_file-157A_EV1) \
$(flavor_dts_file-157C_DHCOM_PDK2) \
$(flavor_dts_file-157C_DK2) \
$(flavor_dts_file-157C_ED1) \
$(flavor_dts_file-157C_EV1) \
$(flavor_dts_file-157D_DK1) \
$(flavor_dts_file-157D_ED1) \
$(flavor_dts_file-157D_EV1) \
$(flavor_dts_file-157F_DK2) \
$(flavor_dts_file-157F_ED1) \
$(flavor_dts_file-157F_EV1)
#flavorlist-MP13 = $(flavor_dts_file-135F_DK)
flavorlist-MP13 = $(flavor_dts_file-135D_ODYSSEY)
# External device tree default path
CFG_EXT_DTS ?= $(arch-dir)/dts/external-dt/optee
# Extend flavorlists with external device trees
ifneq ($(wildcard $(CFG_EXT_DTS)/conf.mk),)
-include $(CFG_EXT_DTS)/conf.mk
endif
# List of all DTS for this PLATFORM
ALL_DTS = $(flavorlist-MP15) $(flavorlist-MP13)
# Check if device-tree exist in OP-TEE source code, else search it in external
# device tree repository
ifeq ($(wildcard $(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE)),)
ifneq ($(wildcard $(CFG_EXT_DTS)/$(CFG_EMBED_DTB_SOURCE_FILE)),)
override dts-source-path := $(CFG_EXT_DTS)
else
$(error Cannot find DTS file $(CFG_EXT_DTS)/$(CFG_EMBED_DTB_SOURCE_FILE))
endif
endif
ifneq ($(PLATFORM_FLAVOR),)
ifeq ($(flavor_dts_file-$(PLATFORM_FLAVOR)),)
$(error Invalid platform flavor $(PLATFORM_FLAVOR))
endif
CFG_EMBED_DTB_SOURCE_FILE ?= $(flavor_dts_file-$(PLATFORM_FLAVOR))
endif
CFG_EMBED_DTB_SOURCE_FILE ?= stm32mp157c-dk2.dts
# CFG_STM32MP1x switches are exclusive.
# - CFG_STM32MP15 is enabled for STM32MP15x-* targets (default)
# - CFG_STM32MP13 is enabled for STM32MP13x-* targets
# We try to guess the variant from the embedded DT source file name
ifneq ($(filter $(CFG_EMBED_DTB_SOURCE_FILE),$(flavorlist-MP13)),)
$(call force,CFG_STM32MP13,y)
endif
ifneq ($(filter $(CFG_EMBED_DTB_SOURCE_FILE),$(flavorlist-MP15)),)
$(call force,CFG_STM32MP15,y)
endif
ifeq ($(CFG_STM32MP13),y)
$(call force,CFG_STM32MP15,n)
else
$(call force,CFG_STM32MP15,y)
$(call force,CFG_STM32MP13,n)
endif
ifeq ($(call cfg-one-enabled,CFG_STM32MP15 CFG_STM32MP13),n)
$(error One of CFG_STM32MP15 CFG_STM32MP13 must be enabled)
endif
ifeq ($(call cfg-all-enabled,CFG_STM32MP15 CFG_STM32MP13),y)
$(error Only one of CFG_STM32MP15 CFG_STM32MP13 must be enabled)
endif
# CFG_STM32MP_PROFILE selects the profile of the services embedded
# in OP-TEE.
ifeq ($(CFG_STM32MP13),y)
# STM32MP13: default select secure_and_system_services.
# Alternate system_services is supported.
CFG_STM32MP_PROFILE ?= secure_and_system_services
endif #CFG_STM32MP13
ifeq ($(CFG_STM32MP15),y)
# STM32MP15: default select system_services, OP-TEE executes in DDR
# (i.e. CFG_STM32MP1_OPTEE_IN_SYSRAM=n).
# Alternate secure_and_system_services executes in SRAM
# (i.e. CFG_STM32MP1_OPTEE_IN_SYSRAM=y).
ifeq ($(CFG_STM32MP1_OPTEE_IN_SYSRAM),y)
$(call force,CFG_STM32MP_PROFILE,secure_and_system_services)
endif
CFG_STM32MP_PROFILE ?= system_services
ifeq ($(CFG_STM32MP_PROFILE),secure_and_system_services)
$(call force,CFG_STM32MP1_OPTEE_IN_SYSRAM,y,Required by secure_and_system_services profile)
else
$(call force,CFG_STM32MP1_OPTEE_IN_SYSRAM,n,Required by system_services profile)
endif
endif #CFG_STM32MP15
ifeq ($(filter $(CFG_STM32MP_PROFILE),system_services secure_and_system_services),)
$(error CFG_STM32MP_PROFILE shall be one of system_services or secure_and_system_services)
endif
ifeq ($(CFG_STM32MP_PROFILE),system_services)
include $(platform-dir)/conf.disable-secure-services.mk
endif
ifneq ($(filter $(CFG_EMBED_DTB_SOURCE_FILE),$(flavorlist-no_cryp)),)
$(call force,CFG_STM32_CRYP,n)
$(call force,CFG_STM32_PKA,n)
$(call force,CFG_STM32_SAES,n)
endif
ifneq ($(filter $(CFG_EMBED_DTB_SOURCE_FILE),$(flavorlist-no_rng)),)
$(call force,CFG_HWRNG_PTA,n)
$(call force,CFG_STM32_PKA,n)
$(call force,CFG_STM32_SAES,n)
CFG_WITH_SOFTWARE_PRNG ?= y
endif
# Default do not access external DT passed to non-secure boot stage
CFG_EXTERNAL_DT ?= n
include core/arch/arm/cpu/cortex-a7.mk
$(call force,CFG_ARM_GIC_PM,y)
$(call force,CFG_DRIVERS_CLK,y)
$(call force,CFG_DRIVERS_CLK_DT,y)
$(call force,CFG_DRIVERS_GPIO,y)
$(call force,CFG_DRIVERS_PINCTRL,y)
$(call force,CFG_DRIVERS_REGULATOR,y)
$(call force,CFG_GIC,y)
$(call force,CFG_INIT_CNTVOFF,y)
$(call force,CFG_PM_ARM32,y)
$(call force,CFG_PSCI_ARM32,y)
$(call force,CFG_REGULATOR_FIXED,y)
$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y)
$(call force,CFG_SM_PLATFORM_HANDLER,y)
$(call force,CFG_STM32_SHARED_IO,y)
ifeq ($(CFG_STM32MP13),y)
$(call force,CFG_BOOT_SECONDARY_REQUEST,n)
$(call force,CFG_CORE_ASYNC_NOTIF,y)
$(call force,CFG_CORE_ASYNC_NOTIF_GIC_INTID,31)
$(call force,CFG_CORE_RESERVED_SHM,n)
$(call force,CFG_DRIVERS_ADC,y)
$(call force,CFG_DRIVERS_CLK,y)
$(call force,CFG_DRIVERS_CLK_FIXED,y)
$(call force,CFG_SCMI_MSG_PERF_DOMAIN,y)
$(call force,CFG_SECONDARY_INIT_CNTFRQ,n)
$(call force,CFG_STM32_EXTI,y)
$(call force,CFG_STM32_GPIO,y)
$(call force,CFG_STM32_HSE_MONITORING,y)
$(call force,CFG_STM32_VREFBUF,y)
$(call force,CFG_STM32MP_CLK_CORE,y)
$(call force,CFG_STM32MP1_OPTEE_IN_SYSRAM,n)
$(call force,CFG_STM32MP1_SHARED_RESOURCES,n)
$(call force,CFG_STM32MP1_RSTCTRL,y)
$(call force,CFG_STM32MP13_CLK,y)
$(call force,CFG_STM32MP13_REGULATOR_IOD,y)
$(call force,CFG_TEE_CORE_NB_CORE,1)
$(call force,CFG_WITH_NSEC_GPIOS,n)
CFG_STM32MP_OPP_COUNT ?= 3
CFG_STM32_ADC ?= y
CFG_WITH_PAGER ?= n
CFG_WITH_TUI ?= y
endif # CFG_STM32MP13
ifeq ($(CFG_STM32MP15),y)
$(call force,CFG_BOOT_SECONDARY_REQUEST,y)
$(call force,CFG_DRIVERS_CLK_FIXED,y)
$(call force,CFG_DDR_LOWPOWER,y)
$(call force,CFG_HALT_CORES_ON_PANIC_SGI,15)
$(call force,CFG_SCMI_MSG_PERF_DOMAIN,n)
$(call force,CFG_SECONDARY_INIT_CNTFRQ,y)
$(call force,CFG_STM32MP1_SHARED_RESOURCES,y)
$(call force,CFG_STM32_PKA,n)
$(call force,CFG_STM32_SAES,n)
$(call force,CFG_STM32MP1_RSTCTRL,y)
$(call force,CFG_STM32MP15_CLK,y)
$(call force,CFG_STM32MP_CLK_CORE,y)
CFG_CORE_RESERVED_SHM ?= n
CFG_HALT_CORES_ON_PANIC ?= y
CFG_TEE_CORE_NB_CORE ?= 2
CFG_STM32MP1_OPTEE_IN_SYSRAM ?= n
ifeq ($(CFG_STM32MP1_OPTEE_IN_SYSRAM),y)
$(call force,CFG_WITH_PAGER,y)
CFG_STM32MP15_HUK ?= y
endif
endif # CFG_STM32MP15