From 2073d937faf2116c466f55d7c8e32ea2c80a1a01 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Thu, 7 Jun 2018 06:00:34 -0700 Subject: ARM: Add constants and helpers for system counter interface Add constants and helpers for system counter interface as can be found in section "I1.3 Generic Timer registers" of "ARM Architecture Reference Manual ARMv8, for ARMv8-A architecture" Signed-off-by: Andrey Smirnov Signed-off-by: Sascha Hauer --- arch/arm/include/asm/syscounter.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 arch/arm/include/asm/syscounter.h (limited to 'arch/arm/include') diff --git a/arch/arm/include/asm/syscounter.h b/arch/arm/include/asm/syscounter.h new file mode 100644 index 0000000000..a644cfaad6 --- /dev/null +++ b/arch/arm/include/asm/syscounter.h @@ -0,0 +1,24 @@ +#ifndef _ASM_SYSCNT_H_ +#define _ASM_SYSCNT_H_ + +#include + +#define SYSCNT_CNTCR 0x0000 +#define SYSCNT_CNTCR_EN BIT(0) +#define SYSCNT_CNTCR_HDBG BIT(1) +#define SYSCNT_CNTCR_FCREQ(n) BIT(8 + (n)) + +#define SYSCNT_CNTFID(n) (0x0020 + 4 * (n)) + +static inline void syscnt_enable(void __iomem *syscnt) +{ + writel(SYSCNT_CNTCR_EN | SYSCNT_CNTCR_HDBG | SYSCNT_CNTCR_FCREQ(0), + syscnt + SYSCNT_CNTCR); +} + +static inline u32 syscnt_get_cntfrq(void __iomem *syscnt) +{ + return readl(syscnt + SYSCNT_CNTFID(0)); +} + +#endif \ No newline at end of file -- cgit v1.2.3