diff options
| author | Benoît Thébaudeau <benoit.thebaudeau@advansee.com> | 2012-08-20 10:55:41 +0000 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-09-01 14:58:28 +0200 | 
| commit | 5dafa4543c399d329c7b01df1afa98437861cac0 (patch) | |
| tree | 2c33860a28c4d7c492e1f15e0aa8dd9a13d3e482 /drivers/gpio | |
| parent | 5c8d14dfd978eb787307298110a32329e989e6ab (diff) | |
| download | olio-uboot-2014.01-5dafa4543c399d329c7b01df1afa98437861cac0.tar.xz olio-uboot-2014.01-5dafa4543c399d329c7b01df1afa98437861cac0.zip | |
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: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'drivers/gpio')
| -rw-r--r-- | drivers/gpio/mxc_gpio.c | 2 | 
1 files changed, 1 insertions, 1 deletions
| diff --git a/drivers/gpio/mxc_gpio.c b/drivers/gpio/mxc_gpio.c index 661553552..e9bf27841 100644 --- a/drivers/gpio/mxc_gpio.c +++ b/drivers/gpio/mxc_gpio.c @@ -116,7 +116,7 @@ int gpio_get_value(unsigned gpio)  	regs = (struct gpio_regs *)gpio_ports[port]; -	val = (readl(®s->gpio_dr) >> gpio) & 0x01; +	val = (readl(®s->gpio_psr) >> gpio) & 0x01;  	return val;  } |