Commit 91a5dcd8 authored by Nicolas Pitre's avatar Nicolas Pitre Committed by Russell King

[ARM PATCH] 2187/1: fix lacking capability in pxa_gpio_mode()

Patch from Nicolas Pitre

This allows to set the default state of GPIOs before they're enabled 
as output, eliminating spurious level transitions.

Signed-off-by: Nicolas Pitre 
parent 25a00cfe
...@@ -49,6 +49,10 @@ void pxa_gpio_mode(int gpio_mode) ...@@ -49,6 +49,10 @@ void pxa_gpio_mode(int gpio_mode)
int gafr; int gafr;
local_irq_save(flags); local_irq_save(flags);
if (gpio_mode & GPIO_DFLT_LOW)
GPCR(gpio) = GPIO_bit(gpio);
else if (gpio_mode & GPIO_DFLT_HIGH)
GPSR(gpio) = GPIO_bit(gpio);
if (gpio_mode & GPIO_MD_MASK_DIR) if (gpio_mode & GPIO_MD_MASK_DIR)
GPDR(gpio) |= GPIO_bit(gpio); GPDR(gpio) |= GPIO_bit(gpio);
else else
......
...@@ -1307,6 +1307,8 @@ ...@@ -1307,6 +1307,8 @@
#define GPIO_MD_MASK_NR 0x07f #define GPIO_MD_MASK_NR 0x07f
#define GPIO_MD_MASK_DIR 0x080 #define GPIO_MD_MASK_DIR 0x080
#define GPIO_MD_MASK_FN 0x300 #define GPIO_MD_MASK_FN 0x300
#define GPIO_DFLT_LOW 0x400
#define GPIO_DFLT_HIGH 0x800
#define GPIO1_RTS_MD ( 1 | GPIO_ALT_FN_1_IN) #define GPIO1_RTS_MD ( 1 | GPIO_ALT_FN_1_IN)
#define GPIO6_MMCCLK_MD ( 6 | GPIO_ALT_FN_1_OUT) #define GPIO6_MMCCLK_MD ( 6 | GPIO_ALT_FN_1_OUT)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment