summaryrefslogtreecommitdiff
path: root/drivers/clk
diff options
context:
space:
mode:
authorDeepak Katragadda <dkatraga@codeaurora.org>2016-06-15 11:06:16 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-07-12 08:32:33 -0700
commitc2c438e4b5151251d959939aabe14df0d5804eb1 (patch)
tree81f1cda6a4d7e64a083eb7ffd6f117ba843d2212 /drivers/clk
parenta1d8269396772237fca9f696ca4fdf2143c0ad42 (diff)
clk: msm: clock-mmss-cobalt: Add display port pixel clocks
Add support for the DP pixel clocks on MSMCOBALT. Change-Id: Iab59a45da4bbca19b2eaebc63d827768ae86eec8 CRs-Fixed: 1028725 Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Diffstat (limited to 'drivers/clk')
-rw-r--r--drivers/clk/msm/clock-mmss-cobalt.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/drivers/clk/msm/clock-mmss-cobalt.c b/drivers/clk/msm/clock-mmss-cobalt.c
index 66807366d19d..53c657ef3a25 100644
--- a/drivers/clk/msm/clock-mmss-cobalt.c
+++ b/drivers/clk/msm/clock-mmss-cobalt.c
@@ -1107,6 +1107,29 @@ static struct rcg_clk dp_aux_clk_src = {
},
};
+static struct clk_freq_tbl ftbl_dp_pixel_clk_src[] = {
+ {
+ .div_src_val = BVAL(10, 8, ext_dp_phy_pll_vco_mm_source_val),
+ .src_clk = &ext_dp_phy_pll_vco.c,
+ },
+ F_END
+};
+
+static struct rcg_clk dp_pixel_clk_src = {
+ .cmd_rcgr_reg = MMSS_DP_PIXEL_CMD_RCGR,
+ .set_rate = set_rate_mnd,
+ .current_freq = ftbl_dp_pixel_clk_src,
+ .base = &virt_base,
+ .c = {
+ .dbg_name = "dp_pixel_clk_src",
+ .parent = &ext_dp_phy_pll_vco.c,
+ .ops = &clk_ops_rcg_dp,
+ VDD_DIG_FMAX_MAP3(LOWER, 148380000, LOW, 296740000,
+ NOMINAL, 593470000),
+ CLK_INIT(dp_pixel_clk_src.c),
+ },
+};
+
static struct clk_freq_tbl ftbl_dp_link_clk_src[] = {
F_SLEW( 162000000, 324000000, ext_dp_phy_pll_link, 2, 0, 0),
F_SLEW( 270000000, 540000000, ext_dp_phy_pll_link, 2, 0, 0),
@@ -2003,6 +2026,18 @@ static struct branch_clk mmss_mdss_dp_aux_clk = {
},
};
+static struct branch_clk mmss_mdss_dp_pixel_clk = {
+ .cbcr_reg = MMSS_MDSS_DP_PIXEL_CBCR,
+ .has_sibling = 0,
+ .base = &virt_base,
+ .c = {
+ .dbg_name = "mmss_mdss_dp_pixel_clk",
+ .parent = &dp_pixel_clk_src.c,
+ .ops = &clk_ops_branch,
+ CLK_INIT(mmss_mdss_dp_pixel_clk.c),
+ },
+};
+
static struct branch_clk mmss_mdss_dp_link_clk = {
.cbcr_reg = MMSS_MDSS_DP_LINK_CBCR,
.has_sibling = 0,
@@ -2425,6 +2460,7 @@ static struct mux_clk mmss_debug_mux = {
{ &mmss_mdss_dp_link_clk.c, 0x0098 },
{ &mmss_mdss_dp_link_intf_clk.c, 0x0099 },
{ &mmss_mdss_dp_crypto_clk.c, 0x009a },
+ { &mmss_mdss_dp_pixel_clk.c, 0x009b },
{ &mmss_mdss_dp_aux_clk.c, 0x009c },
{ &mmss_mdss_dp_gtc_clk.c, 0x009d },
{ &mmss_mdss_byte0_intf_clk.c, 0x00ad },
@@ -2494,6 +2530,7 @@ static struct clk_lookup msm_clocks_mmss_cobalt[] = {
CLK_LIST(extpclk_clk_src),
CLK_LIST(ext_dp_phy_pll_vco),
CLK_LIST(ext_dp_phy_pll_link),
+ CLK_LIST(dp_pixel_clk_src),
CLK_LIST(dp_link_clk_src),
CLK_LIST(dp_crypto_clk_src),
CLK_LIST(csi0phytimer_clk_src),
@@ -2576,6 +2613,7 @@ static struct clk_lookup msm_clocks_mmss_cobalt[] = {
CLK_LIST(mmss_mdss_byte1_intf_clk),
CLK_LIST(mmss_mdss_dp_aux_clk),
CLK_LIST(mmss_mdss_dp_crypto_clk),
+ CLK_LIST(mmss_mdss_dp_pixel_clk),
CLK_LIST(mmss_mdss_dp_link_clk),
CLK_LIST(mmss_mdss_dp_link_intf_clk),
CLK_LIST(mmss_mdss_dp_gtc_clk),