Hi Neil,

I tested it and it does fix the issue. I am able to boot from eMMC.

Thanks a lot!
Anton

On Mon, Dec 14, 2020 at 7:48 PM Neil Armstrong <narmstr...@baylibre.com> wrote:
>
> This fixes the wrong usage of clrsetbits_le32(), badly setting the set 
> argument.
>
> Fixes: c4c726c26b ("pinctrl: meson: add pinconf support")
> Reported-by: Anton Arapov <ara...@gmail.com>
> Reported-by: Otto Meier <gf...@gmx.net>
> Signed-off-by: Neil Armstrong <narmstr...@baylibre.com>
> ---
> Hi Anton, Otto,
>
> This should fix eMMC booting on Odroid-C2, could you have a quick try to 
> confirm ?
>
> Thanks,
> Neil
>
>  drivers/pinctrl/meson/pinctrl-meson.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/meson/pinctrl-meson.c 
> b/drivers/pinctrl/meson/pinctrl-meson.c
> index d4539b02d8..5065b62436 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson.c
> @@ -216,13 +216,13 @@ static int meson_pinconf_bias_set(struct udevice *dev, 
> unsigned int pin,
>         }
>
>         /* othewise, enable the bias and select level */
> -       clrsetbits_le32(priv->reg_pullen + reg, BIT(bit), 1);
> +       clrsetbits_le32(priv->reg_pullen + reg, BIT(bit), BIT(bit));
>         ret = meson_gpio_calc_reg_and_bit(dev, offset, REG_PULL, &reg, &bit);
>         if (ret)
>                 return ret;
>
>         clrsetbits_le32(priv->reg_pull + reg, BIT(bit),
> -                       param == PIN_CONFIG_BIAS_PULL_UP);
> +                       (param == PIN_CONFIG_BIAS_PULL_UP ? BIT(bit) : 0));
>
>         return 0;
>  }
> --
> 2.25.1
>

Reply via email to