aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk')
-rw-r--r--drivers/clk/tegra/clk-tegra30.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra30.c
index b62e140b9376..e5986565f36e 100644
--- a/drivers/clk/tegra/clk-tegra30.c
+++ b/drivers/clk/tegra/clk-tegra30.c
@@ -252,6 +252,9 @@
252#define CLK_RESET_CCLK_RUN_POLICY 2 252#define CLK_RESET_CCLK_RUN_POLICY 2
253#define CLK_RESET_CCLK_BURST_POLICY_PLLX 8 253#define CLK_RESET_CCLK_BURST_POLICY_PLLX 8
254 254
255/* PLLM override registers */
256#define PMC_PLLM_WB0_OVERRIDE 0x1dc
257
255#ifdef CONFIG_PM_SLEEP 258#ifdef CONFIG_PM_SLEEP
256static struct cpu_clk_suspend_context { 259static struct cpu_clk_suspend_context {
257 u32 pllx_misc; 260 u32 pllx_misc;
@@ -563,6 +566,18 @@ static struct tegra_clk_pll_params pll_c_params = {
563 .lock_delay = 300, 566 .lock_delay = 300,
564}; 567};
565 568
569static struct div_nmp pllm_nmp = {
570 .divn_shift = 8,
571 .divn_width = 10,
572 .override_divn_shift = 5,
573 .divm_shift = 0,
574 .divm_width = 5,
575 .override_divm_shift = 0,
576 .divp_shift = 20,
577 .divp_width = 3,
578 .override_divp_shift = 15,
579};
580
566static struct tegra_clk_pll_params pll_m_params = { 581static struct tegra_clk_pll_params pll_m_params = {
567 .input_min = 2000000, 582 .input_min = 2000000,
568 .input_max = 31000000, 583 .input_max = 31000000,
@@ -575,6 +590,9 @@ static struct tegra_clk_pll_params pll_m_params = {
575 .lock_mask = PLL_BASE_LOCK, 590 .lock_mask = PLL_BASE_LOCK,
576 .lock_enable_bit_idx = PLL_MISC_LOCK_ENABLE, 591 .lock_enable_bit_idx = PLL_MISC_LOCK_ENABLE,
577 .lock_delay = 300, 592 .lock_delay = 300,
593 .div_nmp = &pllm_nmp,
594 .pmc_divnm_reg = PMC_PLLM_WB0_OVERRIDE,
595 .pmc_divp_reg = PMC_PLLM_WB0_OVERRIDE,
578}; 596};
579 597
580static struct tegra_clk_pll_params pll_p_params = { 598static struct tegra_clk_pll_params pll_p_params = {