• Home
  • Raw
  • Download

Lines Matching refs:gpio

21 #define CON_SFR(gpio, cfg)		((cfg) << ((gpio) << 2))  argument
22 #define CON_SFR_UNSHIFT(val, gpio) ((val) >> ((gpio) << 2)) argument
24 #define DAT_MASK(gpio) (0x1 << (gpio)) argument
25 #define DAT_SET(gpio) (0x1 << (gpio)) argument
27 #define PULL_MASK(gpio) (0x3 << ((gpio) << 1)) argument
28 #define PULL_MODE(gpio, pull) ((pull) << ((gpio) << 1)) argument
30 #define DRV_MASK(gpio) (0x3 << ((gpio) << 1)) argument
31 #define DRV_SET(gpio, mode) ((mode) << ((gpio) << 1)) argument
32 #define RATE_MASK(gpio) (0x1 << (gpio + 16)) argument
33 #define RATE_SET(gpio) (0x1 << (gpio + 16)) argument
46 static struct s5p_gpio_bank *s5p_gpio_get_bank(unsigned int gpio) in s5p_gpio_get_bank() argument
58 if (gpio < data->max_gpio) { in s5p_gpio_get_bank()
61 bank += (gpio - upto) / GPIO_PER_BANK; in s5p_gpio_get_bank()
62 debug("gpio=%d, bank=%p\n", gpio, bank); in s5p_gpio_get_bank()
73 static void s5p_gpio_cfg_pin(struct s5p_gpio_bank *bank, int gpio, int cfg) in s5p_gpio_cfg_pin() argument
78 value &= ~CON_MASK(gpio); in s5p_gpio_cfg_pin()
79 value |= CON_SFR(gpio, cfg); in s5p_gpio_cfg_pin()
83 static void s5p_gpio_set_value(struct s5p_gpio_bank *bank, int gpio, int en) in s5p_gpio_set_value() argument
88 value &= ~DAT_MASK(gpio); in s5p_gpio_set_value()
90 value |= DAT_SET(gpio); in s5p_gpio_set_value()
96 int gpio_set_value(unsigned gpio, int value) in gpio_set_value() argument
98 s5p_gpio_set_value(s5p_gpio_get_bank(gpio), in gpio_set_value()
99 s5p_gpio_get_pin(gpio), value); in gpio_set_value()
104 static int s5p_gpio_get_cfg_pin(struct s5p_gpio_bank *bank, int gpio) in s5p_gpio_get_cfg_pin() argument
109 value &= CON_MASK(gpio); in s5p_gpio_get_cfg_pin()
110 return CON_SFR_UNSHIFT(value, gpio); in s5p_gpio_get_cfg_pin()
113 static unsigned int s5p_gpio_get_value(struct s5p_gpio_bank *bank, int gpio) in s5p_gpio_get_value() argument
118 return !!(value & DAT_MASK(gpio)); in s5p_gpio_get_value()
122 static void s5p_gpio_set_pull(struct s5p_gpio_bank *bank, int gpio, int mode) in s5p_gpio_set_pull() argument
127 value &= ~PULL_MASK(gpio); in s5p_gpio_set_pull()
132 value |= PULL_MODE(gpio, mode); in s5p_gpio_set_pull()
141 static void s5p_gpio_set_drv(struct s5p_gpio_bank *bank, int gpio, int mode) in s5p_gpio_set_drv() argument
146 value &= ~DRV_MASK(gpio); in s5p_gpio_set_drv()
153 value |= DRV_SET(gpio, mode); in s5p_gpio_set_drv()
162 static void s5p_gpio_set_rate(struct s5p_gpio_bank *bank, int gpio, int mode) in s5p_gpio_set_rate() argument
167 value &= ~RATE_MASK(gpio); in s5p_gpio_set_rate()
172 value |= RATE_SET(gpio); in s5p_gpio_set_rate()
181 int s5p_gpio_get_pin(unsigned gpio) in s5p_gpio_get_pin() argument
183 return S5P_GPIO_GET_PIN(gpio); in s5p_gpio_get_pin()
238 void gpio_set_pull(int gpio, int mode) in gpio_set_pull() argument
240 s5p_gpio_set_pull(s5p_gpio_get_bank(gpio), in gpio_set_pull()
241 s5p_gpio_get_pin(gpio), mode); in gpio_set_pull()
244 void gpio_set_drv(int gpio, int mode) in gpio_set_drv() argument
246 s5p_gpio_set_drv(s5p_gpio_get_bank(gpio), in gpio_set_drv()
247 s5p_gpio_get_pin(gpio), mode); in gpio_set_drv()
250 void gpio_cfg_pin(int gpio, int cfg) in gpio_cfg_pin() argument
252 s5p_gpio_cfg_pin(s5p_gpio_get_bank(gpio), in gpio_cfg_pin()
253 s5p_gpio_get_pin(gpio), cfg); in gpio_cfg_pin()
256 void gpio_set_rate(int gpio, int mode) in gpio_set_rate() argument
258 s5p_gpio_set_rate(s5p_gpio_get_bank(gpio), in gpio_set_rate()
259 s5p_gpio_get_pin(gpio), mode); in gpio_set_rate()