From 303bc5acb54f0f66df9352191d8fd32dc40e5d18 Mon Sep 17 00:00:00 2001 From: Dat Nguyen Duy Date: Wed, 4 Sep 2024 00:34:04 +0700 Subject: [PATCH] soc: s32ze: clean up cache initialization Use Zephyr cache API to initialize cache as done for various platforms. Enabling CACHE_MANAGEMENT by default Signed-off-by: Dat Nguyen Duy --- soc/nxp/s32/s32ze/Kconfig.defconfig | 3 +++ soc/nxp/s32/s32ze/soc.c | 20 ++++---------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/soc/nxp/s32/s32ze/Kconfig.defconfig b/soc/nxp/s32/s32ze/Kconfig.defconfig index 7f6269ca06d..b6df44f00f6 100644 --- a/soc/nxp/s32/s32ze/Kconfig.defconfig +++ b/soc/nxp/s32/s32ze/Kconfig.defconfig @@ -18,6 +18,9 @@ config SYS_CLOCK_HW_CYCLES_PER_SEC config MAIN_STACK_SIZE default 1024 +config CACHE_MANAGEMENT + default y + if ETH_DRIVER && NET_L2_ETHERNET # NETC drops TCP/UDP packets with invalid checksum diff --git a/soc/nxp/s32/s32ze/soc.c b/soc/nxp/s32/s32ze/soc.c index da05a2085b7..9d78881d27b 100644 --- a/soc/nxp/s32/s32ze/soc.c +++ b/soc/nxp/s32/s32ze/soc.c @@ -1,5 +1,5 @@ /* - * Copyright 2022 NXP + * Copyright 2022,2024 NXP * * SPDX-License-Identifier: Apache-2.0 */ @@ -9,6 +9,7 @@ #include #include #include +#include #include @@ -27,21 +28,8 @@ void soc_reset_hook(void) */ __set_SCTLR(__get_SCTLR() & ~SCTLR_TE_Msk); - if (IS_ENABLED(CONFIG_ICACHE)) { - if (!(__get_SCTLR() & SCTLR_I_Msk)) { - L1C_InvalidateICacheAll(); - __set_SCTLR(__get_SCTLR() | SCTLR_I_Msk); - barrier_isync_fence_full(); - } - } - - if (IS_ENABLED(CONFIG_DCACHE)) { - if (!(__get_SCTLR() & SCTLR_C_Msk)) { - L1C_InvalidateDCacheAll(); - __set_SCTLR(__get_SCTLR() | SCTLR_C_Msk); - barrier_dsync_fence_full(); - } - } + sys_cache_instr_enable(); + sys_cache_data_enable(); } void soc_early_init_hook(void)