mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-15 15:46:16 +09:00
Merge branch 'master' of git://git.denx.de/u-boot-mmc
This commit is contained in:
commit
d283a5709d
|
@ -12,7 +12,7 @@ static struct sdhci_ops mv_ops;
|
||||||
static inline void mv_sdhci_writeb(struct sdhci_host *host, u8 val, int reg)
|
static inline void mv_sdhci_writeb(struct sdhci_host *host, u8 val, int reg)
|
||||||
{
|
{
|
||||||
struct mmc *mmc = host->mmc;
|
struct mmc *mmc = host->mmc;
|
||||||
u32 ata = (u32)host->ioaddr + SD_CE_ATA_2;
|
u32 ata = (unsigned long)host->ioaddr + SD_CE_ATA_2;
|
||||||
|
|
||||||
if (!IS_SD(mmc) && reg == SDHCI_HOST_CONTROL) {
|
if (!IS_SD(mmc) && reg == SDHCI_HOST_CONTROL) {
|
||||||
if (mmc->bus_width == 8)
|
if (mmc->bus_width == 8)
|
||||||
|
@ -30,7 +30,7 @@ static inline void mv_sdhci_writeb(struct sdhci_host *host, u8 val, int reg)
|
||||||
#endif /* CONFIG_MMC_SDHCI_IO_ACCESSORS */
|
#endif /* CONFIG_MMC_SDHCI_IO_ACCESSORS */
|
||||||
|
|
||||||
static char *MVSDH_NAME = "mv_sdh";
|
static char *MVSDH_NAME = "mv_sdh";
|
||||||
int mv_sdh_init(u32 regbase, u32 max_clk, u32 min_clk, u32 quirks)
|
int mv_sdh_init(unsigned long regbase, u32 max_clk, u32 min_clk, u32 quirks)
|
||||||
{
|
{
|
||||||
struct sdhci_host *host = NULL;
|
struct sdhci_host *host = NULL;
|
||||||
host = (struct sdhci_host *)malloc(sizeof(struct sdhci_host));
|
host = (struct sdhci_host *)malloc(sizeof(struct sdhci_host));
|
||||||
|
|
|
@ -30,7 +30,7 @@ static void s5p_sdhci_set_control_reg(struct sdhci_host *host)
|
||||||
sdhci_writel(host, SDHCI_CTRL4_DRIVE_MASK(0x3), SDHCI_CONTROL4);
|
sdhci_writel(host, SDHCI_CTRL4_DRIVE_MASK(0x3), SDHCI_CONTROL4);
|
||||||
|
|
||||||
val = sdhci_readl(host, SDHCI_CONTROL2);
|
val = sdhci_readl(host, SDHCI_CONTROL2);
|
||||||
val &= SDHCI_CTRL2_SELBASECLK_SHIFT;
|
val &= SDHCI_CTRL2_SELBASECLK_MASK(3);
|
||||||
|
|
||||||
val |= SDHCI_CTRL2_ENSTAASYNCCLR |
|
val |= SDHCI_CTRL2_ENSTAASYNCCLR |
|
||||||
SDHCI_CTRL2_ENCMDCNFMSK |
|
SDHCI_CTRL2_ENCMDCNFMSK |
|
||||||
|
|
|
@ -194,13 +194,13 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
|
||||||
|
|
||||||
#ifdef CONFIG_MMC_SDMA
|
#ifdef CONFIG_MMC_SDMA
|
||||||
if (data->flags == MMC_DATA_READ)
|
if (data->flags == MMC_DATA_READ)
|
||||||
start_addr = (unsigned int)data->dest;
|
start_addr = (unsigned long)data->dest;
|
||||||
else
|
else
|
||||||
start_addr = (unsigned int)data->src;
|
start_addr = (unsigned long)data->src;
|
||||||
if ((host->quirks & SDHCI_QUIRK_32BIT_DMA_ADDR) &&
|
if ((host->quirks & SDHCI_QUIRK_32BIT_DMA_ADDR) &&
|
||||||
(start_addr & 0x7) != 0x0) {
|
(start_addr & 0x7) != 0x0) {
|
||||||
is_aligned = 0;
|
is_aligned = 0;
|
||||||
start_addr = (unsigned int)aligned_buffer;
|
start_addr = (unsigned long)aligned_buffer;
|
||||||
if (data->flags != MMC_DATA_READ)
|
if (data->flags != MMC_DATA_READ)
|
||||||
memcpy(aligned_buffer, data->src, trans_bytes);
|
memcpy(aligned_buffer, data->src, trans_bytes);
|
||||||
}
|
}
|
||||||
|
@ -412,7 +412,7 @@ static int sdhci_init(struct mmc *mmc)
|
||||||
if (host->quirks & SDHCI_QUIRK_NO_CD) {
|
if (host->quirks & SDHCI_QUIRK_NO_CD) {
|
||||||
unsigned int status;
|
unsigned int status;
|
||||||
|
|
||||||
sdhci_writel(host, SDHCI_CTRL_CD_TEST_INS | SDHCI_CTRL_CD_TEST,
|
sdhci_writeb(host, SDHCI_CTRL_CD_TEST_INS | SDHCI_CTRL_CD_TEST,
|
||||||
SDHCI_HOST_CONTROL);
|
SDHCI_HOST_CONTROL);
|
||||||
|
|
||||||
status = sdhci_readl(host, SDHCI_PRESENT_STATE);
|
status = sdhci_readl(host, SDHCI_PRESENT_STATE);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user