diff options
author | Olof Johansson <olof@lixom.net> | 2019-06-25 15:47:24 +0300 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2019-06-25 15:47:24 +0300 |
commit | 03890f477ca663b0b1d050384cf0ed3e1a70732a (patch) | |
tree | 7b0ed5006d9c849dc6b32c584b48fcbcc5c3bf89 /arch/arm | |
parent | 9060463be50961387246a5cf092b6befd9da5ac6 (diff) | |
parent | 02af9f90941b6cce5fb672ee058c142adcc11a2f (diff) | |
download | linux-03890f477ca663b0b1d050384cf0ed3e1a70732a.tar.xz |
Merge tag 'renesas-arm-soc-for-v5.3' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into arm/soc
Renesas ARM Based SoC Updates for v5.3
* Auto-enable RZ/A1 IRQC on RZ/A1H and RZ/A2M
* Don't init CNTVOFF/counter if PSCI is available
* tag 'renesas-arm-soc-for-v5.3' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
soc: renesas: Enable RZ/A1 IRQC on RZ/A1H and RZ/A2M
ARM: mach-shmobile: Don't init CNTVOFF/counter if PSCI is available
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-shmobile/setup-rcar-gen2.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/setup-rcar-gen2.c b/arch/arm/mach-shmobile/setup-rcar-gen2.c index eea60b20c6b4..9e4bc1865f84 100644 --- a/arch/arm/mach-shmobile/setup-rcar-gen2.c +++ b/arch/arm/mach-shmobile/setup-rcar-gen2.c @@ -17,6 +17,7 @@ #include <linux/of.h> #include <linux/of_fdt.h> #include <linux/of_platform.h> +#include <linux/psci.h> #include <asm/mach/arch.h> #include <asm/secure_cntvoff.h> #include "common.h" @@ -60,9 +61,24 @@ static unsigned int __init get_extal_freq(void) void __init rcar_gen2_timer_init(void) { + bool need_update = true; void __iomem *base; u32 freq; + /* + * If PSCI is available then most likely we are running on PSCI-enabled + * U-Boot which, we assume, has already taken care of resetting CNTVOFF + * and updating counter module before switching to non-secure mode + * and we don't need to. + */ +#ifdef CONFIG_ARM_PSCI_FW + if (psci_ops.cpu_on) + need_update = false; +#endif + + if (need_update == false) + goto skip_update; + secure_cntvoff_init(); if (of_machine_is_compatible("renesas,r8a7745") || @@ -102,6 +118,7 @@ void __init rcar_gen2_timer_init(void) iounmap(base); +skip_update: of_clk_init(NULL); timer_probe(); } |