powerpc, 8xx: Move cache function into C files
[platform/kernel/u-boot.git] / arch / powerpc / cpu / mpc8xx / cache.c
1 /*
2  * (C) Copyright 2017
3  * Christophe Leroy, CS Systemes d'Information, christophe.leroy@c-s.fr
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #include <common.h>
9 #include <asm/processor.h>
10 #include <asm/ppc.h>
11 #include <asm/io.h>
12 #include <asm/mmu.h>
13
14 int icache_status(void)
15 {
16         return !!(mfspr(IC_CST) & IDC_ENABLED);
17 }
18
19 void icache_enable(void)
20 {
21         sync();
22         mtspr(IC_CST, IDC_INVALL);
23         mtspr(IC_CST, IDC_ENABLE);
24 }
25
26 void icache_disable(void)
27 {
28         sync();
29         mtspr(IC_CST, IDC_DISABLE);
30 }
31
32 int dcache_status(void)
33 {
34         return !!(mfspr(IC_CST) & IDC_ENABLED);
35 }
36
37 void dcache_enable(void)
38 {
39         mtspr(MD_CTR, MD_RESETVAL);     /* Set cache mode with MMU off */
40         mtspr(DC_CST, IDC_INVALL);
41         mtspr(DC_CST, IDC_ENABLE);
42 }
43
44 void dcache_disable(void)
45 {
46         sync();
47         mtspr(DC_CST, IDC_DISABLE);
48         mtspr(DC_CST, IDC_INVALL);
49 }