1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2020 Google, Inc
6 #ifndef _ASM_RISCV_CLINT_H
7 #define _ASM_RISCV_CLINT_H
9 #include <linux/types.h>
12 #ifdef CONFIG_RISCV_M_MODE
14 * This lives in the CLINT driver, but is accessed directly by timex.h to avoid
15 * any overhead when accessing the MMIO timer.
17 * The ISA defines mtime as a 64-bit memory-mapped register that increments at
18 * a constant frequency, but it doesn't define some other constraints we depend
19 * on (most notably ordering constraints, but also some simpler stuff like the
20 * memory layout). Thus, this is called "clint_time_val" instead of something
21 * like "riscv_mtime", to signify that these non-ISA assumptions must hold.
23 extern u64 __iomem
*clint_time_val
;