]> git.sur5r.net Git - u-boot/blob - arch/arc/include/asm/cache.h
2269183615fb1e8843de517ddb50d2c1a118ae90
[u-boot] / arch / arc / include / asm / cache.h
1 /*
2  * Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 #ifndef __ASM_ARC_CACHE_H
8 #define __ASM_ARC_CACHE_H
9
10 #include <config.h>
11
12 /*
13  * As of today we may handle any L1 cache line length right in software.
14  * For that essentially cache line length is a variable not constant.
15  * And to satisfy users of ARCH_DMA_MINALIGN we just use largest line length
16  * that may exist in either L1 or L2 (AKA SLC) caches on ARC.
17  */
18 #define ARCH_DMA_MINALIGN       128
19
20 #if defined(ARC_MMU_ABSENT)
21 #define CONFIG_ARC_MMU_VER 0
22 #elif defined(CONFIG_ARC_MMU_V2)
23 #define CONFIG_ARC_MMU_VER 2
24 #elif defined(CONFIG_ARC_MMU_V3)
25 #define CONFIG_ARC_MMU_VER 3
26 #elif defined(CONFIG_ARC_MMU_V4)
27 #define CONFIG_ARC_MMU_VER 4
28 #endif
29
30 #ifndef __ASSEMBLY__
31
32 void cache_init(void);
33 void flush_n_invalidate_dcache_all(void);
34 void sync_n_cleanup_cache_all(void);
35
36 static const inline int is_ioc_enabled(void)
37 {
38         return IS_ENABLED(CONFIG_ARC_DBG_IOC_ENABLE);
39 }
40
41 #endif /* __ASSEMBLY__ */
42
43 #endif /* __ASM_ARC_CACHE_H */