summaryrefslogtreecommitdiffstats
path: root/drivers/clocksource
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2020-04-01 12:27:02 +0800
committerDaniel Lezcano <daniel.lezcano@linaro.org>2020-04-09 16:24:50 +0200
commitac161f57b66dcf14b3339b1c5857c08a9ad4d833 (patch)
tree796ed6a2a6b3532d714df7d262a80ddce3ac9fe3 /drivers/clocksource
parent4855f2bd91b6e3461af7d795bfe9a40420122131 (diff)
downloadlinux-stable-ac161f57b66dcf14b3339b1c5857c08a9ad4d833.tar.gz
linux-stable-ac161f57b66dcf14b3339b1c5857c08a9ad4d833.tar.bz2
linux-stable-ac161f57b66dcf14b3339b1c5857c08a9ad4d833.zip
clocksource/drivers/imx-tpm: Add support for ARM64
Allows building and compile-testing the i.MX TPM driver also for ARM64. The delay_timer is only supported on ARMv7. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/1585715222-24489-1-git-send-email-Anson.Huang@nxp.com
Diffstat (limited to 'drivers/clocksource')
-rw-r--r--drivers/clocksource/timer-imx-tpm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/clocksource/timer-imx-tpm.c b/drivers/clocksource/timer-imx-tpm.c
index 6334a35fdc2f..2cdc077a39f5 100644
--- a/drivers/clocksource/timer-imx-tpm.c
+++ b/drivers/clocksource/timer-imx-tpm.c
@@ -61,17 +61,19 @@ static inline void tpm_irq_acknowledge(void)
writel(TPM_STATUS_CH0F, timer_base + TPM_STATUS);
}
-static struct delay_timer tpm_delay_timer;
-
static inline unsigned long tpm_read_counter(void)
{
return readl(timer_base + TPM_CNT);
}
+#if defined(CONFIG_ARM)
+static struct delay_timer tpm_delay_timer;
+
static unsigned long tpm_read_current_timer(void)
{
return tpm_read_counter();
}
+#endif
static u64 notrace tpm_read_sched_clock(void)
{
@@ -144,9 +146,11 @@ static struct timer_of to_tpm = {
static int __init tpm_clocksource_init(void)
{
+#if defined(CONFIG_ARM)
tpm_delay_timer.read_current_timer = &tpm_read_current_timer;
tpm_delay_timer.freq = timer_of_rate(&to_tpm) >> 3;
register_current_timer_delay(&tpm_delay_timer);
+#endif
sched_clock_register(tpm_read_sched_clock, counter_width,
timer_of_rate(&to_tpm) >> 3);