Lines Matching refs:gc
227 static inline struct rockchip_pin_bank *gc_to_pin_bank(struct gpio_chip *gc) in gc_to_pin_bank() argument
229 return container_of(gc, struct rockchip_pin_bank, gpio_chip); in gc_to_pin_bank()
973 chip = range->gc; in rockchip_pmx_gpio_set_direction()
1012 static void rockchip_gpio_set(struct gpio_chip *gc, unsigned offset, int value);
1013 static int rockchip_gpio_get(struct gpio_chip *gc, unsigned offset);
1366 pin_bank->grange.gc = &pin_bank->gpio_chip; in rockchip_pinctrl_register()
1377 static void rockchip_gpio_set(struct gpio_chip *gc, unsigned offset, int value) in rockchip_gpio_set() argument
1379 struct rockchip_pin_bank *bank = gc_to_pin_bank(gc); in rockchip_gpio_set()
1401 static int rockchip_gpio_get(struct gpio_chip *gc, unsigned offset) in rockchip_gpio_get() argument
1403 struct rockchip_pin_bank *bank = gc_to_pin_bank(gc); in rockchip_gpio_get()
1419 static int rockchip_gpio_direction_input(struct gpio_chip *gc, unsigned offset) in rockchip_gpio_direction_input() argument
1421 return pinctrl_gpio_direction_input(gc->base + offset); in rockchip_gpio_direction_input()
1429 static int rockchip_gpio_direction_output(struct gpio_chip *gc, in rockchip_gpio_direction_output() argument
1432 rockchip_gpio_set(gc, offset, value); in rockchip_gpio_direction_output()
1433 return pinctrl_gpio_direction_output(gc->base + offset); in rockchip_gpio_direction_output()
1440 static int rockchip_gpio_to_irq(struct gpio_chip *gc, unsigned offset) in rockchip_gpio_to_irq() argument
1442 struct rockchip_pin_bank *bank = gc_to_pin_bank(gc); in rockchip_gpio_to_irq()
1531 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); in rockchip_irq_set_type() local
1532 struct rockchip_pin_bank *bank = gc->private; in rockchip_irq_set_type()
1560 irq_gc_lock(gc); in rockchip_irq_set_type()
1562 level = readl_relaxed(gc->reg_base + GPIO_INTTYPE_LEVEL); in rockchip_irq_set_type()
1563 polarity = readl_relaxed(gc->reg_base + GPIO_INT_POLARITY); in rockchip_irq_set_type()
1601 irq_gc_unlock(gc); in rockchip_irq_set_type()
1607 writel_relaxed(level, gc->reg_base + GPIO_INTTYPE_LEVEL); in rockchip_irq_set_type()
1608 writel_relaxed(polarity, gc->reg_base + GPIO_INT_POLARITY); in rockchip_irq_set_type()
1610 irq_gc_unlock(gc); in rockchip_irq_set_type()
1619 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); in rockchip_irq_suspend() local
1620 struct rockchip_pin_bank *bank = gc->private; in rockchip_irq_suspend()
1623 bank->saved_masks = irq_reg_readl(gc, GPIO_INTMASK); in rockchip_irq_suspend()
1624 irq_reg_writel(gc, ~gc->wake_active, GPIO_INTMASK); in rockchip_irq_suspend()
1630 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); in rockchip_irq_resume() local
1631 struct rockchip_pin_bank *bank = gc->private; in rockchip_irq_resume()
1634 irq_reg_writel(gc, bank->saved_masks, GPIO_INTMASK); in rockchip_irq_resume()
1640 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); in rockchip_irq_gc_mask_clr_bit() local
1641 struct rockchip_pin_bank *bank = gc->private; in rockchip_irq_gc_mask_clr_bit()
1649 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); in rockchip_irq_gc_mask_set_bit() local
1650 struct rockchip_pin_bank *bank = gc->private; in rockchip_irq_gc_mask_set_bit()
1662 struct irq_chip_generic *gc; in rockchip_interrupts_register() local
1708 gc = irq_get_domain_generic_chip(bank->domain, 0); in rockchip_interrupts_register()
1709 gc->reg_base = bank->reg_base; in rockchip_interrupts_register()
1710 gc->private = bank; in rockchip_interrupts_register()
1711 gc->chip_types[0].regs.mask = GPIO_INTMASK; in rockchip_interrupts_register()
1712 gc->chip_types[0].regs.ack = GPIO_PORTS_EOI; in rockchip_interrupts_register()
1713 gc->chip_types[0].chip.irq_ack = irq_gc_ack_set_bit; in rockchip_interrupts_register()
1714 gc->chip_types[0].chip.irq_mask = rockchip_irq_gc_mask_set_bit; in rockchip_interrupts_register()
1715 gc->chip_types[0].chip.irq_unmask = in rockchip_interrupts_register()
1717 gc->chip_types[0].chip.irq_set_wake = irq_gc_set_wake; in rockchip_interrupts_register()
1718 gc->chip_types[0].chip.irq_suspend = rockchip_irq_suspend; in rockchip_interrupts_register()
1719 gc->chip_types[0].chip.irq_resume = rockchip_irq_resume; in rockchip_interrupts_register()
1720 gc->chip_types[0].chip.irq_set_type = rockchip_irq_set_type; in rockchip_interrupts_register()
1721 gc->wake_enabled = IRQ_MSK(bank->nr_pins); in rockchip_interrupts_register()
1741 struct gpio_chip *gc; in rockchip_gpiolib_register() local
1754 gc = &bank->gpio_chip; in rockchip_gpiolib_register()
1755 gc->base = bank->pin_base; in rockchip_gpiolib_register()
1756 gc->ngpio = bank->nr_pins; in rockchip_gpiolib_register()
1757 gc->dev = &pdev->dev; in rockchip_gpiolib_register()
1758 gc->of_node = bank->of_node; in rockchip_gpiolib_register()
1759 gc->label = bank->name; in rockchip_gpiolib_register()
1761 ret = gpiochip_add(gc); in rockchip_gpiolib_register()
1764 gc->label, ret); in rockchip_gpiolib_register()