Lines Matching refs:chipco
45 return !!ssb_chipco_gpio_in(&bus->chipco, 1 << gpio); in ssb_gpio_chipco_get_value()
53 ssb_chipco_gpio_out(&bus->chipco, 1 << gpio, value ? 1 << gpio : 0); in ssb_gpio_chipco_set_value()
61 ssb_chipco_gpio_outen(&bus->chipco, 1 << gpio, 0); in ssb_gpio_chipco_direction_input()
70 ssb_chipco_gpio_outen(&bus->chipco, 1 << gpio, 1 << gpio); in ssb_gpio_chipco_direction_output()
71 ssb_chipco_gpio_out(&bus->chipco, 1 << gpio, value ? 1 << gpio : 0); in ssb_gpio_chipco_direction_output()
79 ssb_chipco_gpio_control(&bus->chipco, 1 << gpio, 0); in ssb_gpio_chipco_request()
81 ssb_chipco_gpio_pulldown(&bus->chipco, 1 << gpio, 0); in ssb_gpio_chipco_request()
83 ssb_chipco_gpio_pullup(&bus->chipco, 1 << gpio, 1 << gpio); in ssb_gpio_chipco_request()
93 ssb_chipco_gpio_pullup(&bus->chipco, 1 << gpio, 0); in ssb_gpio_chipco_free()
102 ssb_chipco_gpio_intmask(&bus->chipco, BIT(gpio), 0); in ssb_gpio_irq_chipco_mask()
109 u32 val = ssb_chipco_gpio_in(&bus->chipco, BIT(gpio)); in ssb_gpio_irq_chipco_unmask()
111 ssb_chipco_gpio_polarity(&bus->chipco, BIT(gpio), val); in ssb_gpio_irq_chipco_unmask()
112 ssb_chipco_gpio_intmask(&bus->chipco, BIT(gpio), BIT(gpio)); in ssb_gpio_irq_chipco_unmask()
124 struct ssb_chipcommon *chipco = &bus->chipco; in ssb_gpio_irq_chipco_handler() local
125 u32 val = chipco_read32(chipco, SSB_CHIPCO_GPIOIN); in ssb_gpio_irq_chipco_handler()
126 u32 mask = chipco_read32(chipco, SSB_CHIPCO_GPIOIRQ); in ssb_gpio_irq_chipco_handler()
127 u32 pol = chipco_read32(chipco, SSB_CHIPCO_GPIOPOL); in ssb_gpio_irq_chipco_handler()
137 ssb_chipco_gpio_polarity(chipco, irqs, val & irqs); in ssb_gpio_irq_chipco_handler()
144 struct ssb_chipcommon *chipco = &bus->chipco; in ssb_gpio_irq_chipco_domain_init() local
152 &irq_domain_simple_ops, chipco); in ssb_gpio_irq_chipco_domain_init()
165 hwirq = ssb_mips_irq(bus->chipco.dev) + 2; in ssb_gpio_irq_chipco_domain_init()
171 ssb_chipco_gpio_intmask(&bus->chipco, ~0, 0); in ssb_gpio_irq_chipco_domain_init()
172 chipco_set32(chipco, SSB_CHIPCO_IRQMASK, SSB_CHIPCO_IRQ_GPIO); in ssb_gpio_irq_chipco_domain_init()
189 struct ssb_chipcommon *chipco = &bus->chipco; in ssb_gpio_irq_chipco_domain_exit() local
196 chipco_mask32(chipco, SSB_CHIPCO_IRQMASK, ~SSB_CHIPCO_IRQ_GPIO); in ssb_gpio_irq_chipco_domain_exit()
197 free_irq(ssb_mips_irq(bus->chipco.dev) + 2, chipco); in ssb_gpio_irq_chipco_domain_exit()
463 if (ssb_chipco_available(&bus->chipco)) in ssb_gpio_init()
472 if (ssb_chipco_available(&bus->chipco) || in ssb_gpio_unregister()