| #ifndef _AU1XXX_GPIO_H_ |
| #define _AU1XXX_GPIO_H_ |
| |
| #include <linux/types.h> |
| |
| #define AU1XXX_GPIO_BASE 200 |
| |
| struct au1x00_gpio2 { |
| u32 dir; |
| u32 reserved; |
| u32 output; |
| u32 pinstate; |
| u32 inten; |
| u32 enable; |
| }; |
| |
| extern int au1xxx_gpio_get_value(unsigned gpio); |
| extern void au1xxx_gpio_set_value(unsigned gpio, int value); |
| extern int au1xxx_gpio_direction_input(unsigned gpio); |
| extern int au1xxx_gpio_direction_output(unsigned gpio, int value); |
| |
| |
| /* Wrappers for the arch-neutral GPIO API */ |
| |
| static inline int gpio_request(unsigned gpio, const char *label) |
| { |
| /* Not yet implemented */ |
| return 0; |
| } |
| |
| static inline void gpio_free(unsigned gpio) |
| { |
| /* Not yet implemented */ |
| } |
| |
| static inline int gpio_direction_input(unsigned gpio) |
| { |
| return au1xxx_gpio_direction_input(gpio); |
| } |
| |
| static inline int gpio_direction_output(unsigned gpio, int value) |
| { |
| return au1xxx_gpio_direction_output(gpio, value); |
| } |
| |
| static inline int gpio_get_value(unsigned gpio) |
| { |
| return au1xxx_gpio_get_value(gpio); |
| } |
| |
| static inline void gpio_set_value(unsigned gpio, int value) |
| { |
| au1xxx_gpio_set_value(gpio, value); |
| } |
| |
| static inline int gpio_to_irq(unsigned gpio) |
| { |
| return gpio; |
| } |
| |
| static inline int irq_to_gpio(unsigned irq) |
| { |
| return irq; |
| } |
| |
| /* For cansleep */ |
| #include <asm-generic/gpio.h> |
| |
| #endif /* _AU1XXX_GPIO_H_ */ |