mmc: tegra: disable SPI_MODE_CLKEN
The Tegra30 and up TRM states that this bit should always be programmed to 0 by driver software. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
a8e326a911
commit
74cd42bcad
|
@ -28,6 +28,10 @@
|
||||||
#include "sdhci-pltfm.h"
|
#include "sdhci-pltfm.h"
|
||||||
|
|
||||||
/* Tegra SDHOST controller vendor register definitions */
|
/* Tegra SDHOST controller vendor register definitions */
|
||||||
|
#define SDHCI_TEGRA_VENDOR_CLOCK_CTRL 0x100
|
||||||
|
#define SDHCI_CLOCK_CTRL_PADPIPE_CLKEN_OVERRIDE BIT(3)
|
||||||
|
#define SDHCI_CLOCK_CTRL_SPI_MODE_CLKEN_OVERRIDE BIT(2)
|
||||||
|
|
||||||
#define SDHCI_TEGRA_VENDOR_MISC_CTRL 0x120
|
#define SDHCI_TEGRA_VENDOR_MISC_CTRL 0x120
|
||||||
#define SDHCI_MISC_CTRL_ENABLE_SDR104 0x8
|
#define SDHCI_MISC_CTRL_ENABLE_SDR104 0x8
|
||||||
#define SDHCI_MISC_CTRL_ENABLE_SDR50 0x10
|
#define SDHCI_MISC_CTRL_ENABLE_SDR50 0x10
|
||||||
|
@ -125,7 +129,7 @@ static void tegra_sdhci_reset(struct sdhci_host *host, u8 mask)
|
||||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||||
struct sdhci_tegra *tegra_host = pltfm_host->priv;
|
struct sdhci_tegra *tegra_host = pltfm_host->priv;
|
||||||
const struct sdhci_tegra_soc_data *soc_data = tegra_host->soc_data;
|
const struct sdhci_tegra_soc_data *soc_data = tegra_host->soc_data;
|
||||||
u32 misc_ctrl;
|
u32 misc_ctrl, clk_ctrl;
|
||||||
|
|
||||||
sdhci_reset(host, mask);
|
sdhci_reset(host, mask);
|
||||||
|
|
||||||
|
@ -145,6 +149,10 @@ static void tegra_sdhci_reset(struct sdhci_host *host, u8 mask)
|
||||||
misc_ctrl &= ~SDHCI_MISC_CTRL_ENABLE_SDR104;
|
misc_ctrl &= ~SDHCI_MISC_CTRL_ENABLE_SDR104;
|
||||||
sdhci_writew(host, misc_ctrl, SDHCI_TEGRA_VENDOR_MISC_CTRL);
|
sdhci_writew(host, misc_ctrl, SDHCI_TEGRA_VENDOR_MISC_CTRL);
|
||||||
|
|
||||||
|
clk_ctrl = sdhci_readl(host, SDHCI_TEGRA_VENDOR_CLOCK_CTRL);
|
||||||
|
clk_ctrl &= ~SDHCI_CLOCK_CTRL_SPI_MODE_CLKEN_OVERRIDE;
|
||||||
|
sdhci_writel(host, clk_ctrl, SDHCI_TEGRA_VENDOR_CLOCK_CTRL);
|
||||||
|
|
||||||
tegra_host->ddr_signaling = false;
|
tegra_host->ddr_signaling = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue