summaryrefslogtreecommitdiff
path: root/drivers/ata
diff options
context:
space:
mode:
authorvenkatajagadish <vjagadish@nvidia.com>2014-02-18 11:01:29 +0530
committerVenkata Jagadish <vjagadish@nvidia.com>2014-02-26 03:39:44 -0800
commitb5b3751633444ff4d0c831cf8504c3f3e2a39d1f (patch)
tree275fe4671fae34e1ef69c1587948ac2936aebdaf /drivers/ata
parentf48c112fe4ec64dfafd383c60ad160f07f27050f (diff)
SATA: tegra: SATA Driver code cleanup
This change removes LIC and APB PMC programing from ahci driver which is not required from T124 onwards Bug 1412388 Bug 1462104 Change-Id: Ib6a87aee4516f0a2987b25cf5783efb580ad233a Signed-off-by: venkatajagadish <vjagadish@nvidia.com> Reviewed-on: http://git-master/r/368590 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/ahci-tegra.c61
1 files changed, 0 insertions, 61 deletions
diff --git a/drivers/ata/ahci-tegra.c b/drivers/ata/ahci-tegra.c
index 10a2aea1a282..94e385ca5921 100644
--- a/drivers/ata/ahci-tegra.c
+++ b/drivers/ata/ahci-tegra.c
@@ -946,29 +946,12 @@ static int tegra_ahci_controller_init(struct tegra_ahci_host_priv *tegra_hpriv,
val = 0x100;
pmc_writel(val, APBDEV_PMC_REMOVE_CLAMPING_CMD_0);
- /**** Init the SATA PAD PLL ****/
- /* SATA_PADPLL_IDDQ_SWCTL=1 and SATA_PADPLL_IDDQ_OVERRIDE_VALUE=1 */
- val = pmc_readl(APB_PMC_SATA_PWRGT_0_REG);
- val |= (PADPLL_IDDQ_SWCTL_ON | PADPLL_IDDQ_OVERRIDE_VALUE_ON);
- pmc_writel(val, APB_PMC_SATA_PWRGT_0_REG);
/* SATA_PADPLL_RESET_OVERRIDE_VALUE=1 and SATA_PADPLL_RESET_SWCTL=1 */
val = clk_readl(CLK_RST_SATA_PLL_CFG0_REG);
val |= (PADPLL_RESET_OVERRIDE_VALUE_ON | PADPLL_RESET_SWCTL_ON);
clk_writel(val, CLK_RST_SATA_PLL_CFG0_REG);
- /* SATA_PADPHY_IDDQ_OVERRIDE_VALUE and SATA_PADPHY_IDDQ_SWCTL = 1 */
- val = pmc_readl(APB_PMC_SATA_PWRGT_0_REG);
- val |= (PADPHY_IDDQ_OVERRIDE_VALUE_ON | PADPHY_IDDQ_SWCTL_ON |
- PLLE_IDDQ_SWCTL_ON | PLLE_SATA_SEQ_ENABLE);
- pmc_writel(val, APB_PMC_SATA_PWRGT_0_REG);
-
- /* Get SATA pad PLL out of IDDQ mode */
- val = pmc_readl(APB_PMC_SATA_PWRGT_0_REG);
- val &= ~PADPLL_IDDQ_OVERRIDE_VALUE_MASK;
- pmc_writel(val, APB_PMC_SATA_PWRGT_0_REG);
- udelay(3);
-
/* select internal CML ref clk
* select PLLE as input to IO phy */
val = misc_readl(SATA_AUX_PAD_PLL_CNTL_1_REG);
@@ -983,10 +966,6 @@ static int tegra_ahci_controller_init(struct tegra_ahci_host_priv *tegra_hpriv,
clk_writel(val, CLK_RST_SATA_PLL_CFG1_REG);
udelay(3);
- /* de-assert IDDQ mode signal going to PHY */
- val = pmc_readl(APB_PMC_SATA_PWRGT_0_REG);
- val &= ~PADPHY_IDDQ_OVERRIDE_VALUE_MASK;
- pmc_writel(val, APB_PMC_SATA_PWRGT_0_REG);
#if defined(CONFIG_TEGRA_SILICON_PLATFORM)
err = tegra_unpowergate_partition_with_clk_on(TEGRA_POWERGATE_SATA);
if (err) {
@@ -1140,11 +1119,6 @@ static int tegra_ahci_controller_init(struct tegra_ahci_host_priv *tegra_hpriv,
val &= ~NO_CLAMP_SHUT_DOWN;
bar5_writel(val, AHCI_HBA_PLL_CTRL_0);
- /* enable Interrupt channel */
- val = pictlr_readl(PRI_ICTLR_CPU_IER_SET_0_OFFSET);
- val |= CPU_IER_SATA_CTL;
- pictlr_writel(val, PRI_ICTLR_CPU_IER_SET_0_OFFSET);
-
/* set IP_INT_MASK */
val = sata_readl(SATA_INTR_MASK_0_OFFSET);
val |= IP_INT_MASK;
@@ -1805,18 +1779,10 @@ void tegra_ahci_iddqlane_config(void)
val |= IDDQ2LANE_SLUMBER_DLY_3MS;
clk_writel(val, CLK_RST_SATA_PLL_CFG1_REG);
- /* get sata phy and pll out of iddq: */
- val = pmc_readl(APB_PMC_SATA_PWRGT_0_REG);
- val &= ~(PADPLL_IDDQ_OVERRIDE_VALUE_MASK | PADPLL_IDDQ_SWCTL_MASK);
- pmc_writel(val, APB_PMC_SATA_PWRGT_0_REG);
-
/* wait for delay of IDDQ2LAND_SLUMBER_DLY */
val = clk_readl(CLK_RST_SATA_PLL_CFG1_REG);
dat = (val & IDDQ2LANE_SLUMBER_DLY_MASK) >> IDDQ2LANE_SLUMBER_DLY_SHIFT;
udelay(dat);
- val = pmc_readl(APB_PMC_SATA_PWRGT_0_REG);
- val &= ~(PADPHY_IDDQ_OVERRIDE_VALUE_MASK | PADPHY_IDDQ_SWCTL_MASK);
- pmc_writel(val, APB_PMC_SATA_PWRGT_0_REG);
}
void tegra_ahci_put_sata_in_iddq()
@@ -1838,22 +1804,11 @@ void tegra_ahci_put_sata_in_iddq()
val |= (PADPLL_RESET_SWCTL_ON | PADPLL_RESET_OVERRIDE_VALUE_ON);
clk_writel(val, CLK_RST_SATA_PLL_CFG0_REG);
- val = pmc_readl(APB_PMC_SATA_PWRGT_0_REG);
- val &= ~(PADPHY_IDDQ_OVERRIDE_VALUE_MASK | PADPHY_IDDQ_SWCTL_MASK);
- val |= (PADPHY_IDDQ_SWCTL_ON | PADPHY_IDDQ_OVERRIDE_VALUE_ON);
- pmc_writel(val, APB_PMC_SATA_PWRGT_0_REG);
-
/* Wait for time specified in SATA_LANE_IDDQ2_PADPLL_IDDQ */
val = clk_readl(CLK_RST_SATA_PLL_CFG1_REG);
dat = (val & IDDQ2LANE_IDDQ_DLY_MASK) >> IDDQ2LANE_IDDQ_DLY_SHIFT;
udelay(dat);
- /* SATA_PADPLL_IDDQ_SWCTL=1 & SATA_PADPLL_IDDQ_OVERRIDE_VALUE=1 */
- val = pmc_readl(APB_PMC_SATA_PWRGT_0_REG);
- val &= ~(PADPLL_IDDQ_OVERRIDE_VALUE_MASK | PADPLL_IDDQ_SWCTL_MASK);
- val |= (PADPLL_IDDQ_SWCTL_ON | PADPLL_IDDQ_OVERRIDE_VALUE_ON);
- pmc_writel(val, APB_PMC_SATA_PWRGT_0_REG);
-
val = xusb_readl(XUSB_PADCTL_IOPHY_PLL_S0_CTL1_0);
val |= (PLL_PWR_OVRD_MASK | PLL_IDDQ_MASK | PLL_RST_MASK);
xusb_writel(val, XUSB_PADCTL_IOPHY_PLL_S0_CTL1_0);
@@ -2075,14 +2030,6 @@ static bool tegra_ahci_power_un_gate(struct ata_host *host)
val |= L0_RX_IDLE_T_MUX_FROM_SATA;
misc_writel(val, SATA_AUX_MISC_CNTL_1_REG);
- /*
- * Driver can start to use main SATA interrupt instead of the
- * rx_stat_t interrupt.
- */
- val = pictlr_readl(PRI_ICTLR_CPU_IER_SET_0_OFFSET);
- val |= CPU_IER_SATA_CTL;
- pictlr_writel(val, PRI_ICTLR_CPU_IER_SET_0_OFFSET);
-
/* Set the bits in the CAR to allow HW based low power sequencing. */
val = clk_readl(CLK_RST_SATA_PLL_CFG0_REG);
val &= ~PADPLL_RESET_SWCTL_MASK;
@@ -2203,14 +2150,6 @@ static bool tegra_ahci_pad_resume(struct ata_host *host)
if (timeout == 0)
pr_err("%s: SATA_PAD_PLL is not locked in 15us.\n", __func__);
- /*
- * Driver can start to use main SATA interrupt instead of the
- * rx_stat_t interrupt.
- */
- val = pictlr_readl(PRI_ICTLR_CPU_IER_SET_0_OFFSET);
- val |= CPU_IER_SATA_CTL;
- pictlr_writel(val, PRI_ICTLR_CPU_IER_SET_0_OFFSET);
-
/* Set the bits in the CAR to allow HW based low power sequencing. */
val = clk_readl(CLK_RST_SATA_PLL_CFG0_REG);
val &= ~PADPLL_RESET_SWCTL_MASK;