diff options
author | Luotao Fu <l.fu@pengutronix.de> | 2009-06-25 16:20:26 +0200 |
---|---|---|
committer | Luotao Fu <l.fu@pengutronix.de> | 2009-06-25 16:20:26 +0200 |
commit | d5ec92129e1c67ac86e92c22d54bb090fb00d616 (patch) | |
tree | f28fb3b8ce9f3c4930e6335cedcca9418c253ea7 /arch/arm | |
parent | 7733de908ba918ca47f13157335a100d74ba7cf1 (diff) | |
download | barebox-d5ec92129e1c67ac86e92c22d54bb090fb00d616.tar.gz barebox-d5ec92129e1c67ac86e92c22d54bb090fb00d616.tar.xz |
mx2: add gpio direction/value setting calls
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-imx/gpio.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/gpio.c b/arch/arm/mach-imx/gpio.c index 08d1eb5740..8d767208dd 100644 --- a/arch/arm/mach-imx/gpio.c +++ b/arch/arm/mach-imx/gpio.c @@ -86,3 +86,26 @@ void imx_gpio_mode(int gpio_mode) } +void imx_gpio_set_value(unsigned gpio, int value) +{ + if(value) + DR(gpio >> GPIO_PORT_SHIFT) |= (1 << (gpio & GPIO_PIN_MASK)); + else + DR(gpio >> GPIO_PORT_SHIFT) &= ~(1 << (gpio & GPIO_PIN_MASK)); +} + +int imx_gpio_direction_input(unsigned gpio) +{ + imx_gpio_mode(gpio | GPIO_IN | GPIO_GIUS | GPIO_DR); + return 0; +} + + +int imx_gpio_direction_output(unsigned gpio, int value) +{ + imx_gpio_set_value(gpio, value); + imx_gpio_mode(gpio | GPIO_OUT | GPIO_GIUS | GPIO_DR); + return 0; +} + + |