blob: 08aa1f789fd6d356a6d1a9c945807ee4638080f3 [file] [log] [blame]
Yao Zifce45e42025-05-13 09:04:56 +00001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (c) 2025 Yao Zi <ziyao@disroot.org>
4 */
5
6#include <asm/io.h>
7#include <cpu_func.h>
8#include <linux/bitops.h>
9
10#define CSR_MHCR 0x7c1
11#define CSR_MHCR_IE BIT(0)
12#define CSR_MHCR_DE BIT(1)
13
14void icache_enable(void)
15{
16 csr_write(CSR_MHCR, csr_read(CSR_MHCR) | CSR_MHCR_IE);
17}
18
19void dcache_enable(void)
20{
21 csr_write(CSR_MHCR, csr_read(CSR_MHCR) | CSR_MHCR_DE);
22}
23
24int icache_status(void)
25{
26 return (csr_read(CSR_MHCR) & CSR_MHCR_IE) != 0;
27}
28
29int dcache_status(void)
30{
31 return (csr_read(CSR_MHCR) & CSR_MHCR_DE) != 0;
32}