[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