linux/drivers/clk/qcom
Georgi Djakov 293d2e97b3 clk: qcom: Introduce parent_map tables
In the current parent mapping code, we can get duplicate or inconsistent
indexes, which leads to discrepancy between the number of elements in the
array and the number of parents. Until now, this was solved with some
reordering but this is not always possible.

This patch introduces index tables that are used to define the relations
between the PLL source and the hardware mux configuration value.
To accomplish this, here we do the following:
 - Define a parent_map struct to map the relations between PLL source index
 and register configuration value.
 - Add a qcom_find_src_index() function for finding the index of a clock
 matching the specific PLL configuration.
 - Update the {set,get}_parent RCG functions use the newly introduced
 parent_map struct.
 - Convert all existing drivers to the new parent_map tables.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-03-23 16:09:19 -07:00
..
clk-branch.c clk: qcom: Add support for branches/gate clocks 2014-01-16 12:01:01 -08:00
clk-branch.h clk: qcom: Add support for branches/gate clocks 2014-01-16 12:01:01 -08:00
clk-pll.c clk: Add rate constraints to clocks 2015-02-02 14:23:42 -08:00
clk-pll.h clk: qcom: Add support for setting rates on PLLs 2014-09-22 15:16:53 -07:00
clk-rcg2.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
clk-rcg.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
clk-rcg.h clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
clk-regmap-divider.c clk: qcom: Add support for regmap divider clocks 2015-01-27 11:49:00 -08:00
clk-regmap-divider.h clk: qcom: Add support for regmap divider clocks 2015-01-27 11:49:00 -08:00
clk-regmap-mux.c clk: qcom: Add simple regmap based muxes 2015-01-27 11:49:09 -08:00
clk-regmap-mux.h clk: qcom: Add simple regmap based muxes 2015-01-27 11:49:09 -08:00
clk-regmap.c
clk-regmap.h
common.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
common.h clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
gcc-apq8084.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
gcc-ipq806x.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
gcc-msm8660.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
gcc-msm8960.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
gcc-msm8974.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
Kconfig clk: qcom: Add MSM8960/APQ8064 LPASS clock controller (LCC) driver 2015-01-27 11:49:34 -08:00
lcc-ipq806x.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
lcc-msm8960.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
Makefile clk: qcom: Add MSM8960/APQ8064 LPASS clock controller (LCC) driver 2015-01-27 11:49:34 -08:00
mmcc-apq8084.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
mmcc-msm8960.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
mmcc-msm8974.c clk: qcom: Introduce parent_map tables 2015-03-23 16:09:19 -07:00
reset.c clk: qcom: Add reset controller support 2014-01-16 12:01:02 -08:00
reset.h clk: qcom: Add reset controller support 2014-01-16 12:01:02 -08:00