aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/tegra/clk-pll.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/tegra/clk-pll.c')
-rw-r--r--drivers/clk/tegra/clk-pll.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c
index 637b62ccc91e..c7c6d8fb32fb 100644
--- a/drivers/clk/tegra/clk-pll.c
+++ b/drivers/clk/tegra/clk-pll.c
@@ -110,6 +110,12 @@
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#define SATA_PLL_CFG0_PADPLL_USE_LOCKDET BIT(2)
116#define SATA_PLL_CFG0_SEQ_ENABLE BIT(24)
117#define SATA_PLL_CFG0_SEQ_START_STATE BIT(25)
118
113#define PLLE_MISC_PLLE_PTS BIT(8) 119#define PLLE_MISC_PLLE_PTS BIT(8)
114#define PLLE_MISC_IDDQ_SW_VALUE BIT(13) 120#define PLLE_MISC_IDDQ_SW_VALUE BIT(13)
115#define PLLE_MISC_IDDQ_SW_CTRL BIT(14) 121#define PLLE_MISC_IDDQ_SW_CTRL BIT(14)
@@ -1361,6 +1367,19 @@ static int clk_plle_tegra114_enable(struct clk_hw *hw)
1361 val |= XUSBIO_PLL_CFG0_SEQ_ENABLE; 1367 val |= XUSBIO_PLL_CFG0_SEQ_ENABLE;
1362 pll_writel(val, XUSBIO_PLL_CFG0, pll); 1368 pll_writel(val, XUSBIO_PLL_CFG0, pll);
1363 1369
1370 /* Enable hw control of SATA pll */
1371 val = pll_readl(SATA_PLL_CFG0, pll);
1372 val &= ~SATA_PLL_CFG0_PADPLL_RESET_SWCTL;
1373 val |= SATA_PLL_CFG0_PADPLL_USE_LOCKDET;
1374 val |= SATA_PLL_CFG0_SEQ_START_STATE;
1375 pll_writel(val, SATA_PLL_CFG0, pll);
1376
1377 udelay(1);
1378
1379 val = pll_readl(SATA_PLL_CFG0, pll);
1380 val |= SATA_PLL_CFG0_SEQ_ENABLE;
1381 pll_writel(val, SATA_PLL_CFG0, pll);
1382
1364out: 1383out:
1365 if (pll->lock) 1384 if (pll->lock)
1366 spin_unlock_irqrestore(pll->lock, flags); 1385 spin_unlock_irqrestore(pll->lock, flags);