mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-11 13:56:30 +00:00
ef639e6f70
[1] Align cache management functions to those in Linux kernel. I.e.: a) Use the same functions for all cache ops (D$ Inv/Flush) b) Split cache ops in 3 sub-functions: "before", "lineloop" and "after". That way we may re-use "before" and "after" functions for region and full cache ops. [2] Implement full-functional L2 (SLC) management. Before SLC was simply disabled early on boot. It's also possible to enable or disable L2 cache from config utility. [3] Disable/enable corresponding caches early on boot. So if U-Boot is configured to use caches they will be used at all times (this is useful in partucular for speed-up of relocation). Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
36 lines
783 B
C
36 lines
783 B
C
/*
|
|
* Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef __ASM_ARC_CACHE_H
|
|
#define __ASM_ARC_CACHE_H
|
|
|
|
#include <config.h>
|
|
|
|
#ifdef CONFIG_ARC_CACHE_LINE_SHIFT
|
|
#define CONFIG_SYS_CACHELINE_SIZE (1 << CONFIG_ARC_CACHE_LINE_SHIFT)
|
|
#define ARCH_DMA_MINALIGN CONFIG_SYS_CACHELINE_SIZE
|
|
#else
|
|
/* Satisfy users of ARCH_DMA_MINALIGN */
|
|
#define ARCH_DMA_MINALIGN 128
|
|
#endif
|
|
|
|
#if defined(ARC_MMU_ABSENT)
|
|
#define CONFIG_ARC_MMU_VER 0
|
|
#elif defined(CONFIG_ARC_MMU_V2)
|
|
#define CONFIG_ARC_MMU_VER 2
|
|
#elif defined(CONFIG_ARC_MMU_V3)
|
|
#define CONFIG_ARC_MMU_VER 3
|
|
#elif defined(CONFIG_ARC_MMU_V4)
|
|
#define CONFIG_ARC_MMU_VER 4
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
void cache_init(void);
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
#endif /* __ASM_ARC_CACHE_H */
|