aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/samsung/clk-exynos4.c
diff options
context:
space:
mode:
authorTomasz Figa <t.figa@samsung.com>2013-08-26 13:09:04 -0400
committerMike Turquette <mturquette@linaro.org>2013-09-06 16:33:35 -0400
commit52b0601637ac41845d216c490a75e489a14c4e95 (patch)
tree2a6fd52588e76479386bbfe6e4bba6282cee5e77 /drivers/clk/samsung/clk-exynos4.c
parentc6415963006392cd67cb2d322c56ccc1711ac732 (diff)
clk: samsung: pll: Use new registration method for PLL45xx
This patch modifies PLL45xx support code and its users to use the recently introduced common PLL registration helper. 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-exynos4.c')
-rw-r--r--drivers/clk/samsung/clk-exynos4.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/clk/samsung/clk-exynos4.c b/drivers/clk/samsung/clk-exynos4.c
index 41cbe6e7e182..fd0215d99c88 100644
--- a/drivers/clk/samsung/clk-exynos4.c
+++ b/drivers/clk/samsung/clk-exynos4.c
@@ -104,6 +104,7 @@
104#define DIV_DMC1 0x10504 104#define DIV_DMC1 0x10504
105#define GATE_IP_DMC 0x10900 105#define GATE_IP_DMC 0x10900
106#define APLL_LOCK 0x14000 106#define APLL_LOCK 0x14000
107#define E4210_MPLL_LOCK 0x14008
107#define APLL_CON0 0x14100 108#define APLL_CON0 0x14100
108#define E4210_MPLL_CON0 0x14108 109#define E4210_MPLL_CON0 0x14108
109#define SRC_CPU 0x14200 110#define SRC_CPU 0x14200
@@ -984,6 +985,13 @@ static struct of_device_id ext_clk_match[] __initdata = {
984 {}, 985 {},
985}; 986};
986 987
988static struct samsung_pll_clock exynos4210_plls[] __initdata = {
989 [apll] = PLL_A(pll_4508, fout_apll, "fout_apll", "fin_pll", APLL_LOCK,
990 APLL_CON0, "fout_apll", NULL),
991 [mpll] = PLL_A(pll_4508, fout_mpll, "fout_mpll", "fin_pll",
992 E4210_MPLL_LOCK, E4210_MPLL_CON0, "fout_mpll", NULL),
993};
994
987static struct samsung_pll_clock exynos4x12_plls[nr_plls] __initdata = { 995static struct samsung_pll_clock exynos4x12_plls[nr_plls] __initdata = {
988 [apll] = PLL(pll_35xx, fout_apll, "fout_apll", "fin_pll", 996 [apll] = PLL(pll_35xx, fout_apll, "fout_apll", "fin_pll",
989 APLL_LOCK, APLL_CON0, NULL), 997 APLL_LOCK, APLL_CON0, NULL),
@@ -1000,7 +1008,7 @@ static void __init exynos4_clk_init(struct device_node *np,
1000 enum exynos4_soc exynos4_soc, 1008 enum exynos4_soc exynos4_soc,
1001 void __iomem *reg_base, unsigned long xom) 1009 void __iomem *reg_base, unsigned long xom)
1002{ 1010{
1003 struct clk *apll, *mpll, *epll, *vpll; 1011 struct clk *epll, *vpll;
1004 1012
1005 reg_base = of_iomap(np, 0); 1013 reg_base = of_iomap(np, 0);
1006 if (!reg_base) 1014 if (!reg_base)
@@ -1022,17 +1030,13 @@ static void __init exynos4_clk_init(struct device_node *np,
1022 exynos4_clk_register_finpll(xom); 1030 exynos4_clk_register_finpll(xom);
1023 1031
1024 if (exynos4_soc == EXYNOS4210) { 1032 if (exynos4_soc == EXYNOS4210) {
1025 apll = samsung_clk_register_pll45xx("fout_apll", "fin_pll", 1033 samsung_clk_register_pll(exynos4210_plls,
1026 reg_base + APLL_CON0, pll_4508); 1034 ARRAY_SIZE(exynos4210_plls), reg_base);
1027 mpll = samsung_clk_register_pll45xx("fout_mpll", "fin_pll",
1028 reg_base + E4210_MPLL_CON0, pll_4508);
1029 epll = samsung_clk_register_pll46xx("fout_epll", "fin_pll", 1035 epll = samsung_clk_register_pll46xx("fout_epll", "fin_pll",
1030 reg_base + EPLL_CON0, pll_4600); 1036 reg_base + EPLL_CON0, pll_4600);
1031 vpll = samsung_clk_register_pll46xx("fout_vpll", "mout_vpllsrc", 1037 vpll = samsung_clk_register_pll46xx("fout_vpll", "mout_vpllsrc",
1032 reg_base + VPLL_CON0, pll_4650c); 1038 reg_base + VPLL_CON0, pll_4650c);
1033 1039
1034 samsung_clk_add_lookup(apll, fout_apll);
1035 samsung_clk_add_lookup(mpll, fout_mpll);
1036 samsung_clk_add_lookup(epll, fout_epll); 1040 samsung_clk_add_lookup(epll, fout_epll);
1037 samsung_clk_add_lookup(vpll, fout_vpll); 1041 samsung_clk_add_lookup(vpll, fout_vpll);
1038 } else { 1042 } else {