summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-07-19 18:03:48 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2018-08-08 08:27:24 +0200
commit34b808bae266ede3dcef2bacdb7f8374ff7a09fe (patch)
treea10438aa3334f27b501c018ef53f93eb1217f7ee /arch
parent2c20674f0cf324d64f3de3ebd5a349fe252e0254 (diff)
downloadbarebox-34b808bae266ede3dcef2bacdb7f8374ff7a09fe.tar.gz
barebox-34b808bae266ede3dcef2bacdb7f8374ff7a09fe.tar.xz
ARM: i.MX8MQ: Configure cntfrq only in EL3
We only can (and should only need to) configure cntfrq when running in EL3 and executing this code in any other exception level will result in exception. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/imx8mq.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/arm/mach-imx/imx8mq.c b/arch/arm/mach-imx/imx8mq.c
index f3246e4373..dbcf4fa59f 100644
--- a/arch/arm/mach-imx/imx8mq.c
+++ b/arch/arm/mach-imx/imx8mq.c
@@ -62,12 +62,14 @@ static void imx8mq_silicon_revision(void)
static int imx8mq_init_syscnt_frequency(void)
{
- void __iomem *syscnt = IOMEM(MX8MQ_SYSCNT_CTRL_BASE_ADDR);
- /*
- * Update with accurate clock frequency
- */
- set_cntfrq(syscnt_get_cntfrq(syscnt));
- syscnt_enable(syscnt);
+ if (current_el() == 3) {
+ void __iomem *syscnt = IOMEM(MX8MQ_SYSCNT_CTRL_BASE_ADDR);
+ /*
+ * Update with accurate clock frequency
+ */
+ set_cntfrq(syscnt_get_cntfrq(syscnt));
+ syscnt_enable(syscnt);
+ }
return 0;
}