pinctrl: meson: fix bit manipulation of pin bias configuration

This fixes the wrong usage of clrsetbits_le32(), badly setting the set argument.

Fixes: c4c726c26b ("pinctrl: meson: add pinconf support")
Reported-by: Anton Arapov <arapov@gmail.com>
Reported-by: Otto Meier <gf435@gmx.net>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit is contained in:
Neil Armstrong 2020-12-14 19:39:07 +01:00
parent 5c88b6ad40
commit 5ccd5d2cc9

View File

@ -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;
}