summaryrefslogtreecommitdiffstats
path: root/drivers/clk/qcom/gcc-ipq806x.c
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/gcc-ipq806x.c
parentb6b2fe5b6e956c8217a7584472a3ac5c068b61d4 (diff)
parent229fd4a505553c3a475b90e9aa8e452f5d78eb3b (diff)
downloadop-kernel-dev-db0bcc33a8aabab462c996baeac619f21616d938.zip
op-kernel-dev-db0bcc33a8aabab462c996baeac619f21616d938.tar.gz
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/gcc-ipq806x.c')
-rw-r--r--drivers/clk/qcom/gcc-ipq806x.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c
index 3b83b7d..5cd62a7 100644
--- a/drivers/clk/qcom/gcc-ipq806x.c
+++ b/drivers/clk/qcom/gcc-ipq806x.c
@@ -32,6 +32,33 @@
#include "clk-branch.h"
#include "reset.h"
+static struct clk_pll pll0 = {
+ .l_reg = 0x30c4,
+ .m_reg = 0x30c8,
+ .n_reg = 0x30cc,
+ .config_reg = 0x30d4,
+ .mode_reg = 0x30c0,
+ .status_reg = 0x30d8,
+ .status_bit = 16,
+ .clkr.hw.init = &(struct clk_init_data){
+ .name = "pll0",
+ .parent_names = (const char *[]){ "pxo" },
+ .num_parents = 1,
+ .ops = &clk_pll_ops,
+ },
+};
+
+static struct clk_regmap pll0_vote = {
+ .enable_reg = 0x34c0,
+ .enable_mask = BIT(0),
+ .hw.init = &(struct clk_init_data){
+ .name = "pll0_vote",
+ .parent_names = (const char *[]){ "pll0" },
+ .num_parents = 1,
+ .ops = &clk_pll_vote_ops,
+ },
+};
+
static struct clk_pll pll3 = {
.l_reg = 0x3164,
.m_reg = 0x3168,
@@ -154,7 +181,7 @@ static const u8 gcc_pxo_pll8_pll0[] = {
static const char *gcc_pxo_pll8_pll0_map[] = {
"pxo",
"pll8_vote",
- "pll0",
+ "pll0_vote",
};
static struct freq_tbl clk_tbl_gsbi_uart[] = {
@@ -2133,6 +2160,8 @@ static struct clk_branch usb_fs1_h_clk = {
};
static struct clk_regmap *gcc_ipq806x_clks[] = {
+ [PLL0] = &pll0.clkr,
+ [PLL0_VOTE] = &pll0_vote,
[PLL3] = &pll3.clkr,
[PLL8] = &pll8.clkr,
[PLL8_VOTE] = &pll8_vote,
OpenPOWER on IntegriCloud