Lines Matching refs:offset
25 * We need this get the gpio_desc from a <gpio_chip,offset> tuple to decide if
30 #define DA9062_TYPE(offset) (4 * (offset % 2))
31 #define DA9062_PIN_SHIFT(offset) (4 * (offset % 2))
45 unsigned int offset)
50 ret = regmap_read(regmap, DA9062AA_GPIO_0_1 + (offset >> 1), &val);
54 val >>= DA9062_PIN_SHIFT(offset);
61 unsigned int offset, unsigned int mode_req)
69 mode <<= DA9062_PIN_SHIFT(offset);
70 mask = DA9062AA_GPIO0_PIN_MASK << DA9062_PIN_SHIFT(offset);
72 ret = regmap_update_bits(regmap, DA9062AA_GPIO_0_1 + (offset >> 1),
75 pctl->pin_config[offset] = mode_req;
80 static int da9062_gpio_get(struct gpio_chip *gc, unsigned int offset)
87 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset);
106 return !!(val & BIT(offset));
109 static void da9062_gpio_set(struct gpio_chip *gc, unsigned int offset,
115 regmap_update_bits(regmap, DA9062AA_GPIO_MODE0_4, BIT(offset),
116 value << offset);
119 static int da9062_gpio_get_direction(struct gpio_chip *gc, unsigned int offset)
124 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset);
142 unsigned int offset)
146 struct gpio_desc *desc = gpiochip_get_desc(gc, offset);
150 ret = da9062_pctl_set_pin_mode(pctl, offset, DA9062_PIN_GPI);
163 return regmap_update_bits(regmap, DA9062AA_GPIO_0_1 + (offset >> 1),
164 DA9062AA_GPIO0_TYPE_MASK << DA9062_TYPE(offset),
165 gpi_type << DA9062_TYPE(offset));
169 unsigned int offset, int value)
172 unsigned int pin_config = pctl->pin_config[offset];
175 ret = da9062_pctl_set_pin_mode(pctl, offset, pin_config);
179 da9062_gpio_set(gc, offset, value);
184 static int da9062_gpio_set_config(struct gpio_chip *gc, unsigned int offset,
202 BIT(offset), 0);
204 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset);
210 BIT(offset), BIT(offset));
212 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset);
218 BIT(offset), BIT(offset));
220 return da9062_pctl_set_pin_mode(pctl, offset,
223 return da9062_pctl_set_pin_mode(pctl, offset,
230 static int da9062_gpio_to_irq(struct gpio_chip *gc, unsigned int offset)
236 DA9062_IRQ_GPI0 + offset);