summaryrefslogtreecommitdiff
path: root/drivers/gpio/mx31_gpio.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2010-05-04 22:49:15 +0200
committerWolfgang Denk <wd@denx.de>2010-05-04 22:49:15 +0200
commit900a1fe8c8c7acda1d8903af02c2d0d993b770d8 (patch)
treeb17bb283aa7fe7b31f46fbdfd3496b7f23736840 /drivers/gpio/mx31_gpio.c
parent4185ae7a7146a77a792e5ba49845e5ca6e95b038 (diff)
parent20d98c2cea3398ad93beccd4727a371f41514086 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'drivers/gpio/mx31_gpio.c')
-rw-r--r--drivers/gpio/mx31_gpio.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpio/mx31_gpio.c b/drivers/gpio/mx31_gpio.c
index 737aafa8228..b07f0381561 100644
--- a/drivers/gpio/mx31_gpio.c
+++ b/drivers/gpio/mx31_gpio.c
@@ -71,3 +71,18 @@ void mx31_gpio_set(unsigned int gpio, unsigned int value)
l &= ~(1 << gpio);
__REG(gpio_ports[port] + GPIO_DR) = l;
}
+
+int mx31_gpio_get(unsigned int gpio)
+{
+ unsigned int port = gpio >> 5;
+ u32 l;
+
+ if (port >= ARRAY_SIZE(gpio_ports))
+ return -1;
+
+ gpio &= 0x1f;
+
+ l = (__REG(gpio_ports[port] + GPIO_DR) >> gpio) & 0x01;
+
+ return l;
+}