29 lines
592 B
C
29 lines
592 B
C
|
/*
|
||
|
* Copyright (c) 2025 Advanced Micro Devices, Inc.
|
||
|
*
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*/
|
||
|
|
||
|
#include <zephyr/cache.h>
|
||
|
#include <zephyr/device.h>
|
||
|
#include <zephyr/kernel.h>
|
||
|
|
||
|
void soc_early_init_hook(void)
|
||
|
{
|
||
|
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();
|
||
|
}
|
||
|
}
|
||
|
}
|