aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2012-11-24 00:51:07 +0530
committerJon Medhurst <tixy@linaro.org>2013-04-29 09:43:50 +0100
commitccb975c3c2afc932b30cb52e7924f9db286a962d (patch)
treedd3a0c75c6301445e4508373225e7d976aed070f /include
parentc1be5a5b1b355d40e6cf79cc979eb66dafa24ad1 (diff)
clk: Vexpress-spc: Add clock driver
This patch adds spc clock controller. In Vexpress cpu cluster clock is controlled via spc controller and so it must be present in clk framework. vexpress_clk_[of_]register_spc() registers cluster clocks with and without DT. These are added as root clocks without any parents and their names are "cluster[0|1|..]". Now, platform must add clocks of all the cpus below these clusters. cpufreq driver would get cpu clock and will do clk_get[set]_rate() on cpu clock, which will then pass it to cluster clocks. And finally spc will get programmed. This patch doesn't add non-DT clocks for clusters and cpus as i don't see a user of that for now. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/vexpress.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/vexpress.h b/include/linux/vexpress.h
index 75818744ab5..698ed67e17b 100644
--- a/include/linux/vexpress.h
+++ b/include/linux/vexpress.h
@@ -123,6 +123,9 @@ void vexpress_restart(char str, const char *cmd);
struct clk *vexpress_osc_setup(struct device *dev);
void vexpress_osc_of_setup(struct device_node *node);
+struct clk *vexpress_clk_register_spc(const char *name, int cluster_id);
+void vexpress_clk_of_register_spc(void);
+
void vexpress_clk_init(void __iomem *sp810_base);
void vexpress_clk_of_init(void);