diff options
author | Stefano Babic <sbabic@denx.de> | 2010-04-13 12:07:00 +0200 |
---|---|---|
committer | trix <trix@windriver.com> | 2010-04-30 05:23:25 -0500 |
commit | 7d27cd08b4c1adfd58c54aaa8b8c8f4eeb3c7021 (patch) | |
tree | b0ae3f3b50855a1ba00a578ca658bced4aff7d60 /drivers | |
parent | dfe83352cb58c55dfdbd5b535cb335526cb1c581 (diff) | |
download | u-boot-imx-7d27cd08b4c1adfd58c54aaa8b8c8f4eeb3c7021.zip u-boot-imx-7d27cd08b4c1adfd58c54aaa8b8c8f4eeb3c7021.tar.gz u-boot-imx-7d27cd08b4c1adfd58c54aaa8b8c8f4eeb3c7021.tar.bz2 |
MX31: add accessor function to get a gpio
The patch adds an accessor function to get the value of a gpio.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpio/mx31_gpio.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpio/mx31_gpio.c b/drivers/gpio/mx31_gpio.c index 737aafa..b07f038 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; +} |