mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-17 12:41:32 +00:00
gpio: stm32: correct the bias management
Use the bias configuration for all the GPIO configurations and not only for input GPIO, as indicated in Reference manual (Table 81. Port bit configuration table). Fixes:43efbb6a3e
("gpio: stm32: add ops get_dir_flags") Fixes:f13ff88b61
("gpio: stm32: add ops set_dir_flags") Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
parent
b305dbc08b
commit
2c6df94c83
1 changed files with 14 additions and 14 deletions
|
@ -212,11 +212,11 @@ static int stm32_gpio_set_dir_flags(struct udevice *dev, unsigned int offset,
|
|||
|
||||
} else if (flags & GPIOD_IS_IN) {
|
||||
stm32_gpio_set_moder(regs, idx, STM32_GPIO_MODE_IN);
|
||||
if (flags & GPIOD_PULL_UP)
|
||||
stm32_gpio_set_pupd(regs, idx, STM32_GPIO_PUPD_UP);
|
||||
else if (flags & GPIOD_PULL_DOWN)
|
||||
stm32_gpio_set_pupd(regs, idx, STM32_GPIO_PUPD_DOWN);
|
||||
}
|
||||
if (flags & GPIOD_PULL_UP)
|
||||
stm32_gpio_set_pupd(regs, idx, STM32_GPIO_PUPD_UP);
|
||||
else if (flags & GPIOD_PULL_DOWN)
|
||||
stm32_gpio_set_pupd(regs, idx, STM32_GPIO_PUPD_DOWN);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -243,16 +243,16 @@ static int stm32_gpio_get_dir_flags(struct udevice *dev, unsigned int offset,
|
|||
break;
|
||||
case STM32_GPIO_MODE_IN:
|
||||
dir_flags |= GPIOD_IS_IN;
|
||||
switch (stm32_gpio_get_pupd(regs, idx)) {
|
||||
case STM32_GPIO_PUPD_UP:
|
||||
dir_flags |= GPIOD_PULL_UP;
|
||||
break;
|
||||
case STM32_GPIO_PUPD_DOWN:
|
||||
dir_flags |= GPIOD_PULL_DOWN;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (stm32_gpio_get_pupd(regs, idx)) {
|
||||
case STM32_GPIO_PUPD_UP:
|
||||
dir_flags |= GPIOD_PULL_UP;
|
||||
break;
|
||||
case STM32_GPIO_PUPD_DOWN:
|
||||
dir_flags |= GPIOD_PULL_DOWN;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue