diff options
Diffstat (limited to 'drivers/mmc/mmc.c')
-rw-r--r-- | drivers/mmc/mmc.c | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 9f915cd..6299635 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -91,14 +91,12 @@ mmc_bwrite(int dev_num, ulong start, lbaint_t blkcnt, const void*src) blklen = mmc->write_bl_len; -#ifdef CONFIG_EMMC_DDR_MODE if (mmc->bus_width == EMMC_MODE_4BIT_DDR || mmc->bus_width == EMMC_MODE_8BIT_DDR) { err = 0; blklen = 512; } else -#endif - err = mmc_set_blocklen(mmc, mmc->write_bl_len); + err = mmc_set_blocklen(mmc, mmc->write_bl_len); if (err) { puts("set write bl len failed\n\r"); @@ -180,11 +178,9 @@ int mmc_read(struct mmc *mmc, u64 src, uchar *dst, int size) int endblock = lldiv(src + size - 1, mmc->read_bl_len); int err = 0; -#ifdef CONFIG_EMMC_DDR_MODE if (mmc->bus_width == EMMC_MODE_4BIT_DDR || mmc->bus_width == EMMC_MODE_8BIT_DDR) blklen = 512; -#endif /* Make a buffer big enough to hold all the blocks we might read */ buffer = malloc(blklen); @@ -194,14 +190,13 @@ int mmc_read(struct mmc *mmc, u64 src, uchar *dst, int size) return -1; } -#ifdef CONFIG_EMMC_DDR_MODE if (mmc->bus_width == EMMC_MODE_4BIT_DDR || mmc->bus_width == EMMC_MODE_8BIT_DDR) err = 0; - else -#endif - /* We always do full block reads from the card */ - err = mmc_set_blocklen(mmc, mmc->read_bl_len); + else { + /* We always do full block reads from the card */ + err = mmc_set_blocklen(mmc, mmc->read_bl_len); + } if (err) goto free_buffer; @@ -513,7 +508,7 @@ static int mmc_change_freq(struct mmc *mmc) mmc->card_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS; else mmc->card_caps |= MMC_MODE_HS; -#ifdef CONFIG_EMMC_DDR_MODE + if (cardtype & EMMC_MODE_DDR_3V) { if (mmc->card_caps & MMC_MODE_8BIT) mmc->card_caps |= EMMC_MODE_8BIT_DDR; @@ -521,8 +516,6 @@ static int mmc_change_freq(struct mmc *mmc) mmc->card_caps |= EMMC_MODE_4BIT_DDR; } -#endif - no_err_rtn: free(ext_csd); return 0; @@ -715,9 +708,7 @@ int mmc_switch_partition(struct mmc *mmc, uint part, uint enable_boot) int err; uint old_part, new_part; char boot_config; -#ifdef CONFIG_EMMC_DDR_MODE char boot_bus_width, card_boot_bus_width; -#endif /* partition must be - 0 - user area @@ -802,7 +793,6 @@ int mmc_switch_partition(struct mmc *mmc, uint part, uint enable_boot) goto err_rtn; } -#ifdef CONFIG_EMMC_DDR_MODE /* Program boot_bus_width field for eMMC 4.4 boot mode */ if ((ext_csd[EXT_CSD_CARD_TYPE] & 0xC) && enable_boot != 0) { @@ -838,7 +828,6 @@ int mmc_switch_partition(struct mmc *mmc, uint part, uint enable_boot) goto err_rtn; } } -#endif /* Seems everything is ok, return the partition id before switch */ free(ext_csd); @@ -1098,8 +1087,6 @@ static int mmc_startup(struct mmc *mmc) mmc_set_bus_width(mmc, 8); } -#ifdef CONFIG_EMMC_DDR_MODE - if (mmc->card_caps & EMMC_MODE_8BIT_DDR) { /* Set the card to use 8 bit DDR mode */ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, @@ -1122,7 +1109,6 @@ static int mmc_startup(struct mmc *mmc) /* Setup the host controller for DDR mode */ mmc_set_bus_width(mmc, EMMC_MODE_4BIT_DDR); } -#endif if (mmc->card_caps & MMC_MODE_HS) { if (mmc->card_caps & MMC_MODE_HS_52MHz) |