diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2018-07-19 18:03:48 -0700 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-08-08 08:27:24 +0200 |
commit | 34b808bae266ede3dcef2bacdb7f8374ff7a09fe (patch) | |
tree | a10438aa3334f27b501c018ef53f93eb1217f7ee /arch | |
parent | 2c20674f0cf324d64f3de3ebd5a349fe252e0254 (diff) | |
download | barebox-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.c | 14 |
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; } |