]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
clk: tegra: Warn if an enabled PLL is in IDDQ
authorThierry Reding <treding@nvidia.com>
Thu, 13 Jun 2019 16:12:24 +0000 (18:12 +0200)
committerStephen Boyd <sboyd@kernel.org>
Tue, 25 Jun 2019 23:10:28 +0000 (16:10 -0700)
A PLL in IDDQ doesn't work, whether it's enabled or not. This is not a
configuration that makes sense, so warn about it.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/tegra/clk-tegra210.c

index 51a21bf1715ea9c11ee6906f20b34135791dcd4b..18384666b3805faf00a79b49ecc7970479e655f5 100644 (file)
@@ -1014,8 +1014,12 @@ static void tegra210_pllre_set_defaults(struct tegra_clk_pll *pllre)
                _pll_misc_chk_default(clk_base, pllre->params, 0, val,
                                ~mask & PLLRE_MISC0_WRITE_MASK);
 
-               /* Enable lock detect */
+               /* The PLL doesn't work if it's in IDDQ. */
                val = readl_relaxed(clk_base + pllre->params->ext_misc_reg[0]);
+               if (val & PLLRE_MISC0_IDDQ)
+                       pr_warn("unexpected IDDQ bit set for enabled clock\n");
+
+               /* Enable lock detect */
                val &= ~mask;
                val |= PLLRE_MISC0_DEFAULT_VALUE & mask;
                writel_relaxed(val, clk_base + pllre->params->ext_misc_reg[0]);