diff options
author | Tomasz Figa <t.figa@samsung.com> | 2013-08-26 13:09:07 -0400 |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2013-09-06 16:33:47 -0400 |
commit | 5c89658a2ef38bace96cf9d4474d59a32d06609d (patch) | |
tree | 59083e99d135a101c58599dc3ea4b2334eef7524 /drivers/clk/samsung/clk-pll.h | |
parent | c50d11f35a021fc357922797a7638d4d6ca70b9e (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.h | 25 |
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 | ||
58 | struct samsung_pll_rate_table { | 80 | struct 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 | ||
67 | extern struct clk * __init samsung_clk_register_pll2550x(const char *name, | 92 | extern struct clk * __init samsung_clk_register_pll2550x(const char *name, |