summaryrefslogtreecommitdiffstats
path: root/drivers/clk/qcom/clk-pll.h
diff options
context:
space:
mode:
authorMike Turquette <mturquette@linaro.org>2014-09-26 16:10:57 -0700
committerMike Turquette <mturquette@linaro.org>2014-09-26 16:10:57 -0700
commitdb0bcc33a8aabab462c996baeac619f21616d938 (patch)
tree935394b4fe27ab92ea260e7a095330524a5fe9f8 /drivers/clk/qcom/clk-pll.h
parentb6b2fe5b6e956c8217a7584472a3ac5c068b61d4 (diff)
parent229fd4a505553c3a475b90e9aa8e452f5d78eb3b (diff)
downloadlinux-db0bcc33a8aabab462c996baeac619f21616d938.tar.bz2
Merge tag 'qcom-clocks-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into clk-next
qcom clock changes for 3.18 Some fixes for the IPQ driver and some code consolidation and refactoring.
Diffstat (limited to 'drivers/clk/qcom/clk-pll.h')
-rw-r--r--drivers/clk/qcom/clk-pll.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/clk/qcom/clk-pll.h b/drivers/clk/qcom/clk-pll.h
index 3003e9962472..c9c0cda306d0 100644
--- a/drivers/clk/qcom/clk-pll.h
+++ b/drivers/clk/qcom/clk-pll.h
@@ -18,6 +18,21 @@
#include "clk-regmap.h"
/**
+ * struct pll_freq_tbl - PLL frequency table
+ * @l: L value
+ * @m: M value
+ * @n: N value
+ * @ibits: internal values
+ */
+struct pll_freq_tbl {
+ unsigned long freq;
+ u16 l;
+ u16 m;
+ u16 n;
+ u32 ibits;
+};
+
+/**
* struct clk_pll - phase locked loop (PLL)
* @l_reg: L register
* @m_reg: M register
@@ -26,6 +41,7 @@
* @mode_reg: mode register
* @status_reg: status register
* @status_bit: ANDed with @status_reg to determine if PLL is enabled
+ * @freq_tbl: PLL frequency table
* @hw: handle between common and hardware-specific interfaces
*/
struct clk_pll {
@@ -36,6 +52,10 @@ struct clk_pll {
u32 mode_reg;
u32 status_reg;
u8 status_bit;
+ u8 post_div_width;
+ u8 post_div_shift;
+
+ const struct pll_freq_tbl *freq_tbl;
struct clk_regmap clkr;
};