1 /*
2 * Copyright (c) 2020 - 2024 Renesas Electronics Corporation and/or its affiliates
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6 
7 #ifndef BSP_CACHE_H
8 #define BSP_CACHE_H
9 
10 /***********************************************************************************************************************
11  * Includes   <System Includes> , "Project Includes"
12  **********************************************************************************************************************/
13 #if defined(BSP_CFG_CORE_CR52)
14  #include "cr/bsp_cache_core.h"
15 #elif defined(BSP_CFG_CORE_CA55)
16  #include "ca/bsp_cache_core.h"
17 #endif
18 
19 /** Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */
20 FSP_HEADER
21 
22 /***********************************************************************************************************************
23  * Macro definitions
24  **********************************************************************************************************************/
25 
26 /***********************************************************************************************************************
27  * Typedef definitions
28  **********************************************************************************************************************/
29 
30 /***********************************************************************************************************************
31  * Exported global variables
32  **********************************************************************************************************************/
33 
34 /***********************************************************************************************************************
35  * Exported global functions (to be accessed by other files)
36  **********************************************************************************************************************/
37 
38 void R_BSP_CacheEnableInst(void);
39 void R_BSP_CacheEnableData(void);
40 void R_BSP_CacheEnableMemoryProtect(void);
41 void R_BSP_CacheDisableInst(void);
42 void R_BSP_CacheDisableData(void);
43 void R_BSP_CacheDisableMemoryProtect(void);
44 void R_BSP_CacheCleanAll(void);
45 void R_BSP_CacheInvalidateAll(void);
46 void R_BSP_CacheCleanInvalidateAll(void);
47 void R_BSP_CacheCleanRange(uintptr_t base_address, uintptr_t length);
48 void R_BSP_CacheInvalidateRange(uintptr_t base_address, uintptr_t length);
49 void R_BSP_CacheCleanInvalidateRange(uintptr_t base_address, uintptr_t length);
50 void R_BSP_CacheL3PowerCtrl(void);
51 
52 /** Common macro for FSP header files. There is also a corresponding FSP_HEADER macro at the top of this file. */
53 FSP_FOOTER
54 
55 #endif
56