From 0ffa433ea68440c3d54e5cf8cb2de58c60a8f85b Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sun, 31 Jul 2022 18:19:39 -0500 Subject: [PATCH] gpio: axp: Report the correct value for outputs Signed-off-by: Samuel Holland --- drivers/gpio/axp_gpio.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpio/axp_gpio.c b/drivers/gpio/axp_gpio.c index 61a227081d7..867ab1dba57 100644 --- a/drivers/gpio/axp_gpio.c +++ b/drivers/gpio/axp_gpio.c @@ -34,6 +34,15 @@ static int axp_gpio_get_value(struct udevice *dev, unsigned pin) const struct axp_gpio_desc *desc = dev_get_priv(dev); int ret; + ret = pmic_reg_read(dev->parent, desc->pins[pin]); + if (ret < 0) + return ret; + + if (ret == AXP_GPIO_CTRL_OUTPUT_LOW) + return 0; + if (ret == AXP_GPIO_CTRL_OUTPUT_HIGH) + return 1; + ret = pmic_reg_read(dev->parent, desc->status_reg); if (ret < 0) return ret;