70 lines
1.3 KiB
C
70 lines
1.3 KiB
C
#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_ */
|