Lines Matching refs:offset
26 #define DA9062_TYPE(offset) (4 * (offset % 2)) argument
27 #define DA9062_PIN_SHIFT(offset) (4 * (offset % 2)) argument
41 unsigned int offset) in da9062_pctl_get_pin_mode() argument
46 ret = regmap_read(regmap, DA9062AA_GPIO_0_1 + (offset >> 1), &val); in da9062_pctl_get_pin_mode()
50 val >>= DA9062_PIN_SHIFT(offset); in da9062_pctl_get_pin_mode()
57 unsigned int offset, unsigned int mode_req) in da9062_pctl_set_pin_mode() argument
65 mode <<= DA9062_PIN_SHIFT(offset); in da9062_pctl_set_pin_mode()
66 mask = DA9062AA_GPIO0_PIN_MASK << DA9062_PIN_SHIFT(offset); in da9062_pctl_set_pin_mode()
68 ret = regmap_update_bits(regmap, DA9062AA_GPIO_0_1 + (offset >> 1), in da9062_pctl_set_pin_mode()
71 pctl->pin_config[offset] = mode_req; in da9062_pctl_set_pin_mode()
76 static int da9062_gpio_get(struct gpio_chip *gc, unsigned int offset) in da9062_gpio_get() argument
83 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset); in da9062_gpio_get()
102 return !!(val & BIT(offset)); in da9062_gpio_get()
105 static void da9062_gpio_set(struct gpio_chip *gc, unsigned int offset, in da9062_gpio_set() argument
111 regmap_update_bits(regmap, DA9062AA_GPIO_MODE0_4, BIT(offset), in da9062_gpio_set()
112 value << offset); in da9062_gpio_set()
115 static int da9062_gpio_get_direction(struct gpio_chip *gc, unsigned int offset) in da9062_gpio_get_direction() argument
120 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset); in da9062_gpio_get_direction()
138 unsigned int offset) in da9062_gpio_direction_input() argument
142 struct gpio_desc *desc = gpio_device_get_desc(gc->gpiodev, offset); in da9062_gpio_direction_input()
146 ret = da9062_pctl_set_pin_mode(pctl, offset, DA9062_PIN_GPI); in da9062_gpio_direction_input()
159 return regmap_update_bits(regmap, DA9062AA_GPIO_0_1 + (offset >> 1), in da9062_gpio_direction_input()
160 DA9062AA_GPIO0_TYPE_MASK << DA9062_TYPE(offset), in da9062_gpio_direction_input()
161 gpi_type << DA9062_TYPE(offset)); in da9062_gpio_direction_input()
165 unsigned int offset, int value) in da9062_gpio_direction_output() argument
168 unsigned int pin_config = pctl->pin_config[offset]; in da9062_gpio_direction_output()
171 ret = da9062_pctl_set_pin_mode(pctl, offset, pin_config); in da9062_gpio_direction_output()
175 da9062_gpio_set(gc, offset, value); in da9062_gpio_direction_output()
180 static int da9062_gpio_set_config(struct gpio_chip *gc, unsigned int offset, in da9062_gpio_set_config() argument
198 BIT(offset), 0); in da9062_gpio_set_config()
200 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset); in da9062_gpio_set_config()
206 BIT(offset), BIT(offset)); in da9062_gpio_set_config()
208 gpio_mode = da9062_pctl_get_pin_mode(pctl, offset); in da9062_gpio_set_config()
214 BIT(offset), BIT(offset)); in da9062_gpio_set_config()
216 return da9062_pctl_set_pin_mode(pctl, offset, in da9062_gpio_set_config()
219 return da9062_pctl_set_pin_mode(pctl, offset, in da9062_gpio_set_config()
226 static int da9062_gpio_to_irq(struct gpio_chip *gc, unsigned int offset) in da9062_gpio_to_irq() argument
232 DA9062_IRQ_GPI0 + offset); in da9062_gpio_to_irq()