mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2025-12-10 07:44:53 +01:00
mmc: ipq6018: fix for mmc iopad issue
Change-Id: I71353b93ef7c62bfcdff2f9207bb26bcdd882c88 Signed-off-by: Antony Arun T <antothom@codeaurora.org>
This commit is contained in:
parent
d6c1d173ed
commit
fb27ca9881
6 changed files with 28 additions and 0 deletions
|
|
@ -172,4 +172,9 @@ extern const add_node_t add_fdt_node[];
|
||||||
unsigned int get_board_index(unsigned int machid);
|
unsigned int get_board_index(unsigned int machid);
|
||||||
void reset_crashdump(void);
|
void reset_crashdump(void);
|
||||||
void ipq_fdt_fixup_socinfo(void *blob);
|
void ipq_fdt_fixup_socinfo(void *blob);
|
||||||
|
|
||||||
|
__weak void mmc_iopad_config(struct sdhci_host *host)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -236,6 +236,15 @@ void emmc_clock_config()
|
||||||
udelay(10);
|
udelay(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mmc_iopad_config(struct sdhci_host *host)
|
||||||
|
{
|
||||||
|
u32 val;
|
||||||
|
val = sdhci_readb(host, SDHCI_VENDOR_IOPAD);
|
||||||
|
/*set bit 15 & 16*/
|
||||||
|
val |= 0x18000;
|
||||||
|
writel(val, host->ioaddr + SDHCI_VENDOR_IOPAD);
|
||||||
|
}
|
||||||
|
|
||||||
void emmc_clock_disable(void)
|
void emmc_clock_disable(void)
|
||||||
{
|
{
|
||||||
/* Clear divider */
|
/* Clear divider */
|
||||||
|
|
|
||||||
|
|
@ -222,4 +222,9 @@ void reset_crashdump(void);
|
||||||
void ipq_fdt_fixup_socinfo(void *blob);
|
void ipq_fdt_fixup_socinfo(void *blob);
|
||||||
void board_pci_init(int id);
|
void board_pci_init(int id);
|
||||||
void board_pcie_clock_init(int id);
|
void board_pcie_clock_init(int id);
|
||||||
|
|
||||||
|
__weak void mmc_iopad_config(struct sdhci_host *host)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
#endif /* _IPQ806X_H_ */
|
#endif /* _IPQ806X_H_ */
|
||||||
|
|
|
||||||
|
|
@ -304,4 +304,8 @@ __weak int ipq_get_tz_version(char *version_name, int buf_size)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__weak void mmc_iopad_config(struct sdhci_host *host)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
#endif /* _IPQ807X_H_ */
|
#endif /* _IPQ807X_H_ */
|
||||||
|
|
|
||||||
|
|
@ -673,6 +673,8 @@ int add_sdhci(struct sdhci_host *host, u32 max_clk, u32 min_clk)
|
||||||
|
|
||||||
sdhci_reset(host, SDHCI_RESET_ALL);
|
sdhci_reset(host, SDHCI_RESET_ALL);
|
||||||
|
|
||||||
|
mmc_iopad_config(host);
|
||||||
|
|
||||||
host->mmc = mmc_create(&host->cfg, host);
|
host->mmc = mmc_create(&host->cfg, host);
|
||||||
if (host->mmc == NULL) {
|
if (host->mmc == NULL) {
|
||||||
printf("%s: mmc create fail!\n", __func__);
|
printf("%s: mmc create fail!\n", __func__);
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,9 @@
|
||||||
#define SDHCI_MAX_DIV_SPEC_200 256
|
#define SDHCI_MAX_DIV_SPEC_200 256
|
||||||
#define SDHCI_MAX_DIV_SPEC_300 2046
|
#define SDHCI_MAX_DIV_SPEC_300 2046
|
||||||
|
|
||||||
|
/*Vendor Specific register*/
|
||||||
|
#define SDHCI_VENDOR_IOPAD 0x20C
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* quirks
|
* quirks
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue