aboutsummaryrefslogtreecommitdiff
path: root/include/linux/vexpress.h
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2012-11-24 00:51:07 +0530
committerJon Medhurst <tixy@linaro.org>2013-07-01 11:06:06 +0100
commit07ae43edc3b2e692356671f9444832fc291ae093 (patch)
tree57b2799e0dfd8dcd3e43577899894be22bbd9fbe /include/linux/vexpress.h
parent9c218a698947120c0b0463468685f34bff0171e7 (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/linux/vexpress.h')
-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 ea7168a6808..6e7980de37f 100644
--- a/include/linux/vexpress.h
+++ b/include/linux/vexpress.h
@@ -120,6 +120,9 @@ void vexpress_sysreg_of_early_init(void);
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);