|
@@ -601,7 +601,7 @@ static int mmc_send_ext_csd(struct mmc *mmc, u8 *ext_csd)
|
|
|
|
|
|
data.dest = (char *)ext_csd;
|
|
|
data.blocks = 1;
|
|
|
- data.blocksize = 512;
|
|
|
+ data.blocksize = MMC_MAX_BLOCK_LEN;
|
|
|
data.flags = MMC_DATA_READ;
|
|
|
|
|
|
err = mmc_send_cmd(mmc, &cmd, &data);
|
|
@@ -634,7 +634,7 @@ static int mmc_switch(struct mmc *mmc, u8 set, u8 index, u8 value)
|
|
|
|
|
|
static int mmc_change_freq(struct mmc *mmc)
|
|
|
{
|
|
|
- ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, 512);
|
|
|
+ ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, MMC_MAX_BLOCK_LEN);
|
|
|
char cardtype;
|
|
|
int err;
|
|
|
|
|
@@ -899,8 +899,8 @@ static int mmc_startup(struct mmc *mmc)
|
|
|
uint mult, freq;
|
|
|
u64 cmult, csize, capacity;
|
|
|
struct mmc_cmd cmd;
|
|
|
- ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, 512);
|
|
|
- ALLOC_CACHE_ALIGN_BUFFER(u8, test_csd, 512);
|
|
|
+ ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, MMC_MAX_BLOCK_LEN);
|
|
|
+ ALLOC_CACHE_ALIGN_BUFFER(u8, test_csd, MMC_MAX_BLOCK_LEN);
|
|
|
int timeout = 1000;
|
|
|
|
|
|
#ifdef CONFIG_MMC_SPI_CRC_ON
|
|
@@ -1016,11 +1016,11 @@ static int mmc_startup(struct mmc *mmc)
|
|
|
mmc->capacity = (csize + 1) << (cmult + 2);
|
|
|
mmc->capacity *= mmc->read_bl_len;
|
|
|
|
|
|
- if (mmc->read_bl_len > 512)
|
|
|
- mmc->read_bl_len = 512;
|
|
|
+ if (mmc->read_bl_len > MMC_MAX_BLOCK_LEN)
|
|
|
+ mmc->read_bl_len = MMC_MAX_BLOCK_LEN;
|
|
|
|
|
|
- if (mmc->write_bl_len > 512)
|
|
|
- mmc->write_bl_len = 512;
|
|
|
+ if (mmc->write_bl_len > MMC_MAX_BLOCK_LEN)
|
|
|
+ mmc->write_bl_len = MMC_MAX_BLOCK_LEN;
|
|
|
|
|
|
/* Select the card, and put it into Transfer Mode */
|
|
|
if (!mmc_host_is_spi(mmc)) { /* cmd not supported in spi */
|
|
@@ -1051,7 +1051,7 @@ static int mmc_startup(struct mmc *mmc)
|
|
|
| ext_csd[EXT_CSD_SEC_CNT + 1] << 8
|
|
|
| ext_csd[EXT_CSD_SEC_CNT + 2] << 16
|
|
|
| ext_csd[EXT_CSD_SEC_CNT + 3] << 24;
|
|
|
- capacity *= 512;
|
|
|
+ capacity *= MMC_MAX_BLOCK_LEN;
|
|
|
if ((capacity >> 20) > 2 * 1024)
|
|
|
mmc->capacity = capacity;
|
|
|
}
|
|
@@ -1079,10 +1079,11 @@ static int mmc_startup(struct mmc *mmc)
|
|
|
* group size from ext_csd directly, or calculate
|
|
|
* the group size from the csd value.
|
|
|
*/
|
|
|
- if (ext_csd[EXT_CSD_ERASE_GROUP_DEF])
|
|
|
+ if (ext_csd[EXT_CSD_ERASE_GROUP_DEF]) {
|
|
|
mmc->erase_grp_size =
|
|
|
- ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] * 512 * 1024;
|
|
|
- else {
|
|
|
+ ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] *
|
|
|
+ MMC_MAX_BLOCK_LEN * 1024;
|
|
|
+ } else {
|
|
|
int erase_gsz, erase_gmul;
|
|
|
erase_gsz = (mmc->csd[2] & 0x00007c00) >> 10;
|
|
|
erase_gmul = (mmc->csd[2] & 0x000003e0) >> 5;
|