Lines Matching refs:pin

60 static inline u32 zevio_gpio_port_get(struct zevio_gpio *c, unsigned pin,
63 unsigned section_offset = ((pin >> 3) & 3)*ZEVIO_GPIO_SECTION_SIZE;
67 static inline void zevio_gpio_port_set(struct zevio_gpio *c, unsigned pin,
70 unsigned section_offset = ((pin >> 3) & 3)*ZEVIO_GPIO_SECTION_SIZE;
75 static int zevio_gpio_get(struct gpio_chip *chip, unsigned pin)
81 dir = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION);
82 if (dir & BIT(ZEVIO_GPIO_BIT(pin)))
83 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_INPUT);
85 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT);
88 return (val >> ZEVIO_GPIO_BIT(pin)) & 0x1;
91 static void zevio_gpio_set(struct gpio_chip *chip, unsigned pin, int value)
97 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT);
99 val |= BIT(ZEVIO_GPIO_BIT(pin));
101 val &= ~BIT(ZEVIO_GPIO_BIT(pin));
103 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val);
107 static int zevio_gpio_direction_input(struct gpio_chip *chip, unsigned pin)
114 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION);
115 val |= BIT(ZEVIO_GPIO_BIT(pin));
116 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val);
124 unsigned pin, int value)
130 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT);
132 val |= BIT(ZEVIO_GPIO_BIT(pin));
134 val &= ~BIT(ZEVIO_GPIO_BIT(pin));
136 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val);
137 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION);
138 val &= ~BIT(ZEVIO_GPIO_BIT(pin));
139 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val);
146 static int zevio_gpio_to_irq(struct gpio_chip *chip, unsigned pin)