1 /*
2  * Copyright 2025 NXP
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <zephyr/kernel.h>
8 #include <zephyr/drivers/cache.h>
9 #include <zephyr/logging/log.h>
10 #include <fsl_cache_lpcac.h>
11 
cache_instr_enable(void)12 void cache_instr_enable(void)
13 {
14 	L1CACHE_EnableCodeCache();
15 }
16 
cache_instr_disable(void)17 void cache_instr_disable(void)
18 {
19 	L1CACHE_DisableCodeCache();
20 }
21 
cache_instr_flush_all(void)22 int cache_instr_flush_all(void)
23 {
24 	return -ENOTSUP;
25 }
26 
cache_instr_invd_all(void)27 int cache_instr_invd_all(void)
28 {
29 	L1CACHE_InvalidateCodeCache();
30 
31 	return 0;
32 }
33 
cache_instr_flush_and_invd_all(void)34 int cache_instr_flush_and_invd_all(void)
35 {
36 	return -ENOTSUP;
37 }
38 
cache_instr_flush_range(void * addr,size_t size)39 int cache_instr_flush_range(void *addr, size_t size)
40 {
41 	ARG_UNUSED(addr);
42 	ARG_UNUSED(size);
43 	return -ENOTSUP;
44 }
45 
cache_instr_invd_range(void * addr,size_t size)46 int cache_instr_invd_range(void *addr, size_t size)
47 {
48 	ARG_UNUSED(addr);
49 	ARG_UNUSED(size);
50 	return -ENOTSUP;
51 }
52 
cache_instr_flush_and_invd_range(void * addr,size_t size)53 int cache_instr_flush_and_invd_range(void *addr, size_t size)
54 {
55 	ARG_UNUSED(addr);
56 	ARG_UNUSED(size);
57 	return -ENOTSUP;
58 }
59