aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/samsung/clk-pll.h
diff options
context:
space:
mode:
authorTomasz Figa <t.figa@samsung.com>2013-08-26 13:09:07 -0400
committerMike Turquette <mturquette@linaro.org>2013-09-06 16:33:47 -0400
commit5c89658a2ef38bace96cf9d4474d59a32d06609d (patch)
tree59083e99d135a101c58599dc3ea4b2334eef7524 /drivers/clk/samsung/clk-pll.h
parentc50d11f35a021fc357922797a7638d4d6ca70b9e (diff)
clk: samsung: pll: Add support for rate configuration of PLL46xx
This patch implements round_rate and set_rate callbacks of PLL46xx driver to allow reconfiguration of PLL at runtime. Signed-off-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mike Turquette <mturquette@linaro.org>
Diffstat (limited to 'drivers/clk/samsung/clk-pll.h')
-rw-r--r--drivers/clk/samsung/clk-pll.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/clk/samsung/clk-pll.h b/drivers/clk/samsung/clk-pll.h
index f3c85bf9cfaf..6c39030080fb 100644
--- a/drivers/clk/samsung/clk-pll.h
+++ b/drivers/clk/samsung/clk-pll.h
@@ -53,6 +53,28 @@ enum samsung_pll_type {
53 .afc = (_afc), \ 53 .afc = (_afc), \
54 } 54 }
55 55
56#define PLL_4600_RATE(_rate, _m, _p, _s, _k, _vsel) \
57 { \
58 .rate = (_rate), \
59 .mdiv = (_m), \
60 .pdiv = (_p), \
61 .sdiv = (_s), \
62 .kdiv = (_k), \
63 .vsel = (_vsel), \
64 }
65
66#define PLL_4650_RATE(_rate, _m, _p, _s, _k, _mfr, _mrr, _vsel) \
67 { \
68 .rate = (_rate), \
69 .mdiv = (_m), \
70 .pdiv = (_p), \
71 .sdiv = (_s), \
72 .kdiv = (_k), \
73 .mfr = (_mfr), \
74 .mrr = (_mrr), \
75 .vsel = (_vsel), \
76 }
77
56/* NOTE: Rate table should be kept sorted in descending order. */ 78/* NOTE: Rate table should be kept sorted in descending order. */
57 79
58struct samsung_pll_rate_table { 80struct samsung_pll_rate_table {
@@ -62,6 +84,9 @@ struct samsung_pll_rate_table {
62 unsigned int sdiv; 84 unsigned int sdiv;
63 unsigned int kdiv; 85 unsigned int kdiv;
64 unsigned int afc; 86 unsigned int afc;
87 unsigned int mfr;
88 unsigned int mrr;
89 unsigned int vsel;
65}; 90};
66 91
67extern struct clk * __init samsung_clk_register_pll2550x(const char *name, 92extern struct clk * __init samsung_clk_register_pll2550x(const char *name,