On 10/28/2018 10:24 PM, Wolfram Sang wrote:
> Documentation says that some bits in TDSEL must be set (ch 5.3.35 in
> R-Car E2 v0.5). However, the reset value of the register is 0, so
> software has to do it. Add this to the kernel driver to ensure this is
> really done independent of firmware versions. This is needed for some SD
> cards supporting SDR104 transfer mode.
> 
> Signed-off-by: Wolfram Sang <wsa+rene...@sang-engineering.com>

Reviewed-by: Marek Vasut <marek.va...@gmail.com>

> ---
>  drivers/pinctrl/sh-pfc/pfc-r8a7794.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7794.c 
> b/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
> index 6d1e5fdc03f8..8a16053d2bec 100644
> --- a/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
> +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
> @@ -5560,7 +5560,16 @@ static int r8a7794_pin_to_pocctrl(struct sh_pfc *pfc, 
> unsigned int pin, u32 *poc
>       return -EINVAL;
>  }
>  
> +static int r8a7794_pinmux_soc_init(struct sh_pfc *pfc)
> +{
> +     /* Initialize TDSEL according to datasheet */
> +     sh_pfc_write(pfc, 0xe6060068, 0x55555500);
> +
> +     return 0;
> +}
> +
>  static const struct sh_pfc_soc_operations r8a7794_pinmux_ops = {
> +     .init = r8a7794_pinmux_soc_init,
>       .pin_to_pocctrl = r8a7794_pin_to_pocctrl,
>  };
>  
> 


-- 
Best regards,
Marek Vasut

Reply via email to