diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2012-11-24 00:51:07 +0530 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-07-01 11:06:06 +0100 |
commit | 07ae43edc3b2e692356671f9444832fc291ae093 (patch) | |
tree | 57b2799e0dfd8dcd3e43577899894be22bbd9fbe /include/linux/vexpress.h | |
parent | 9c218a698947120c0b0463468685f34bff0171e7 (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.h | 3 |
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); |