aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/tegra/clk-tegra210.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/tegra/clk-tegra210.c')
-rw-r--r--drivers/clk/tegra/clk-tegra210.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/drivers/clk/tegra/clk-tegra210.c b/drivers/clk/tegra/clk-tegra210.c
index 3d0edee1f9fe..b8551813ec43 100644
--- a/drivers/clk/tegra/clk-tegra210.c
+++ b/drivers/clk/tegra/clk-tegra210.c
@@ -92,6 +92,7 @@
92#define PLLE_AUX 0x48c 92#define PLLE_AUX 0x48c
93#define PLLRE_BASE 0x4c4 93#define PLLRE_BASE 0x4c4
94#define PLLRE_MISC0 0x4c8 94#define PLLRE_MISC0 0x4c8
95#define PLLRE_OUT1 0x4cc
95#define PLLDP_BASE 0x590 96#define PLLDP_BASE 0x590
96#define PLLDP_MISC 0x594 97#define PLLDP_MISC 0x594
97 98
@@ -2150,6 +2151,7 @@ static struct tegra_clk tegra210_clks[tegra_clk_max] __initdata = {
2150 [tegra_clk_clk72Mhz_8] = { .dt_id = TEGRA210_CLK_CLK72MHZ, .present = true }, 2151 [tegra_clk_clk72Mhz_8] = { .dt_id = TEGRA210_CLK_CLK72MHZ, .present = true },
2151 [tegra_clk_vic03_8] = { .dt_id = TEGRA210_CLK_VIC03, .present = true }, 2152 [tegra_clk_vic03_8] = { .dt_id = TEGRA210_CLK_VIC03, .present = true },
2152 [tegra_clk_dpaux] = { .dt_id = TEGRA210_CLK_DPAUX, .present = true }, 2153 [tegra_clk_dpaux] = { .dt_id = TEGRA210_CLK_DPAUX, .present = true },
2154 [tegra_clk_dpaux1] = { .dt_id = TEGRA210_CLK_DPAUX1, .present = true },
2153 [tegra_clk_sor0] = { .dt_id = TEGRA210_CLK_SOR0, .present = true }, 2155 [tegra_clk_sor0] = { .dt_id = TEGRA210_CLK_SOR0, .present = true },
2154 [tegra_clk_sor0_lvds] = { .dt_id = TEGRA210_CLK_SOR0_LVDS, .present = true }, 2156 [tegra_clk_sor0_lvds] = { .dt_id = TEGRA210_CLK_SOR0_LVDS, .present = true },
2155 [tegra_clk_gpu] = { .dt_id = TEGRA210_CLK_GPU, .present = true }, 2157 [tegra_clk_gpu] = { .dt_id = TEGRA210_CLK_GPU, .present = true },
@@ -2461,6 +2463,18 @@ static __init void tegra210_periph_clk_init(void __iomem *clk_base,
2461 1, 2); 2463 1, 2);
2462 clks[TEGRA210_CLK_XUSB_SS_DIV2] = clk; 2464 clks[TEGRA210_CLK_XUSB_SS_DIV2] = clk;
2463 2465
2466 clk = tegra_clk_register_periph_fixed("dpaux", "pll_p", 0, clk_base,
2467 1, 17, 181);
2468 clks[TEGRA210_CLK_DPAUX] = clk;
2469
2470 clk = tegra_clk_register_periph_fixed("dpaux1", "pll_p", 0, clk_base,
2471 1, 17, 207);
2472 clks[TEGRA210_CLK_DPAUX1] = clk;
2473
2474 clk = tegra_clk_register_periph_fixed("sor_safe", "pll_p", 0, clk_base,
2475 1, 17, 222);
2476 clks[TEGRA210_CLK_SOR_SAFE] = clk;
2477
2464 /* pll_d_dsi_out */ 2478 /* pll_d_dsi_out */
2465 clk = clk_register_gate(NULL, "pll_d_dsi_out", "pll_d_out0", 0, 2479 clk = clk_register_gate(NULL, "pll_d_dsi_out", "pll_d_out0", 0,
2466 clk_base + PLLD_MISC0, 21, 0, &pll_d_lock); 2480 clk_base + PLLD_MISC0, 21, 0, &pll_d_lock);
@@ -2640,8 +2654,10 @@ static void __init tegra210_pll_init(void __iomem *clk_base,
2640 clks[TEGRA210_CLK_PLL_D_OUT0] = clk; 2654 clks[TEGRA210_CLK_PLL_D_OUT0] = clk;
2641 2655
2642 /* PLLRE */ 2656 /* PLLRE */
2643 clk = tegra_clk_register_pllre("pll_re_vco", "pll_ref", clk_base, pmc, 2657 clk = tegra_clk_register_pllre_tegra210("pll_re_vco", "pll_ref",
2644 0, &pll_re_vco_params, &pll_re_lock, pll_ref_freq); 2658 clk_base, pmc, 0,
2659 &pll_re_vco_params,
2660 &pll_re_lock, pll_ref_freq);
2645 clk_register_clkdev(clk, "pll_re_vco", NULL); 2661 clk_register_clkdev(clk, "pll_re_vco", NULL);
2646 clks[TEGRA210_CLK_PLL_RE_VCO] = clk; 2662 clks[TEGRA210_CLK_PLL_RE_VCO] = clk;
2647 2663
@@ -2651,6 +2667,15 @@ static void __init tegra210_pll_init(void __iomem *clk_base,
2651 clk_register_clkdev(clk, "pll_re_out", NULL); 2667 clk_register_clkdev(clk, "pll_re_out", NULL);
2652 clks[TEGRA210_CLK_PLL_RE_OUT] = clk; 2668 clks[TEGRA210_CLK_PLL_RE_OUT] = clk;
2653 2669
2670 clk = tegra_clk_register_divider("pll_re_out1_div", "pll_re_vco",
2671 clk_base + PLLRE_OUT1, 0,
2672 TEGRA_DIVIDER_ROUND_UP,
2673 8, 8, 1, NULL);
2674 clk = tegra_clk_register_pll_out("pll_re_out1", "pll_re_out1_div",
2675 clk_base + PLLRE_OUT1, 1, 0,
2676 CLK_SET_RATE_PARENT, 0, NULL);
2677 clks[TEGRA210_CLK_PLL_RE_OUT1] = clk;
2678
2654 /* PLLE */ 2679 /* PLLE */
2655 clk = tegra_clk_register_plle_tegra210("pll_e", "pll_ref", 2680 clk = tegra_clk_register_plle_tegra210("pll_e", "pll_ref",
2656 clk_base, 0, &pll_e_params, NULL); 2681 clk_base, 0, &pll_e_params, NULL);