summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2011-06-10 12:58:11 -0700
committerNiket Sirsi <nsirsi@nvidia.com>2011-06-14 16:21:14 -0700
commit164e8504b26dedea90ff025d8e973263aae0dffb (patch)
tree1c80b9ae363cc828a2fad921a4a60df27512a6b9
parente7f839a1a0d2c21b459aa6b99504ac7dbf676ca0 (diff)
arm: tegra: clocks: Support standard PLL-P frequency for FPGAs
FPGA platforms require the standard PLL-P frequency. Configure the clock tables approprately based upon platform type. Change-Id: I0c39c819cc935715d19ba684d365dcf9a1f2b518 Reviewed-on: http://git-master/r/36150 Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/common.c14
-rw-r--r--arch/arm/mach-tegra/tegra3_clocks.c8
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index 03562f36be79..ed708270158b 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -103,6 +103,7 @@ static __initdata struct tegra_clk_init_table common_clk_init_table[] = {
/* set up clocks that should always be on */
/* name parent rate enabled */
{ "clk_m", NULL, 0, true },
+#ifndef CONFIG_TEGRA_FPGA_PLATFORM
#ifdef CONFIG_ARCH_TEGRA_2x_SOC
{ "pll_p", NULL, 216000000, true },
{ "pll_p_out1", "pll_p", 28800000, true },
@@ -126,6 +127,19 @@ static __initdata struct tegra_clk_init_table common_clk_init_table[] = {
{ "hclk", "sclk", 102000000, true },
{ "pclk", "hclk", 51000000, true },
#endif
+#else
+ { "pll_p", NULL, 216000000, true },
+ { "pll_p_out1", "pll_p", 28800000, true },
+ { "pll_p_out2", "pll_p", 48000000, true },
+ { "pll_p_out3", "pll_p", 72000000, true },
+ { "pll_m_out1", "pll_m", 275000000, true },
+ { "pll_c", NULL, ULONG_MAX, false },
+ { "pll_c_out1", "pll_c", 208000000, false },
+ { "pll_p_out4", "pll_p", 108000000, true },
+ { "sclk", "pll_p_out4", 108000000, true },
+ { "hclk", "sclk", 108000000, true },
+ { "pclk", "hclk", 54000000, true },
+#endif
{ "pll_x", NULL, 0, true },
{ "cpu", NULL, 0, true },
{ "emc", NULL, 0, true },
diff --git a/arch/arm/mach-tegra/tegra3_clocks.c b/arch/arm/mach-tegra/tegra3_clocks.c
index 546abe7fea49..820710b284cc 100644
--- a/arch/arm/mach-tegra/tegra3_clocks.c
+++ b/arch/arm/mach-tegra/tegra3_clocks.c
@@ -2702,7 +2702,11 @@ static struct clk tegra_pll_p = {
.vco_max = 1400000000,
.freq_table = tegra_pll_p_freq_table,
.lock_delay = 300,
+#ifndef CONFIG_TEGRA_FPGA_PLATFORM
.fixed_rate = 408000000,
+#else
+ .fixed_rate = 216000000,
+#endif
},
};
@@ -3303,7 +3307,11 @@ static struct clk tegra_clk_sbus_cmplx = {
.hclk = &tegra_clk_hclk,
.sclk_low = &tegra_pll_p_out4,
.sclk_high = &tegra_pll_m_out1,
+#ifndef CONFIG_TEGRA_FPGA_PLATFORM
.threshold = 204000000, /* exact factor of low range pll_p */
+#else
+ .threshold = 108000000, /* exact factor of low range pll_p */
+#endif
},
};