Lines Matching refs:pin
188 static int mvebu_gpio_request(struct gpio_chip *chip, unsigned pin) in mvebu_gpio_request() argument
190 return pinctrl_request_gpio(chip->base + pin); in mvebu_gpio_request()
193 static void mvebu_gpio_free(struct gpio_chip *chip, unsigned pin) in mvebu_gpio_free() argument
195 pinctrl_free_gpio(chip->base + pin); in mvebu_gpio_free()
198 static void mvebu_gpio_set(struct gpio_chip *chip, unsigned pin, int value) in mvebu_gpio_set() argument
208 u |= 1 << pin; in mvebu_gpio_set()
210 u &= ~(1 << pin); in mvebu_gpio_set()
215 static int mvebu_gpio_get(struct gpio_chip *chip, unsigned pin) in mvebu_gpio_get() argument
221 if (readl_relaxed(mvebu_gpioreg_io_conf(mvchip)) & (1 << pin)) { in mvebu_gpio_get()
228 return (u >> pin) & 1; in mvebu_gpio_get()
231 static void mvebu_gpio_blink(struct gpio_chip *chip, unsigned pin, int value) in mvebu_gpio_blink() argument
241 u |= 1 << pin; in mvebu_gpio_blink()
243 u &= ~(1 << pin); in mvebu_gpio_blink()
248 static int mvebu_gpio_direction_input(struct gpio_chip *chip, unsigned pin) in mvebu_gpio_direction_input() argument
258 ret = pinctrl_gpio_direction_input(chip->base + pin); in mvebu_gpio_direction_input()
264 u |= 1 << pin; in mvebu_gpio_direction_input()
271 static int mvebu_gpio_direction_output(struct gpio_chip *chip, unsigned pin, in mvebu_gpio_direction_output() argument
282 ret = pinctrl_gpio_direction_output(chip->base + pin); in mvebu_gpio_direction_output()
286 mvebu_gpio_blink(chip, pin, 0); in mvebu_gpio_direction_output()
287 mvebu_gpio_set(chip, pin, value); in mvebu_gpio_direction_output()
291 u &= ~(1 << pin); in mvebu_gpio_direction_output()
298 static int mvebu_gpio_to_irq(struct gpio_chip *chip, unsigned pin) in mvebu_gpio_to_irq() argument
302 return irq_create_mapping(mvchip->domain, pin); in mvebu_gpio_to_irq()
406 int pin; in mvebu_gpio_irq_set_type() local
409 pin = d->hwirq; in mvebu_gpio_irq_set_type()
411 u = readl_relaxed(mvebu_gpioreg_io_conf(mvchip)) & (1 << pin); in mvebu_gpio_irq_set_type()
431 u &= ~(1 << pin); in mvebu_gpio_irq_set_type()
437 u |= 1 << pin; in mvebu_gpio_irq_set_type()
450 if (v & (1 << pin)) in mvebu_gpio_irq_set_type()
451 u |= 1 << pin; /* falling */ in mvebu_gpio_irq_set_type()
453 u &= ~(1 << pin); /* rising */ in mvebu_gpio_irq_set_type()