Lines Matching refs:gpio

22 #define CON_SFR(gpio, cfg)		((cfg) << ((gpio) << 2))  argument
23 #define CON_SFR_UNSHIFT(val, gpio) ((val) >> ((gpio) << 2)) argument
25 #define DAT_MASK(gpio) (0x1 << (gpio)) argument
26 #define DAT_SET(gpio) (0x1 << (gpio)) argument
28 #define PULL_MASK(gpio) (0x3 << ((gpio) << 1)) argument
29 #define PULL_MODE(gpio, pull) ((pull) << ((gpio) << 1)) argument
31 #define DRV_MASK(gpio) (0x3 << ((gpio) << 1)) argument
32 #define DRV_SET(gpio, mode) ((mode) << ((gpio) << 1)) argument
33 #define RATE_MASK(gpio) (0x1 << (gpio + 16)) argument
34 #define RATE_SET(gpio) (0x1 << (gpio + 16)) argument
47 static struct s5p_gpio_bank *s5p_gpio_get_bank(unsigned int gpio) in s5p_gpio_get_bank() argument
59 if (gpio < data->max_gpio) { in s5p_gpio_get_bank()
62 bank += (gpio - upto) / GPIO_PER_BANK; in s5p_gpio_get_bank()
63 debug("gpio=%d, bank=%p\n", gpio, bank); in s5p_gpio_get_bank()
74 static void s5p_gpio_cfg_pin(struct s5p_gpio_bank *bank, int gpio, int cfg) in s5p_gpio_cfg_pin() argument
79 value &= ~CON_MASK(gpio); in s5p_gpio_cfg_pin()
80 value |= CON_SFR(gpio, cfg); in s5p_gpio_cfg_pin()
84 static void s5p_gpio_set_value(struct s5p_gpio_bank *bank, int gpio, int en) in s5p_gpio_set_value() argument
89 value &= ~DAT_MASK(gpio); in s5p_gpio_set_value()
91 value |= DAT_SET(gpio); in s5p_gpio_set_value()
97 int gpio_set_value(unsigned gpio, int value) in gpio_set_value() argument
99 s5p_gpio_set_value(s5p_gpio_get_bank(gpio), in gpio_set_value()
100 s5p_gpio_get_pin(gpio), value); in gpio_set_value()
105 static int s5p_gpio_get_cfg_pin(struct s5p_gpio_bank *bank, int gpio) in s5p_gpio_get_cfg_pin() argument
110 value &= CON_MASK(gpio); in s5p_gpio_get_cfg_pin()
111 return CON_SFR_UNSHIFT(value, gpio); in s5p_gpio_get_cfg_pin()
114 static unsigned int s5p_gpio_get_value(struct s5p_gpio_bank *bank, int gpio) in s5p_gpio_get_value() argument
119 return !!(value & DAT_MASK(gpio)); in s5p_gpio_get_value()
123 static void s5p_gpio_set_pull(struct s5p_gpio_bank *bank, int gpio, int mode) in s5p_gpio_set_pull() argument
128 value &= ~PULL_MASK(gpio); in s5p_gpio_set_pull()
133 value |= PULL_MODE(gpio, mode); in s5p_gpio_set_pull()
142 static void s5p_gpio_set_drv(struct s5p_gpio_bank *bank, int gpio, int mode) in s5p_gpio_set_drv() argument
147 value &= ~DRV_MASK(gpio); in s5p_gpio_set_drv()
154 value |= DRV_SET(gpio, mode); in s5p_gpio_set_drv()
163 static void s5p_gpio_set_rate(struct s5p_gpio_bank *bank, int gpio, int mode) in s5p_gpio_set_rate() argument
168 value &= ~RATE_MASK(gpio); in s5p_gpio_set_rate()
173 value |= RATE_SET(gpio); in s5p_gpio_set_rate()
182 int s5p_gpio_get_pin(unsigned gpio) in s5p_gpio_get_pin() argument
184 return S5P_GPIO_GET_PIN(gpio); in s5p_gpio_get_pin()
239 void gpio_set_pull(int gpio, int mode) in gpio_set_pull() argument
241 s5p_gpio_set_pull(s5p_gpio_get_bank(gpio), in gpio_set_pull()
242 s5p_gpio_get_pin(gpio), mode); in gpio_set_pull()
245 void gpio_set_drv(int gpio, int mode) in gpio_set_drv() argument
247 s5p_gpio_set_drv(s5p_gpio_get_bank(gpio), in gpio_set_drv()
248 s5p_gpio_get_pin(gpio), mode); in gpio_set_drv()
251 void gpio_cfg_pin(int gpio, int cfg) in gpio_cfg_pin() argument
253 s5p_gpio_cfg_pin(s5p_gpio_get_bank(gpio), in gpio_cfg_pin()
254 s5p_gpio_get_pin(gpio), cfg); in gpio_cfg_pin()
257 void gpio_set_rate(int gpio, int mode) in gpio_set_rate() argument
259 s5p_gpio_set_rate(s5p_gpio_get_bank(gpio), in gpio_set_rate()
260 s5p_gpio_get_pin(gpio), mode); in gpio_set_rate()