]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-blackfin/gpio.h
Merge branch 'upstream-jeff' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
[linux-2.6-omap-h63xx.git] / include / asm-blackfin / gpio.h
index aa0d5503e232f4512ae26da27518bb93107c8ad8..33ce98ef7e0f6cc8c7cea119e3b59baa8581603c 100644 (file)
@@ -29,6 +29,7 @@
 
 /*
 *  Number     BF537/6/4    BF561    BF533/2/1
+*             BF527/5/2
 *
 *  GPIO_0       PF0         PF0        PF0
 *  GPIO_1       PF1         PF1        PF1
 
 #ifdef BF533_FAMILY
 #define MAX_BLACKFIN_GPIOS 16
+
+#define        GPIO_PF0        0
+#define        GPIO_PF1        1
+#define        GPIO_PF2        2
+#define        GPIO_PF3        3
+#define        GPIO_PF4        4
+#define        GPIO_PF5        5
+#define        GPIO_PF6        6
+#define        GPIO_PF7        7
+#define        GPIO_PF8        8
+#define        GPIO_PF9        9
+#define        GPIO_PF10       10
+#define        GPIO_PF11       11
+#define        GPIO_PF12       12
+#define        GPIO_PF13       13
+#define        GPIO_PF14       14
+#define        GPIO_PF15       15
+
 #endif
 
-#ifdef BF537_FAMILY
+#if defined(BF527_FAMILY) || defined(BF537_FAMILY)
 #define MAX_BLACKFIN_GPIOS 48
 
 #define        GPIO_PF0        0
 
 #endif
 
+#ifdef BF548_FAMILY
+#include <asm-blackfin/mach-bf548/gpio.h>
+#endif
+
 #ifdef BF561_FAMILY
 #define MAX_BLACKFIN_GPIOS 48
+
+#define        GPIO_PF0        0
+#define        GPIO_PF1        1
+#define        GPIO_PF2        2
+#define        GPIO_PF3        3
+#define        GPIO_PF4        4
+#define        GPIO_PF5        5
+#define        GPIO_PF6        6
+#define        GPIO_PF7        7
+#define        GPIO_PF8        8
+#define        GPIO_PF9        9
+#define        GPIO_PF10       10
+#define        GPIO_PF11       11
+#define        GPIO_PF12       12
+#define        GPIO_PF13       13
+#define        GPIO_PF14       14
+#define        GPIO_PF15       15
+#define        GPIO_PF16       16
+#define        GPIO_PF17       17
+#define        GPIO_PF18       18
+#define        GPIO_PF19       19
+#define        GPIO_PF20       20
+#define        GPIO_PF21       21
+#define        GPIO_PF22       22
+#define        GPIO_PF23       23
+#define        GPIO_PF24       24
+#define        GPIO_PF25       25
+#define        GPIO_PF26       26
+#define        GPIO_PF27       27
+#define        GPIO_PF28       28
+#define        GPIO_PF29       29
+#define        GPIO_PF30       30
+#define        GPIO_PF31       31
+#define        GPIO_PF32       32
+#define        GPIO_PF33       33
+#define        GPIO_PF34       34
+#define        GPIO_PF35       35
+#define        GPIO_PF36       36
+#define        GPIO_PF37       37
+#define        GPIO_PF38       38
+#define        GPIO_PF39       39
+#define        GPIO_PF40       40
+#define        GPIO_PF41       41
+#define        GPIO_PF42       42
+#define        GPIO_PF43       43
+#define        GPIO_PF44       44
+#define        GPIO_PF45       45
+#define        GPIO_PF46       46
+#define        GPIO_PF47       47
+
 #define PORT_FIO0 GPIO_0
 #define PORT_FIO1 GPIO_16
 #define PORT_FIO2 GPIO_32
 * MODIFICATION HISTORY :
 **************************************************************/
 
+#ifndef BF548_FAMILY
 void set_gpio_dir(unsigned short, unsigned short);
 void set_gpio_inen(unsigned short, unsigned short);
 void set_gpio_polar(unsigned short, unsigned short);
@@ -299,6 +373,7 @@ struct gpio_port_t {
        unsigned short dummy16;
        unsigned short inen;
 };
+#endif
 
 #ifdef CONFIG_PM
 #define PM_WAKE_RISING 0x1
@@ -332,6 +407,7 @@ struct gpio_port_s {
        unsigned short inen;
 
        unsigned short fer;
+       unsigned short reserved;
 };
 #endif /*CONFIG_PM*/
 
@@ -356,12 +432,27 @@ void gpio_free(unsigned short);
 void gpio_set_value(unsigned short gpio, unsigned short arg);
 unsigned short gpio_get_value(unsigned short gpio);
 
+#ifndef BF548_FAMILY
 #define gpio_get_value(gpio)           get_gpio_data(gpio)
 #define gpio_set_value(gpio, value)    set_gpio_data(gpio, value)
+#endif
 
 void gpio_direction_input(unsigned short gpio);
 void gpio_direction_output(unsigned short gpio);
 
+#include <asm-generic/gpio.h>          /* cansleep wrappers */
+#include <asm/irq.h>
+
+static inline int gpio_to_irq(unsigned gpio)
+{
+       return (gpio + GPIO_IRQ_BASE);
+}
+
+static inline int irq_to_gpio(unsigned irq)
+{
+       return (irq - GPIO_IRQ_BASE);
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __ARCH_BLACKFIN_GPIO_H__ */