summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlo Caione <ccaione@baylibre.com>2018-12-03 18:00:42 +0000
committerNeil Armstrong <narmstrong@baylibre.com>2018-12-05 10:39:17 +0100
commitfb19c7bade45e97112f65671dd0c5855c727675a (patch)
tree26f60019d041a7f94b60220f56e1c24f0b9b7716
parentd452f27b3ea806fd99aee4b73a723318032c1d5c (diff)
pinctrl: meson: Fix GPIO direction registers access
The macros used to set the direction of the GPIO pins are misused, resulting in a wrong behavior when trying to read the GPIO input level from U-Boot. A better macro is also used when setting the output direction. Signed-off-by: Carlo Caione <ccaione@baylibre.com> Reviewed-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index 0bd6152803..b539749752 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -136,7 +136,7 @@ int meson_gpio_direction_input(struct udevice *dev, unsigned int offset)
if (ret)
return ret;
- clrsetbits_le32(priv->reg_gpio + reg, BIT(bit), 1);
+ setbits_le32(priv->reg_gpio + reg, BIT(bit));
return 0;
}
@@ -152,7 +152,7 @@ int meson_gpio_direction_output(struct udevice *dev,
if (ret)
return ret;
- clrsetbits_le32(priv->reg_gpio + reg, BIT(bit), 0);
+ clrbits_le32(priv->reg_gpio + reg, BIT(bit));
ret = meson_gpio_calc_reg_and_bit(dev, offset, REG_OUT, &reg, &bit);
if (ret)