STM32 Cortex-M33, such as the L5/H5/U5 series, have a cache peripheral for instruction and data caches, which are not present in the C-M33 architecture spec. The driver defaults to direct mapped cache as it uses less power than the alternative set associative mapping [1]. This has also been the default in stm32 soc initialization code for chips that have the ICACHE peripheral, which makes it the safest choice for backward compatibility. The exception to the rule is STM32L5, which has the n-way cache mode selected in SOC code. [1]: https://en.wikipedia.org/wiki/Cache_placement_policies Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
14 lines
556 B
CMake
14 lines
556 B
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
zephyr_syscall_header(${ZEPHYR_BASE}/include/zephyr/cache.h)
|
|
|
|
zephyr_library()
|
|
zephyr_library_property(ALLOW_EMPTY TRUE)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_CACHE_ASPEED cache_aspeed.c)
|
|
zephyr_library_sources_ifdef(CONFIG_CACHE_ANDES cache_andes.c)
|
|
zephyr_library_sources_ifdef(CONFIG_USERSPACE cache_handlers.c)
|
|
zephyr_library_sources_ifdef(CONFIG_CACHE_NRF_CACHE cache_nrf.c)
|
|
zephyr_library_sources_ifdef(CONFIG_CACHE_NXP_XCACHE cache_nxp_xcache.c)
|
|
zephyr_library_sources_ifdef(CONFIG_CACHE_STM32 cache_stm32.c)
|