Hi Andrew,

> On Dec 1, 2014, at 14:59 , Andrew Gabbasov <andrew_gabba...@mentor.com> wrote:
> 
> Block length for write and read commands is fixed to 512 bytes
> when the card is in Dual Data Rate mode. If block length read from CSD
> is different, make sure the driver will use correct length
> in all further calculations and settings.
> 
> Signed-off-by: Andrew Gabbasov <andrew_gabba...@mentor.com>
> ---
> drivers/mmc/mmc.c | 6 ++++++
> 1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index d878c1e..9918597 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -1170,6 +1170,12 @@ static int mmc_startup(struct mmc *mmc)
> 
>       mmc_set_clock(mmc, mmc->tran_speed);
> 
> +     /* Fix the block length for DDR mode */
> +     if (mmc->ddr_mode) {
> +             mmc->read_bl_len = MMC_MAX_BLOCK_LEN;
> +             mmc->write_bl_len = MMC_MAX_BLOCK_LEN;
> +     }
> +
>       /* fill in device description */
>       mmc->block_dev.lun = 0;
>       mmc->block_dev.type = 0;
> -- 
> 2.1.0

Applied, thanks.

— Pantelis

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to