cba2e342dc232c0db92431a4e9c376904c49b6d3
[platform/kernel/u-boot.git] / arch / arm / mach-npcm / npcm7xx / l2_cache_pl310.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (c) 2021 Nuvoton Technology Corp.
4  */
5
6 #include <common.h>
7 #include <asm/io.h>
8 #include <asm/pl310.h>
9
10 void l2_pl310_init(void);
11
12 void set_pl310_ctrl(u32 enable)
13 {
14         struct pl310_regs *const pl310 = (struct pl310_regs *)CONFIG_SYS_PL310_BASE;
15
16         writel(enable, &pl310->pl310_ctrl);
17 }
18
19 void v7_outer_cache_enable(void)
20 {
21         l2_pl310_init();
22
23         set_pl310_ctrl(1);
24 }
25
26 void v7_outer_cache_disable(void)
27 {
28         set_pl310_ctrl(0);
29 }