Skip to content
Snippets Groups Projects
Commit 5dafa454 authored by Benoît Thébaudeau's avatar Benoît Thébaudeau Committed by Albert ARIBAUD
Browse files

mxc: Make gpio_get_value() use PSR


gpio_get_value() should use PSR like Linux, not DR, because DR does not always
reflect the pin state, while PSR does. This is especially useful to detect a
short circuit on a GPIO pin configured as output, or to read the level of a pin
controlled by a non-GPIO IOMUX function.

Signed-off-by: default avatarBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: default avatarStefano Babic <sbabic@denx.de>
parent 5c8d14df
No related branches found
No related tags found
No related merge requests found
...@@ -116,7 +116,7 @@ int gpio_get_value(unsigned gpio) ...@@ -116,7 +116,7 @@ int gpio_get_value(unsigned gpio)
regs = (struct gpio_regs *)gpio_ports[port]; regs = (struct gpio_regs *)gpio_ports[port];
val = (readl(&regs->gpio_dr) >> gpio) & 0x01; val = (readl(&regs->gpio_psr) >> gpio) & 0x01;
return val; return val;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment