mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 17:22:22 +02:00
gpio: stm32f7: Fix gpio bank hole management
In case "gpio-ranges" property is not present in device tree, use default value for gpio_count and gpio_range. This fixes an issue on stm32 F7 and H7 boards where "pinmux status -a" command didn't return any pin status due to the fact that both stm32 F7 and H7 board DT doesn't use the gpio-ranges property. Fixes: dbf928dd2634a6("gpio: stm32f7: Add gpio bank holes management") Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
committed by
Tom Rini
parent
17be909a1b
commit
39a8f0be2d
@@ -171,6 +171,11 @@ static int gpio_stm32_probe(struct udevice *dev)
|
|||||||
ret = dev_read_phandle_with_args(dev, "gpio-ranges",
|
ret = dev_read_phandle_with_args(dev, "gpio-ranges",
|
||||||
NULL, 3, i, &args);
|
NULL, 3, i, &args);
|
||||||
|
|
||||||
|
if (ret == -ENOENT) {
|
||||||
|
uc_priv->gpio_count = STM32_GPIOS_PER_BANK;
|
||||||
|
priv->gpio_range = GENMASK(STM32_GPIOS_PER_BANK - 1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
while (ret != -ENOENT) {
|
while (ret != -ENOENT) {
|
||||||
priv->gpio_range |= GENMASK(args.args[2] + args.args[0] - 1,
|
priv->gpio_range |= GENMASK(args.args[2] + args.args[0] - 1,
|
||||||
args.args[0]);
|
args.args[0]);
|
||||||
|
Reference in New Issue
Block a user