xref: /optee_os/core/arch/arm/plat-stm32mp2/conf.mk (revision 8c38a70cc99ff416f41269774446620d7b4590b0)
190648185SThomas Bourgoinflavor_dts_file-215F_DK = stm32mp215f-dk.dts
2967e7220SThomas Bourgoinflavor_dts_file-235F_DK = stm32mp235f-dk.dts
368248727SGatien Chevallierflavor_dts_file-257F_DK = stm32mp257f-dk.dts
4bd1fffe5SGatien Chevallierflavor_dts_file-257F_EV1 = stm32mp257f-ev1.dts
5bd1fffe5SGatien Chevallier
690648185SThomas Bourgoinflavorlist-MP21 = $(flavor_dts_file-215F_DK)
7967e7220SThomas Bourgoin
8967e7220SThomas Bourgoinflavorlist-MP23 = $(flavor_dts_file-235F_DK)
9967e7220SThomas Bourgoin
1068248727SGatien Chevallierflavorlist-MP25 = $(flavor_dts_file-257F_DK) \
1168248727SGatien Chevallier		  $(flavor_dts_file-257F_EV1)
12bd1fffe5SGatien Chevallier
1390648185SThomas Bourgoin# List of all DTS for this PLATFORM
14967e7220SThomas BourgoinALL_DTS = $(flavorlist-MP21) $(flavorlist-MP23) $(flavorlist-MP25)
1590648185SThomas Bourgoin
16bd1fffe5SGatien Chevallierifneq ($(PLATFORM_FLAVOR),)
17bd1fffe5SGatien Chevallierifeq ($(flavor_dts_file-$(PLATFORM_FLAVOR)),)
18bd1fffe5SGatien Chevallier$(error Invalid platform flavor $(PLATFORM_FLAVOR))
19bd1fffe5SGatien Chevallierendif
20bd1fffe5SGatien ChevallierCFG_EMBED_DTB_SOURCE_FILE ?= $(flavor_dts_file-$(PLATFORM_FLAVOR))
21bd1fffe5SGatien Chevallierendif
22bd1fffe5SGatien ChevallierCFG_EMBED_DTB_SOURCE_FILE ?= stm32mp257f-ev1.dts
23bd1fffe5SGatien Chevallier
2490648185SThomas Bourgoinifneq ($(filter $(CFG_EMBED_DTB_SOURCE_FILE),$(flavorlist-MP21)),)
2590648185SThomas Bourgoin$(call force,CFG_STM32MP21,y)
2690648185SThomas Bourgoinendif
27967e7220SThomas Bourgoinifneq ($(filter $(CFG_EMBED_DTB_SOURCE_FILE),$(flavorlist-MP23)),)
28967e7220SThomas Bourgoin$(call force,CFG_STM32MP23,y)
29967e7220SThomas Bourgoinendif
30bd1fffe5SGatien Chevallierifneq ($(filter $(CFG_EMBED_DTB_SOURCE_FILE),$(flavorlist-MP25)),)
31bd1fffe5SGatien Chevallier$(call force,CFG_STM32MP25,y)
32bd1fffe5SGatien Chevallierendif
33bd1fffe5SGatien Chevallier
3490648185SThomas Bourgoin# CFG_STM32MP2x switches are exclusive.
3590648185SThomas Bourgoin# - CFG_STM32MP21 is enabled for STM32MP21x-* targets
36967e7220SThomas Bourgoin# - CFG_STM32MP23 is enabled for STM32MP23x-* targets
3790648185SThomas Bourgoin# - CFG_STM32MP25 is enabled for STM32MP25x-* targets (default)
3890648185SThomas Bourgoinifeq ($(CFG_STM32MP21),y)
39967e7220SThomas Bourgoin$(call force,CFG_STM32MP23,n)
40967e7220SThomas Bourgoin$(call force,CFG_STM32MP25,n)
41967e7220SThomas Bourgoinelse ifeq ($(CFG_STM32MP23),y)
42967e7220SThomas Bourgoin$(call force,CFG_STM32MP21,n)
4390648185SThomas Bourgoin$(call force,CFG_STM32MP25,n)
4490648185SThomas Bourgoinelse
4590648185SThomas Bourgoin$(call force,CFG_STM32MP21,n)
46967e7220SThomas Bourgoin$(call force,CFG_STM32MP23,n)
4790648185SThomas Bourgoin$(call force,CFG_STM32MP25,y)
48bd1fffe5SGatien Chevallierendif
49bd1fffe5SGatien Chevallier
50bd1fffe5SGatien Chevallierinclude core/arch/arm/cpu/cortex-armv8-0.mk
51bd1fffe5SGatien Chevalliersupported-ta-targets ?= ta_arm64
52bd1fffe5SGatien Chevallier
53bd1fffe5SGatien Chevallier$(call force,CFG_ARM64_core,y)
54f6f2dc44SEtienne Carriere$(call force,CFG_CORE_ASYNC_NOTIF,y)
55f6f2dc44SEtienne Carriere$(call force,CFG_CORE_ASYNC_NOTIF_GIC_INTID,31)
56bd1fffe5SGatien Chevallier$(call force,CFG_DRIVERS_CLK,y)
57bd1fffe5SGatien Chevallier$(call force,CFG_DRIVERS_CLK_DT,y)
58bd1fffe5SGatien Chevallier$(call force,CFG_DRIVERS_GPIO,y)
59bd1fffe5SGatien Chevallier$(call force,CFG_DRIVERS_PINCTRL,y)
60bd1fffe5SGatien Chevallier$(call force,CFG_DT,y)
61bd1fffe5SGatien Chevallier$(call force,CFG_GIC,y)
627653887eSGatien Chevallier$(call force,CFG_HALT_CORES_SGI,15)
63bd1fffe5SGatien Chevallier$(call force,CFG_INIT_CNTVOFF,y)
640a54a402SValentin Caron$(call force,CFG_SCMI_SCPFW_PRODUCT,stm32mp2)
65bd1fffe5SGatien Chevallier$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y)
66e2d9f64aSGabriel Fernandez$(call force,CFG_STM32_SHARED_IO,y)
6737de1791SGatien Chevallier$(call force,CFG_STM32_STGEN,y)
6828c10f9eSGabriel Fernandez$(call force,CFG_STM32MP_CLK_CORE,y)
69bd1fffe5SGatien Chevallier$(call force,CFG_WITH_ARM_TRUSTED_FW,y)
70bd1fffe5SGatien Chevallier$(call force,CFG_WITH_LPAE,y)
71bd1fffe5SGatien Chevallier
7290648185SThomas Bourgoinifeq ($(CFG_STM32MP21),y)
73ce59899cSGabriel Fernandez$(call force,CFG_STM32MP21_CLK,y)
74ce59899cSGabriel Fernandez$(call force,CFG_STM32MP21_RSTCTRL,y)
7590648185SThomas Bourgoinelse
7690648185SThomas Bourgoin$(call force,CFG_STM32MP25_CLK,y)
7790648185SThomas Bourgoin$(call force,CFG_STM32MP25_RSTCTRL,y)
7890648185SThomas Bourgoinendif
7990648185SThomas Bourgoin
80bd1fffe5SGatien ChevallierCFG_TZDRAM_START ?= 0x82000000
81bd1fffe5SGatien ChevallierCFG_TZDRAM_SIZE  ?= 0x02000000
82bd1fffe5SGatien Chevallier
8314c31b4fSGatien Chevallier# Support DDR ranges up to 8GBytes (address range: 0x80000000 + DDR size)
8414c31b4fSGatien ChevallierCFG_CORE_LARGE_PHYS_ADDR ?= y
8514c31b4fSGatien ChevallierCFG_CORE_ARM64_PA_BITS ?= 34
8614c31b4fSGatien Chevallier
87bd1fffe5SGatien ChevallierCFG_CORE_HEAP_SIZE ?= 262144
88bd1fffe5SGatien ChevallierCFG_CORE_RESERVED_SHM ?= n
89bd1fffe5SGatien ChevallierCFG_DTB_MAX_SIZE ?= 262144
907653887eSGatien ChevallierCFG_MULTI_CORE_HALTING ?= y
91bd1fffe5SGatien ChevallierCFG_MMAP_REGIONS ?= 30
92bd1fffe5SGatien ChevallierCFG_NUM_THREADS ?= 5
9390648185SThomas Bourgoinifeq ($(CFG_STM32MP21),y)
9490648185SThomas Bourgoin$(call force,CFG_TEE_CORE_NB_CORE,1)
9590648185SThomas Bourgoinendif
96bd1fffe5SGatien ChevallierCFG_TEE_CORE_NB_CORE ?= 2
9728c10f9eSGabriel FernandezCFG_STM32MP_OPP_COUNT ?= 3
98bd1fffe5SGatien Chevallier
996bf5be91SAntonio BorneoCFG_STM32_EXTI ?= y
100db0e1c91SGatien ChevallierCFG_STM32_FMC ?= y
101bd1fffe5SGatien ChevallierCFG_STM32_GPIO ?= y
102a877ebcaSGatien ChevallierCFG_STM32_HPDMA ?= y
10397cbe3e2SGatien ChevallierCFG_STM32_HSEM ?= y
104*8c38a70cSThomas BourgoinCFG_STM32_I2C ?= y
105e3d0f2c5SGatien ChevallierCFG_STM32_IAC ?= y
1066bab4718SGatien ChevallierCFG_STM32_IPCC ?= y
1079bfde4b3SEtienne CarriereCFG_STM32_IWDG ?= y
1084561617bSGatien ChevallierCFG_STM32_OMM ?= y
109203147e2SGatien ChevallierCFG_STM32_RIF ?= y
11082e29075SGatien ChevallierCFG_STM32_RIFSC ?= y
1118a40e620SGatien ChevallierCFG_STM32_RISAB ?= y
1128c3cd017SGatien ChevallierCFG_STM32_RISAF ?= y
11354d90e3fSGatien ChevallierCFG_STM32_RNG ?= y
1144dcbaa6dSGatien ChevallierCFG_STM32_RTC ?= y
115e72d7bc5SGatien ChevallierCFG_STM32_SERC ?= y
116b8125477SGatien ChevallierCFG_STM32_TAMP ?= y
117bd1fffe5SGatien ChevallierCFG_STM32_UART ?= y
118bd1fffe5SGatien Chevallier
119*8c38a70cSThomas BourgoinCFG_DRIVERS_I2C ?= $(CFG_STM32_I2C)
120*8c38a70cSThomas Bourgoin
121446da993SClément Le Goffic# Default RTC accuracy, higher accuracy means higher power consumption
122446da993SClément Le GofficCFG_STM32_RTC_HIGH_ACCURACY ?= n
123446da993SClément Le Goffic
1240a54a402SValentin CaronCFG_SCMI_PTA ?= y
12531e114faSThomas BourgoinCFG_SCMI_SCPFW ?= y
1260a54a402SValentin CaronCFG_SCMI_SCPFW_FROM_DT ?= y
1270a54a402SValentin CaronCFG_SCMI_SERVER_CLOCK_CONSUMER ?= y
1280a54a402SValentin CaronCFG_SCMI_SERVER_RESET_CONSUMER ?= y
129bd1fffe5SGatien Chevallier# Default enable some test facitilites
130cb30e9d1SGatien ChevallierCFG_ENABLE_EMBEDDED_TESTS ?= y
131bd1fffe5SGatien ChevallierCFG_WITH_STATS ?= y
132bd1fffe5SGatien Chevallier
133bd1fffe5SGatien Chevallier# Default disable ASLR
134bd1fffe5SGatien ChevallierCFG_CORE_ASLR ?= n
135bd1fffe5SGatien Chevallier
136bd1fffe5SGatien Chevallier# UART instance used for early console (0 disables early console)
137bd1fffe5SGatien ChevallierCFG_STM32_EARLY_CONSOLE_UART ?= 2
138bd1fffe5SGatien Chevallier
139bd1fffe5SGatien Chevallier# Default disable external DT support
140bd1fffe5SGatien ChevallierCFG_EXTERNAL_DT ?= n
14154d90e3fSGatien Chevallier
14254d90e3fSGatien Chevallier# Default enable HWRNG PTA support
14354d90e3fSGatien ChevallierCFG_HWRNG_PTA ?= y
14454d90e3fSGatien Chevallierifeq ($(CFG_HWRNG_PTA),y)
14554d90e3fSGatien Chevallier$(call force,CFG_STM32_RNG,y,Required by CFG_HWRNG_PTA)
14654d90e3fSGatien Chevallier$(call force,CFG_WITH_SOFTWARE_PRNG,n,Required by CFG_HWRNG_PTA)
14754d90e3fSGatien ChevallierCFG_HWRNG_QUALITY ?= 1024
14854d90e3fSGatien Chevallierendif
149b0323341SGabriel Fernandez
15011d68b67SEtienne Carriere# Watchdog SMC service to non-secure world
15111d68b67SEtienne CarriereCFG_WDT ?= $(CFG_STM32_IWDG)
15211d68b67SEtienne CarriereCFG_WDT_SM_HANDLER ?= $(CFG_WDT)
15311d68b67SEtienne CarriereCFG_WDT_SM_HANDLER_ID ?= 0xbc000000
15411d68b67SEtienne Carriere
155b0323341SGabriel Fernandez# Enable reset control
15690648185SThomas Bourgoinifeq ($(CFG_STM32MP21_RSTCTRL),y)
15790648185SThomas Bourgoin$(call force,CFG_DRIVERS_RSTCTRL,y)
15890648185SThomas Bourgoin$(call force,CFG_STM32_RSTCTRL,y)
15990648185SThomas Bourgoinendif
160b0323341SGabriel Fernandezifeq ($(CFG_STM32MP25_RSTCTRL),y)
161b0323341SGabriel Fernandez$(call force,CFG_DRIVERS_RSTCTRL,y)
162b0323341SGabriel Fernandez$(call force,CFG_STM32_RSTCTRL,y)
163b0323341SGabriel Fernandezendif
1641c32a0eaSGatien Chevallier
1651c32a0eaSGatien Chevallier# Optional behavior upon receiving illegal access events
1661c32a0eaSGatien ChevallierCFG_STM32_PANIC_ON_IAC_EVENT ?= y
1671c32a0eaSGatien Chevallierifeq ($(CFG_TEE_CORE_DEBUG),y)
1681c32a0eaSGatien ChevallierCFG_STM32_PANIC_ON_SERC_EVENT ?= n
1691c32a0eaSGatien Chevallierelse
1701c32a0eaSGatien ChevallierCFG_STM32_PANIC_ON_SERC_EVENT ?= y
1711c32a0eaSGatien Chevallierendif
172486762a5SGatien Chevallier
173486762a5SGatien Chevallier# Default enable firewall support
174486762a5SGatien ChevallierCFG_DRIVERS_FIREWALL ?= y
17513748e67SGatien Chevallierifeq ($(call cfg-one-enabled, CFG_STM32_RISAB CFG_STM32_RIFSC),y)
17613748e67SGatien Chevallier$(call force,CFG_DRIVERS_FIREWALL,y)
17713748e67SGatien Chevallierendif
178dcdbcea2SGatien Chevallier
179dcdbcea2SGatien Chevallier# Enable RTC
180dcdbcea2SGatien Chevallierifeq ($(CFG_STM32_RTC),y)
181dcdbcea2SGatien Chevallier$(call force,CFG_DRIVERS_RTC,y)
182f2699bc4SClément Le Goffic$(call force,CFG_RTC_PTA,y)
183dcdbcea2SGatien Chevallierendif
184321b5b24SGatien Chevallier
185321b5b24SGatien Chevallierifeq ($(CFG_STM32_SERC),y)
186321b5b24SGatien Chevallier$(call force,CFG_EXTERNAL_ABORT_PLAT_HANDLER,y)
187321b5b24SGatien Chevallierendif
188