Lines Matching refs:bank
65 int bank; member
96 static int tegra_gpio_compose(int bank, int port, int bit) in tegra_gpio_compose() argument
98 return (bank << 5) | ((port & 0x3) << 3) | (bit & 0x7); in tegra_gpio_compose()
204 struct tegra_gpio_bank *bank = irq_data_get_irq_chip_data(d); in tegra_gpio_irq_set_type() local
242 spin_lock_irqsave(&bank->lvl_lock[port], flags); in tegra_gpio_irq_set_type()
249 spin_unlock_irqrestore(&bank->lvl_lock[port], flags); in tegra_gpio_irq_set_type()
275 struct tegra_gpio_bank *bank = irq_desc_get_handler_data(desc); in tegra_gpio_irq_handler() local
280 int gpio = tegra_gpio_compose(bank->bank, port, 0); in tegra_gpio_irq_handler()
316 struct tegra_gpio_bank *bank = &tegra_gpio_banks[b]; in tegra_gpio_resume() local
318 for (p = 0; p < ARRAY_SIZE(bank->oe); p++) { in tegra_gpio_resume()
320 tegra_gpio_writel(bank->cnf[p], GPIO_CNF(gpio)); in tegra_gpio_resume()
321 tegra_gpio_writel(bank->out[p], GPIO_OUT(gpio)); in tegra_gpio_resume()
322 tegra_gpio_writel(bank->oe[p], GPIO_OE(gpio)); in tegra_gpio_resume()
323 tegra_gpio_writel(bank->int_lvl[p], GPIO_INT_LVL(gpio)); in tegra_gpio_resume()
324 tegra_gpio_writel(bank->int_enb[p], GPIO_INT_ENB(gpio)); in tegra_gpio_resume()
340 struct tegra_gpio_bank *bank = &tegra_gpio_banks[b]; in tegra_gpio_suspend() local
342 for (p = 0; p < ARRAY_SIZE(bank->oe); p++) { in tegra_gpio_suspend()
344 bank->cnf[p] = tegra_gpio_readl(GPIO_CNF(gpio)); in tegra_gpio_suspend()
345 bank->out[p] = tegra_gpio_readl(GPIO_OUT(gpio)); in tegra_gpio_suspend()
346 bank->oe[p] = tegra_gpio_readl(GPIO_OE(gpio)); in tegra_gpio_suspend()
347 bank->int_enb[p] = tegra_gpio_readl(GPIO_INT_ENB(gpio)); in tegra_gpio_suspend()
348 bank->int_lvl[p] = tegra_gpio_readl(GPIO_INT_LVL(gpio)); in tegra_gpio_suspend()
351 tegra_gpio_writel(bank->wake_enb[p], in tegra_gpio_suspend()
361 struct tegra_gpio_bank *bank = irq_data_get_irq_chip_data(d); in tegra_gpio_irq_set_wake() local
370 bank->wake_enb[port] |= mask; in tegra_gpio_irq_set_wake()
372 bank->wake_enb[port] &= ~mask; in tegra_gpio_irq_set_wake()
374 return irq_set_irq_wake(bank->irq, enable); in tegra_gpio_irq_set_wake()
479 struct tegra_gpio_bank *bank; in tegra_gpio_probe() local
529 bank = &tegra_gpio_banks[i]; in tegra_gpio_probe()
530 bank->bank = i; in tegra_gpio_probe()
531 bank->irq = res->start; in tegra_gpio_probe()
558 bank = &tegra_gpio_banks[GPIO_BANK(gpio)]; in tegra_gpio_probe()
561 irq_set_chip_data(irq, bank); in tegra_gpio_probe()
567 bank = &tegra_gpio_banks[i]; in tegra_gpio_probe()
569 irq_set_chained_handler_and_data(bank->irq, in tegra_gpio_probe()
570 tegra_gpio_irq_handler, bank); in tegra_gpio_probe()
573 spin_lock_init(&bank->lvl_lock[j]); in tegra_gpio_probe()