diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-12-03 14:13:41 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-12-10 12:15:01 +0100 |
commit | 6bd5caf6c662b7e91bc94070e085fa96e6dd994a (patch) | |
tree | 47912110fad2158f1f3f0ec4b1ae7ce6b28f45a5 /arch/arm/mach-imx/gpio.c | |
parent | 28d2ad70a658c6264a29ee9128faef11a76eff66 (diff) | |
download | barebox-6bd5caf6c662b7e91bc94070e085fa96e6dd994a.tar.gz barebox-6bd5caf6c662b7e91bc94070e085fa96e6dd994a.tar.xz |
i.MX: split out iomux-v1 support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/gpio.c')
-rw-r--r-- | arch/arm/mach-imx/gpio.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/arch/arm/mach-imx/gpio.c b/arch/arm/mach-imx/gpio.c index 2e1362c965..eb095ec93c 100644 --- a/arch/arm/mach-imx/gpio.c +++ b/arch/arm/mach-imx/gpio.c @@ -26,66 +26,6 @@ #include <common.h> #include <mach/imx-regs.h> -void imx_gpio_mode(int gpio_mode) -{ - unsigned int pin = gpio_mode & GPIO_PIN_MASK; - unsigned int port = (gpio_mode & GPIO_PORT_MASK) >> GPIO_PORT_SHIFT; - unsigned int ocr = (gpio_mode & GPIO_OCR_MASK) >> GPIO_OCR_SHIFT; - unsigned int aout = (gpio_mode & GPIO_AOUT_MASK) >> GPIO_AOUT_SHIFT; - unsigned int bout = (gpio_mode & GPIO_BOUT_MASK) >> GPIO_BOUT_SHIFT; - unsigned int tmp; - - /* Pullup enable */ - if(gpio_mode & GPIO_PUEN) - PUEN(port) |= (1 << pin); - else - PUEN(port) &= ~(1 << pin); - - /* Data direction */ - if(gpio_mode & GPIO_OUT) - DDIR(port) |= 1 << pin; - else - DDIR(port) &= ~(1 << pin); - - /* Primary / alternate function */ - if(gpio_mode & GPIO_AF) - GPR(port) |= (1 << pin); - else - GPR(port) &= ~(1 << pin); - - /* use as gpio? */ - if(!(gpio_mode & (GPIO_PF | GPIO_AF))) - GIUS(port) |= (1 << pin); - else - GIUS(port) &= ~(1 << pin); - - /* Output / input configuration */ - if (pin < 16) { - tmp = OCR1(port); - tmp &= ~(3 << (pin * 2)); - tmp |= (ocr << (pin * 2)); - OCR1(port) = tmp; - - ICONFA1(port) &= ~(3 << (pin * 2)); - ICONFA1(port) |= aout << (pin * 2); - ICONFB1(port) &= ~(3 << (pin * 2)); - ICONFB1(port) |= bout << (pin * 2); - } else { - pin -= 16; - - tmp = OCR2(port); - tmp &= ~(3 << (pin * 2)); - tmp |= (ocr << (pin * 2)); - OCR2(port) = tmp; - - ICONFA2(port) &= ~(3 << (pin * 2)); - ICONFA2(port) |= aout << (pin * 2); - ICONFB2(port) &= ~(3 << (pin * 2)); - ICONFB2(port) |= bout << (pin * 2); - } - -} - void gpio_set_value(unsigned gpio, int value) { if(value) |