[U-Boot] [PATCH] s5p-mmc: Fix ambiguous setting of data transfer width
Jaehoon Chung
jh80.chung at samsung.com
Wed Aug 31 10:33:01 CEST 2011
Hi Chander.
this patch is correct.
Acked-by: Jaehoon Chung <jh80.chung at samsung.com>
Chander Kashyap wrote:
> mmc data transfer width is set as following:
> WIDE8[5]:
> 0 = Depend on WIDE4
> 1 = 8-bit mode
> WIDE4[1]:
> 1 = 4-bit mode
> 0 = 1-bit mode
>
> In case of 4-bit mode reset 8-bit mode and
> in case of 1-bit mode reset 8-bit mode and 4-bit mode
>
> Signed-off-by: Chander Kashyap <chander.kashyap at linaro.org>
> ---
> drivers/mmc/s5p_mmc.c | 10 +++++++---
> 1 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/s5p_mmc.c b/drivers/mmc/s5p_mmc.c
> index 7786ecf..6e6ad08 100644
> --- a/drivers/mmc/s5p_mmc.c
> +++ b/drivers/mmc/s5p_mmc.c
> @@ -368,12 +368,16 @@ static void mmc_set_ios(struct mmc *mmc)
> * 1 = 4-bit mode
> * 0 = 1-bit mode
> */
> - if (mmc->bus_width == 8)
> + if (mmc->bus_width == 8) {
> ctrl |= (1 << 5);
> - else if (mmc->bus_width == 4)
> + ctrl &= ~(1 << 1);
> + } else if (mmc->bus_width == 4) {
> ctrl |= (1 << 1);
> - else
> + ctrl &= ~(1 << 5);
> + } else {
> ctrl &= ~(1 << 1);
> + ctrl &= ~(1 << 5);
> + }
>
> /*
> * OUTEDGEINV[2]
More information about the U-Boot
mailing list