On 14/12/2020 21:48, Anton Arapov wrote: > 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, ®, &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 >>
Thanks for testing ! Applied to u-boot-amlogic Neil