Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1452348

[PATCH] clocksource: arm_arch_timer: Support reading clock rate from a driver

From Rafał Miłecki <zajec5@gmail.com>
Newsgroups linux.kernel
Subject [PATCH] clocksource: arm_arch_timer: Support reading clock rate from a driver
Date 2016-07-29 11:30 +0200
Message-ID <s0chb-2Lh-13@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


From: Rafał Miłecki <rafal@milecki.pl>

On some devices using arch code for reading clock rate doesn't work. So
far the only option was to specify clock-frequency in a DT. This works
only if a clock frequency doesn't have to be calculated on runtime.

On BCM53573 SoC (with Cortex-A7) there is ILP clock that needs its own
driver. With this change we can query such clocks by using a standard:
clocks = <&foo>;

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 drivers/clocksource/arm_arch_timer.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 5effd30..5ed98a2 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -14,6 +14,7 @@
 #include <linux/smp.h>
 #include <linux/cpu.h>
 #include <linux/cpu_pm.h>
+#include <linux/clk.h>
 #include <linux/clockchips.h>
 #include <linux/clocksource.h>
 #include <linux/interrupt.h>
@@ -405,6 +406,16 @@ arch_timer_detect_rate(void __iomem *cntbase, struct device_node *np)
 			arch_timer_rate = arch_timer_get_cntfrq();
 	}
 
+	/* Get clk rate through clk driver if present */
+	if (!arch_timer_rate) {
+		struct clk *clk = of_clk_get(np, 0);
+
+		if (!IS_ERR(clk)) {
+			if (!clk_prepare_enable(clk))
+				arch_timer_rate = clk_get_rate(clk);
+		}
+	}
+
 	/* Check the timer frequency. */
 	if (arch_timer_rate == 0)
 		pr_warn("Architected timer frequency not available\n");
-- 
1.8.4.5

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] clocksource: arm_arch_timer: Support reading clock rate from a driver Rafał Miłecki <zajec5@gmail.com> - 2016-07-29 11:30 +0200
  Re: [PATCH] clocksource: arm_arch_timer: Support reading clock rate  from a driver Mark Rutland <mark.rutland@arm.com> - 2016-07-29 12:20 +0200
    Re: [PATCH] clocksource: arm_arch_timer: Support reading clock rate  from a driver Marc Zyngier <marc.zyngier@arm.com> - 2016-07-29 12:40 +0200

csiph-web