Hi,

On 04/13/2014 08:05 PM, Ian Campbell wrote:
> Bo Shen reported that MMC no longer worked after commit ff42704 "sunxi: use
> clrsetbit in gpio/pinmux code".
> 
> Re-examining those changes shows a couple of bogus changes (forgetting to 
> shift
> the value in one, and using the offset instead of the value in another).
> Presumably Bo Shen's platform uses a different MMC device to what I tested.
> 
> Signed-off-by: Ian Campbell <[email protected]>
> Cc: Hans de Goede <[email protected]>

Thanks I cannot believe we both missed this before :|  Ah well it is fixed now,
I've pushed this fix to the u-boot-sunxi.git sunxi branch.

Regards,

Hans



> ---
>  arch/arm/cpu/armv7/sunxi/pinmux.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/sunxi/pinmux.c 
> b/arch/arm/cpu/armv7/sunxi/pinmux.c
> index 3fdd337..1f2843f 100644
> --- a/arch/arm/cpu/armv7/sunxi/pinmux.c
> +++ b/arch/arm/cpu/armv7/sunxi/pinmux.c
> @@ -43,7 +43,7 @@ int sunxi_gpio_set_drv(u32 pin, u32 val)
>       u32 offset = GPIO_DRV_OFFSET(pin);
>       struct sunxi_gpio *pio = BANK_TO_GPIO(bank);
>  
> -     clrsetbits_le32(&pio->drv[0] + index, 0x3 << offset, val);
> +     clrsetbits_le32(&pio->drv[0] + index, 0x3 << offset, val << offset);
>  
>       return 0;
>  }
> @@ -55,7 +55,7 @@ int sunxi_gpio_set_pull(u32 pin, u32 val)
>       u32 offset = GPIO_PULL_OFFSET(pin);
>       struct sunxi_gpio *pio = BANK_TO_GPIO(bank);
>  
> -     clrsetbits_le32(&pio->pull[0] + index, 0x3 << offset, offset);
> +     clrsetbits_le32(&pio->pull[0] + index, 0x3 << offset, val << offset);
>  
>       return 0;
>  }
> 

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to