Lines Matching refs:gpio
122 unsigned gpio, bool set) in cygnus_set_bit() argument
124 unsigned int offset = CYGNUS_GPIO_REG(gpio, reg); in cygnus_set_bit()
125 unsigned int shift = CYGNUS_GPIO_SHIFT(gpio); in cygnus_set_bit()
137 unsigned gpio) in cygnus_get_bit() argument
139 unsigned int offset = CYGNUS_GPIO_REG(gpio, reg); in cygnus_get_bit()
140 unsigned int shift = CYGNUS_GPIO_SHIFT(gpio); in cygnus_get_bit()
182 unsigned gpio = d->hwirq; in cygnus_gpio_irq_ack() local
183 unsigned int offset = CYGNUS_GPIO_REG(gpio, in cygnus_gpio_irq_ack()
185 unsigned int shift = CYGNUS_GPIO_SHIFT(gpio); in cygnus_gpio_irq_ack()
201 unsigned gpio = d->hwirq; in cygnus_gpio_irq_set_mask() local
203 cygnus_set_bit(chip, CYGNUS_GPIO_INT_MSK_OFFSET, gpio, unmask); in cygnus_gpio_irq_set_mask()
232 unsigned gpio = d->hwirq; in cygnus_gpio_irq_set_type() local
266 cygnus_set_bit(chip, CYGNUS_GPIO_INT_TYPE_OFFSET, gpio, in cygnus_gpio_irq_set_type()
268 cygnus_set_bit(chip, CYGNUS_GPIO_INT_DE_OFFSET, gpio, dual_edge); in cygnus_gpio_irq_set_type()
269 cygnus_set_bit(chip, CYGNUS_GPIO_INT_EDGE_OFFSET, gpio, in cygnus_gpio_irq_set_type()
275 gpio, level_triggered, dual_edge, rising_or_high); in cygnus_gpio_irq_set_type()
294 unsigned gpio = gc->base + offset; in cygnus_gpio_request() local
300 return pinctrl_request_gpio(gpio); in cygnus_gpio_request()
306 unsigned gpio = gc->base + offset; in cygnus_gpio_free() local
311 pinctrl_free_gpio(gpio); in cygnus_gpio_free()
314 static int cygnus_gpio_direction_input(struct gpio_chip *gc, unsigned gpio) in cygnus_gpio_direction_input() argument
320 cygnus_set_bit(chip, CYGNUS_GPIO_OUT_EN_OFFSET, gpio, false); in cygnus_gpio_direction_input()
323 dev_dbg(chip->dev, "gpio:%u set input\n", gpio); in cygnus_gpio_direction_input()
328 static int cygnus_gpio_direction_output(struct gpio_chip *gc, unsigned gpio, in cygnus_gpio_direction_output() argument
335 cygnus_set_bit(chip, CYGNUS_GPIO_OUT_EN_OFFSET, gpio, true); in cygnus_gpio_direction_output()
336 cygnus_set_bit(chip, CYGNUS_GPIO_DATA_OUT_OFFSET, gpio, !!(val)); in cygnus_gpio_direction_output()
339 dev_dbg(chip->dev, "gpio:%u set output, value:%d\n", gpio, val); in cygnus_gpio_direction_output()
344 static void cygnus_gpio_set(struct gpio_chip *gc, unsigned gpio, int val) in cygnus_gpio_set() argument
350 cygnus_set_bit(chip, CYGNUS_GPIO_DATA_OUT_OFFSET, gpio, !!(val)); in cygnus_gpio_set()
353 dev_dbg(chip->dev, "gpio:%u set, value:%d\n", gpio, val); in cygnus_gpio_set()
356 static int cygnus_gpio_get(struct gpio_chip *gc, unsigned gpio) in cygnus_gpio_get() argument
359 unsigned int offset = CYGNUS_GPIO_REG(gpio, in cygnus_gpio_get()
361 unsigned int shift = CYGNUS_GPIO_SHIFT(gpio); in cygnus_gpio_get()
388 static int cygnus_gpio_set_pull(struct cygnus_gpio *chip, unsigned gpio, in cygnus_gpio_set_pull() argument
396 cygnus_set_bit(chip, CYGNUS_GPIO_RES_EN_OFFSET, gpio, false); in cygnus_gpio_set_pull()
398 cygnus_set_bit(chip, CYGNUS_GPIO_PAD_RES_OFFSET, gpio, in cygnus_gpio_set_pull()
400 cygnus_set_bit(chip, CYGNUS_GPIO_RES_EN_OFFSET, gpio, true); in cygnus_gpio_set_pull()
405 dev_dbg(chip->dev, "gpio:%u set pullup:%d\n", gpio, pull_up); in cygnus_gpio_set_pull()
410 static void cygnus_gpio_get_pull(struct cygnus_gpio *chip, unsigned gpio, in cygnus_gpio_get_pull() argument
416 *disable = !cygnus_get_bit(chip, CYGNUS_GPIO_RES_EN_OFFSET, gpio); in cygnus_gpio_get_pull()
417 *pull_up = cygnus_get_bit(chip, CYGNUS_GPIO_PAD_RES_OFFSET, gpio); in cygnus_gpio_get_pull()
421 static int cygnus_gpio_set_strength(struct cygnus_gpio *chip, unsigned gpio, in cygnus_gpio_set_strength() argument
438 offset = CYGNUS_GPIO_REG(gpio, in cygnus_gpio_set_strength()
442 shift = CYGNUS_GPIO_SHIFT(gpio); in cygnus_gpio_set_strength()
444 dev_dbg(chip->dev, "gpio:%u set drive strength:%d mA\n", gpio, in cygnus_gpio_set_strength()
461 static int cygnus_gpio_get_strength(struct cygnus_gpio *chip, unsigned gpio, in cygnus_gpio_get_strength() argument
474 offset = CYGNUS_GPIO_REG(gpio, in cygnus_gpio_get_strength()
478 shift = CYGNUS_GPIO_SHIFT(gpio); in cygnus_gpio_get_strength()
501 unsigned gpio = cygnus_pin_to_gpio(pin); in cygnus_pin_config_get() local
508 cygnus_gpio_get_pull(chip, gpio, &disable, &pull_up); in cygnus_pin_config_get()
515 cygnus_gpio_get_pull(chip, gpio, &disable, &pull_up); in cygnus_pin_config_get()
522 cygnus_gpio_get_pull(chip, gpio, &disable, &pull_up); in cygnus_pin_config_get()
529 ret = cygnus_gpio_get_strength(chip, gpio, &arg); in cygnus_pin_config_get()
550 unsigned i, gpio = cygnus_pin_to_gpio(pin); in cygnus_pin_config_set() local
559 ret = cygnus_gpio_set_pull(chip, gpio, true, false); in cygnus_pin_config_set()
565 ret = cygnus_gpio_set_pull(chip, gpio, false, true); in cygnus_pin_config_set()
571 ret = cygnus_gpio_set_pull(chip, gpio, false, false); in cygnus_pin_config_set()
577 ret = cygnus_gpio_set_strength(chip, gpio, arg); in cygnus_pin_config_set()