diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2012-11-24 00:51:07 +0530 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-04-29 09:43:50 +0100 |
commit | ccb975c3c2afc932b30cb52e7924f9db286a962d (patch) | |
tree | dd3a0c75c6301445e4508373225e7d976aed070f /include | |
parent | c1be5a5b1b355d40e6cf79cc979eb66dafa24ad1 (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.h | 3 |
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); |