s5pc1xx: support the GPIO interface

This patch adds support the GPIO interface

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
Minkyu Kang
2010-02-12 18:17:52 +09:00
committed by trix
parent 803472beb7
commit 2c1ad699e5
3 changed files with 173 additions and 0 deletions

View File

@@ -124,6 +124,35 @@ struct s5pc110_gpio {
struct s5pc1xx_gpio_bank gpio_h2;
struct s5pc1xx_gpio_bank gpio_h3;
};
/* functions */
void gpio_cfg_pin(struct s5pc1xx_gpio_bank *bank, int gpio, int cfg);
void gpio_direction_output(struct s5pc1xx_gpio_bank *bank, int gpio, int en);
void gpio_direction_input(struct s5pc1xx_gpio_bank *bank, int gpio);
void gpio_set_value(struct s5pc1xx_gpio_bank *bank, int gpio, int en);
unsigned int gpio_get_value(struct s5pc1xx_gpio_bank *bank, int gpio);
void gpio_set_pull(struct s5pc1xx_gpio_bank *bank, int gpio, int mode);
void gpio_set_drv(struct s5pc1xx_gpio_bank *bank, int gpio, int mode);
void gpio_set_rate(struct s5pc1xx_gpio_bank *bank, int gpio, int mode);
#endif
/* Pin configurations */
#define GPIO_INPUT 0x0
#define GPIO_OUTPUT 0x1
#define GPIO_IRQ 0xf
#define GPIO_FUNC(x) (x)
/* Pull mode */
#define GPIO_PULL_NONE 0x0
#define GPIO_PULL_DOWN 0x1
#define GPIO_PULL_UP 0x2
/* Drive Strength level */
#define GPIO_DRV_1X 0x0
#define GPIO_DRV_2X 0x1
#define GPIO_DRV_3X 0x2
#define GPIO_DRV_4X 0x3
#define GPIO_DRV_FAST 0x0
#define GPIO_DRV_SLOW 0x1
#endif