summaryrefslogtreecommitdiffstats
path: root/drivers/clk/tegra
diff options
context:
space:
mode:
authorLucas Stach <dev@lynxeye.de>2013-12-03 20:56:56 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-12-04 14:59:39 +0100
commit7b6c063f5786b7552c2c8a97f3c57a3cd5b966a7 (patch)
tree366089d320a4e2f6434e89ddbc1ba8e151953d96 /drivers/clk/tegra
parentc50a17104cb996c2b6e83da57c9f101164313798 (diff)
downloadbarebox-7b6c063f5786b7552c2c8a97f3c57a3cd5b966a7.tar.gz
barebox-7b6c063f5786b7552c2c8a97f3c57a3cd5b966a7.tar.xz
tegra: speed up system bus
We run the system bus from the OSC clock during init, to avoid crashing the system while reconfiguring the PLLs. Switch to a more reasonable clock when we are done with this. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/clk/tegra')
-rw-r--r--drivers/clk/tegra/clk-tegra20.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/clk/tegra/clk-tegra20.c b/drivers/clk/tegra/clk-tegra20.c
index e70f99a1fc..b94b7bc888 100644
--- a/drivers/clk/tegra/clk-tegra20.c
+++ b/drivers/clk/tegra/clk-tegra20.c
@@ -325,6 +325,13 @@ static int tegra20_car_probe(struct device_d *dev)
tegra_init_from_table(init_table, clks, clk_max);
+ /* speed up system bus */
+ writel(CRC_SCLK_BURST_POLICY_SYS_STATE_RUN <<
+ CRC_SCLK_BURST_POLICY_SYS_STATE_SHIFT |
+ CRC_SCLK_BURST_POLICY_SRC_PLLC_OUT1 <<
+ CRC_SCLK_BURST_POLICY_RUN_SRC_SHIFT,
+ car_base + CRC_SCLK_BURST_POLICY);
+
clk_data.clks = clks;
clk_data.clk_num = ARRAY_SIZE(clks);
of_clk_add_provider(dev->device_node, of_clk_src_onecell_get,