Lines Matching refs:pin
62 static inline u32 zevio_gpio_port_get(struct zevio_gpio *c, unsigned pin,
65 unsigned section_offset = ((pin >> 3) & 3)*ZEVIO_GPIO_SECTION_SIZE;
69 static inline void zevio_gpio_port_set(struct zevio_gpio *c, unsigned pin,
72 unsigned section_offset = ((pin >> 3) & 3)*ZEVIO_GPIO_SECTION_SIZE;
77 static int zevio_gpio_get(struct gpio_chip *chip, unsigned pin)
83 dir = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION);
84 if (dir & BIT(ZEVIO_GPIO_BIT(pin)))
85 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_INPUT);
87 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT);
90 return (val >> ZEVIO_GPIO_BIT(pin)) & 0x1;
93 static void zevio_gpio_set(struct gpio_chip *chip, unsigned pin, int value)
99 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT);
101 val |= BIT(ZEVIO_GPIO_BIT(pin));
103 val &= ~BIT(ZEVIO_GPIO_BIT(pin));
105 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val);
109 static int zevio_gpio_direction_input(struct gpio_chip *chip, unsigned pin)
116 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION);
117 val |= BIT(ZEVIO_GPIO_BIT(pin));
118 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val);
126 unsigned pin, int value)
132 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT);
134 val |= BIT(ZEVIO_GPIO_BIT(pin));
136 val &= ~BIT(ZEVIO_GPIO_BIT(pin));
138 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val);
139 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION);
140 val &= ~BIT(ZEVIO_GPIO_BIT(pin));
141 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val);
148 static int zevio_gpio_to_irq(struct gpio_chip *chip, unsigned pin)