提交 79709730 编写于 作者: L Lucas Stach 提交者: Thierry Reding

clk: tegra: Fix PLL_U post divider and initial rate on Tegra30

The post divider value in the frequency table is wrong as it would lead
to the PLL producing an output rate of 960 MHz instead of the desired
480 MHz. This wasn't a problem as nothing used the table to actually
initialize the PLL rate, but the bootloader configuration was used
unaltered.

If the bootloader does not set up the PLL it will fail to come when used
under Linux. To fix this don't rely on the bootloader, but set the
correct rate in the clock driver.
Signed-off-by: NLucas Stach <dev@lynxeye.de>
Signed-off-by: NThierry Reding <treding@nvidia.com>
上级 a02cc84a
...@@ -339,11 +339,11 @@ static const struct pdiv_map pllu_p[] = { ...@@ -339,11 +339,11 @@ static const struct pdiv_map pllu_p[] = {
}; };
static struct tegra_clk_pll_freq_table pll_u_freq_table[] = { static struct tegra_clk_pll_freq_table pll_u_freq_table[] = {
{ 12000000, 480000000, 960, 12, 1, 12 }, { 12000000, 480000000, 960, 12, 2, 12 },
{ 13000000, 480000000, 960, 13, 1, 12 }, { 13000000, 480000000, 960, 13, 2, 12 },
{ 16800000, 480000000, 400, 7, 1, 5 }, { 16800000, 480000000, 400, 7, 2, 5 },
{ 19200000, 480000000, 200, 4, 1, 3 }, { 19200000, 480000000, 200, 4, 2, 3 },
{ 26000000, 480000000, 960, 26, 1, 12 }, { 26000000, 480000000, 960, 26, 2, 12 },
{ 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0 },
}; };
...@@ -1380,6 +1380,7 @@ static struct tegra_clk_init_table init_table[] __initdata = { ...@@ -1380,6 +1380,7 @@ static struct tegra_clk_init_table init_table[] __initdata = {
{ TEGRA30_CLK_GR2D, TEGRA30_CLK_PLL_C, 300000000, 0 }, { TEGRA30_CLK_GR2D, TEGRA30_CLK_PLL_C, 300000000, 0 },
{ TEGRA30_CLK_GR3D, TEGRA30_CLK_PLL_C, 300000000, 0 }, { TEGRA30_CLK_GR3D, TEGRA30_CLK_PLL_C, 300000000, 0 },
{ TEGRA30_CLK_GR3D2, TEGRA30_CLK_PLL_C, 300000000, 0 }, { TEGRA30_CLK_GR3D2, TEGRA30_CLK_PLL_C, 300000000, 0 },
{ TEGRA30_CLK_PLL_U, TEGRA30_CLK_CLK_MAX, 480000000, 0 },
/* must be the last entry */ /* must be the last entry */
{ TEGRA30_CLK_CLK_MAX, TEGRA30_CLK_CLK_MAX, 0, 0 }, { TEGRA30_CLK_CLK_MAX, TEGRA30_CLK_CLK_MAX, 0, 0 },
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册