Lines Matching refs:gc
223 static inline struct rockchip_pin_bank *gc_to_pin_bank(struct gpio_chip *gc) in gc_to_pin_bank() argument
225 return container_of(gc, struct rockchip_pin_bank, gpio_chip); in gc_to_pin_bank()
898 chip = range->gc; in rockchip_pmx_gpio_set_direction()
936 static void rockchip_gpio_set(struct gpio_chip *gc, unsigned offset, int value);
937 static int rockchip_gpio_get(struct gpio_chip *gc, unsigned offset);
1289 pin_bank->grange.gc = &pin_bank->gpio_chip; in rockchip_pinctrl_register()
1310 static void rockchip_gpio_set(struct gpio_chip *gc, unsigned offset, int value) in rockchip_gpio_set() argument
1312 struct rockchip_pin_bank *bank = gc_to_pin_bank(gc); in rockchip_gpio_set()
1332 static int rockchip_gpio_get(struct gpio_chip *gc, unsigned offset) in rockchip_gpio_get() argument
1334 struct rockchip_pin_bank *bank = gc_to_pin_bank(gc); in rockchip_gpio_get()
1348 static int rockchip_gpio_direction_input(struct gpio_chip *gc, unsigned offset) in rockchip_gpio_direction_input() argument
1350 return pinctrl_gpio_direction_input(gc->base + offset); in rockchip_gpio_direction_input()
1358 static int rockchip_gpio_direction_output(struct gpio_chip *gc, in rockchip_gpio_direction_output() argument
1361 rockchip_gpio_set(gc, offset, value); in rockchip_gpio_direction_output()
1362 return pinctrl_gpio_direction_output(gc->base + offset); in rockchip_gpio_direction_output()
1369 static int rockchip_gpio_to_irq(struct gpio_chip *gc, unsigned offset) in rockchip_gpio_to_irq() argument
1371 struct rockchip_pin_bank *bank = gc_to_pin_bank(gc); in rockchip_gpio_to_irq()
1460 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); in rockchip_irq_set_type() local
1461 struct rockchip_pin_bank *bank = gc->private; in rockchip_irq_set_type()
1488 irq_gc_lock(gc); in rockchip_irq_set_type()
1490 level = readl_relaxed(gc->reg_base + GPIO_INTTYPE_LEVEL); in rockchip_irq_set_type()
1491 polarity = readl_relaxed(gc->reg_base + GPIO_INT_POLARITY); in rockchip_irq_set_type()
1529 irq_gc_unlock(gc); in rockchip_irq_set_type()
1534 writel_relaxed(level, gc->reg_base + GPIO_INTTYPE_LEVEL); in rockchip_irq_set_type()
1535 writel_relaxed(polarity, gc->reg_base + GPIO_INT_POLARITY); in rockchip_irq_set_type()
1537 irq_gc_unlock(gc); in rockchip_irq_set_type()
1545 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); in rockchip_irq_suspend() local
1546 struct rockchip_pin_bank *bank = gc->private; in rockchip_irq_suspend()
1548 bank->saved_masks = irq_reg_readl(gc, GPIO_INTMASK); in rockchip_irq_suspend()
1549 irq_reg_writel(gc, ~gc->wake_active, GPIO_INTMASK); in rockchip_irq_suspend()
1554 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); in rockchip_irq_resume() local
1555 struct rockchip_pin_bank *bank = gc->private; in rockchip_irq_resume()
1557 irq_reg_writel(gc, bank->saved_masks, GPIO_INTMASK); in rockchip_irq_resume()
1566 struct irq_chip_generic *gc; in rockchip_interrupts_register() local
1603 gc = irq_get_domain_generic_chip(bank->domain, 0); in rockchip_interrupts_register()
1604 gc->reg_base = bank->reg_base; in rockchip_interrupts_register()
1605 gc->private = bank; in rockchip_interrupts_register()
1606 gc->chip_types[0].regs.mask = GPIO_INTMASK; in rockchip_interrupts_register()
1607 gc->chip_types[0].regs.ack = GPIO_PORTS_EOI; in rockchip_interrupts_register()
1608 gc->chip_types[0].chip.irq_ack = irq_gc_ack_set_bit; in rockchip_interrupts_register()
1609 gc->chip_types[0].chip.irq_mask = irq_gc_mask_set_bit; in rockchip_interrupts_register()
1610 gc->chip_types[0].chip.irq_unmask = irq_gc_mask_clr_bit; in rockchip_interrupts_register()
1611 gc->chip_types[0].chip.irq_set_wake = irq_gc_set_wake; in rockchip_interrupts_register()
1612 gc->chip_types[0].chip.irq_suspend = rockchip_irq_suspend; in rockchip_interrupts_register()
1613 gc->chip_types[0].chip.irq_resume = rockchip_irq_resume; in rockchip_interrupts_register()
1614 gc->chip_types[0].chip.irq_set_type = rockchip_irq_set_type; in rockchip_interrupts_register()
1615 gc->wake_enabled = IRQ_MSK(bank->nr_pins); in rockchip_interrupts_register()
1629 struct gpio_chip *gc; in rockchip_gpiolib_register() local
1642 gc = &bank->gpio_chip; in rockchip_gpiolib_register()
1643 gc->base = bank->pin_base; in rockchip_gpiolib_register()
1644 gc->ngpio = bank->nr_pins; in rockchip_gpiolib_register()
1645 gc->dev = &pdev->dev; in rockchip_gpiolib_register()
1646 gc->of_node = bank->of_node; in rockchip_gpiolib_register()
1647 gc->label = bank->name; in rockchip_gpiolib_register()
1649 ret = gpiochip_add(gc); in rockchip_gpiolib_register()
1652 gc->label, ret); in rockchip_gpiolib_register()