aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikko Perttunen <mperttunen@nvidia.com>2014-06-18 10:23:23 -0400
committerPeter De Schrijver <pdeschrijver@nvidia.com>2014-06-25 12:12:32 -0400
commit37ab366251167cd6e517a391143db13cc2d3d65c (patch)
treee3d535719188d7a5ecf15166f94340e7068b6f61
parent167d5366c4dade2f90321c7f2ef9219cbd6fedcc (diff)
clk: tegra: Enable hardware control of SATA PLL
This makes the SATA PLL be controlled by hardware instead of software. This is required for working SATA support. Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r--drivers/clk/tegra/clk-pll.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c
index 637b62ccc91e..f070c365f5f7 100644
--- a/drivers/clk/tegra/clk-pll.c
+++ b/drivers/clk/tegra/clk-pll.c
@@ -110,6 +110,9 @@
110#define XUSBIO_PLL_CFG0_SEQ_ENABLE BIT(24) 110#define XUSBIO_PLL_CFG0_SEQ_ENABLE BIT(24)
111#define XUSBIO_PLL_CFG0_SEQ_START_STATE BIT(25) 111#define XUSBIO_PLL_CFG0_SEQ_START_STATE BIT(25)
112 112
113#define SATA_PLL_CFG0 0x490
114#define SATA_PLL_CFG0_PADPLL_RESET_SWCTL BIT(0)
115
113#define PLLE_MISC_PLLE_PTS BIT(8) 116#define PLLE_MISC_PLLE_PTS BIT(8)
114#define PLLE_MISC_IDDQ_SW_VALUE BIT(13) 117#define PLLE_MISC_IDDQ_SW_VALUE BIT(13)
115#define PLLE_MISC_IDDQ_SW_CTRL BIT(14) 118#define PLLE_MISC_IDDQ_SW_CTRL BIT(14)
@@ -1361,6 +1364,11 @@ static int clk_plle_tegra114_enable(struct clk_hw *hw)
1361 val |= XUSBIO_PLL_CFG0_SEQ_ENABLE; 1364 val |= XUSBIO_PLL_CFG0_SEQ_ENABLE;
1362 pll_writel(val, XUSBIO_PLL_CFG0, pll); 1365 pll_writel(val, XUSBIO_PLL_CFG0, pll);
1363 1366
1367 /* Enable hw control of SATA pll */
1368 val = pll_readl(SATA_PLL_CFG0, pll);
1369 val &= ~SATA_PLL_CFG0_PADPLL_RESET_SWCTL;
1370 pll_writel(val, SATA_PLL_CFG0, pll);
1371
1364out: 1372out:
1365 if (pll->lock) 1373 if (pll->lock)
1366 spin_unlock_irqrestore(pll->lock, flags); 1374 spin_unlock_irqrestore(pll->lock, flags);