[ARM] tegra: olympus: Initialize pll_p_out* on boot
authorColin Cross <ccross@android.com>
Sat, 24 Apr 2010 03:15:13 +0000 (20:15 -0700)
committerColin Cross <ccross@android.com>
Wed, 6 Oct 2010 23:32:53 +0000 (16:32 -0700)
Change-Id: I380e2a5bb0cfe2ed9123fbc451398597c65e0b03
Signed-off-by: Colin Cross <ccross@android.com>
arch/arm/mach-tegra/board-olympus.c

index f5ef0e7fab2a75634f52fb689d1474f9d7de53aa..4a52e6996b9828e514b6795bb8b2663f80625873 100644 (file)
@@ -244,6 +244,7 @@ static void __init tegra_olympus_fixup(struct machine_desc *desc, struct tag *ta
 static void __init tegra_olympus_init(void)
 {
        struct clk *clk;
+       struct clk *sys_clk;
 
        tegra_common_init();
 
@@ -258,10 +259,36 @@ static void __init tegra_olympus_init(void)
        clk = clk_get_sys(NULL, "pll_p");
        clk_set_rate(clk, 216000000);
        clk_enable(clk);
+       clk_put(clk);
+
+       clk = clk_get_sys(NULL, "pll_p_out1");
+       clk_set_rate(clk, 28800000);
+       clk_enable(clk);
+       clk_put(clk);
+
+       clk = clk_get_sys(NULL, "pll_p_out2");
+       clk_set_rate(clk, 48000000);
+       clk_enable(clk);
+       clk_put(clk);
 
        clk = clk_get_sys(NULL, "pll_p_out3");
        clk_set_rate(clk, 72000000);
        clk_enable(clk);
+       clk_put(clk);
+
+       sys_clk = clk_get_sys(NULL, "sys");
+
+       clk = clk_get_sys(NULL, "clk_m");
+       clk_set_parent(sys_clk, clk);
+       clk_put(clk);
+
+       clk = clk_get_sys(NULL, "pll_p_out4");
+       clk_set_rate(clk, 108000000);
+       clk_enable(clk);
+       clk_set_parent(sys_clk, clk);
+
+       clk_put(clk);
+       clk_put(sys_clk);
 
        olympus_pinmux_init();