Lines Matching full:gpiochip

387 	struct airoha_pinctrl_gpiochip gpiochip;  member
2276 regmap_update_bits(pinctrl->regmap, pinctrl->gpiochip.data[index], in airoha_gpio_set()
2288 pinctrl->gpiochip.data[index], &val); in airoha_gpio_get()
2313 struct airoha_pinctrl_gpiochip *gpiochip; in airoha_irq_unmask() local
2317 gpiochip = irq_data_get_irq_chip_data(data); in airoha_irq_unmask()
2318 if (WARN_ON_ONCE(data->hwirq >= ARRAY_SIZE(gpiochip->irq_type))) in airoha_irq_unmask()
2321 pinctrl = container_of(gpiochip, struct airoha_pinctrl, gpiochip); in airoha_irq_unmask()
2322 switch (gpiochip->irq_type[data->hwirq]) { in airoha_irq_unmask()
2327 regmap_update_bits(pinctrl->regmap, gpiochip->level[index], in airoha_irq_unmask()
2334 regmap_update_bits(pinctrl->regmap, gpiochip->edge[index], in airoha_irq_unmask()
2338 regmap_set_bits(pinctrl->regmap, gpiochip->edge[index], mask); in airoha_irq_unmask()
2350 struct airoha_pinctrl_gpiochip *gpiochip; in airoha_irq_mask() local
2353 gpiochip = irq_data_get_irq_chip_data(data); in airoha_irq_mask()
2354 pinctrl = container_of(gpiochip, struct airoha_pinctrl, gpiochip); in airoha_irq_mask()
2356 regmap_clear_bits(pinctrl->regmap, gpiochip->level[index], mask); in airoha_irq_mask()
2357 regmap_clear_bits(pinctrl->regmap, gpiochip->edge[index], mask); in airoha_irq_mask()
2362 struct airoha_pinctrl_gpiochip *gpiochip; in airoha_irq_type() local
2364 gpiochip = irq_data_get_irq_chip_data(data); in airoha_irq_type()
2365 if (data->hwirq >= ARRAY_SIZE(gpiochip->irq_type)) in airoha_irq_type()
2369 if (gpiochip->irq_type[data->hwirq]) in airoha_irq_type()
2374 gpiochip->irq_type[data->hwirq] = type & IRQ_TYPE_SENSE_MASK; in airoha_irq_type()
2386 struct gpio_irq_chip *girq = &pinctrl->gpiochip.chip.irq; in airoha_irq_handler()
2391 if (regmap_read(pinctrl->regmap, pinctrl->gpiochip.status[i], in airoha_irq_handler()
2402 pinctrl->gpiochip.status[i], BIT(irq)); in airoha_irq_handler()
2422 struct airoha_pinctrl_gpiochip *chip = &pinctrl->gpiochip; in airoha_pinctrl_add_gpiochip()
2533 err = regmap_update_bits(pinctrl->regmap, pinctrl->gpiochip.out[index], in airoha_pinmux_set_direction()
2542 pinctrl->gpiochip.dir[index], mask, in airoha_pinmux_set_direction()
2659 err = regmap_read(pinctrl->regmap, pinctrl->gpiochip.dir[index], &val); in airoha_pinconf_get_direction()
2737 airoha_gpio_set(&pinctrl->gpiochip.chip, pin, value); in airoha_pinconf_set_pin_value()