]> git.sur5r.net Git - u-boot/blobdiff - drivers/gpio/mvebu_gpio.c
board: stm32f429-disco: switch to DM STM32 pinctrl and gpio driver
[u-boot] / drivers / gpio / mvebu_gpio.c
index 9564ce2b13ea9f313f006d5e6a5448fad36bbd76..85dea14c519bf58894c943a776433860aee33b88 100644 (file)
@@ -43,6 +43,10 @@ static int mvebu_gpio_direction_output(struct udevice *dev, unsigned gpio,
        struct mvebu_gpio_priv *priv = dev_get_priv(dev);
        struct mvebu_gpio_regs *regs = priv->regs;
 
+       if (value)
+               setbits_le32(&regs->data_out, BIT(gpio));
+       else
+               clrbits_le32(&regs->data_out, BIT(gpio));
        clrbits_le32(&regs->io_conf, BIT(gpio));
 
        return 0;
@@ -88,7 +92,7 @@ static int mvebu_gpio_probe(struct udevice *dev)
        struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
        struct mvebu_gpio_priv *priv = dev_get_priv(dev);
 
-       priv->regs = (struct mvebu_gpio_regs *)dev_get_addr(dev);
+       priv->regs = (struct mvebu_gpio_regs *)devfdt_get_addr(dev);
        uc_priv->gpio_count = MVEBU_GPIOS_PER_BANK;
        priv->name[0] = 'A' + dev->req_seq;
        uc_priv->bank_name = priv->name;