Lines Matching refs:gpio
28 #define GPIO_BANK(gpio) ((gpio) >> 5) argument
29 #define GPIO_BIT(gpio) ((gpio) & (GPIO_PER_BANK - 1)) argument
32 #define GPIO_CONTROL(gpio) (0x00000100 + ((gpio) << 2)) argument
94 unsigned gpio) in bcm_kona_gpio_lock_gpio() argument
98 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_lock_gpio()
103 val |= BIT(gpio); in bcm_kona_gpio_lock_gpio()
110 unsigned gpio) in bcm_kona_gpio_unlock_gpio() argument
114 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_unlock_gpio()
119 val &= ~BIT(gpio); in bcm_kona_gpio_unlock_gpio()
125 static void bcm_kona_gpio_set(struct gpio_chip *chip, unsigned gpio, int value) in bcm_kona_gpio_set() argument
129 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_set()
130 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_set()
139 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_set()
156 static int bcm_kona_gpio_get(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_get() argument
160 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_get()
161 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_get()
170 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_get()
184 static int bcm_kona_gpio_request(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_request() argument
188 bcm_kona_gpio_unlock_gpio(kona_gpio, gpio); in bcm_kona_gpio_request()
192 static void bcm_kona_gpio_free(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_free() argument
196 bcm_kona_gpio_lock_gpio(kona_gpio, gpio); in bcm_kona_gpio_free()
199 static int bcm_kona_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_direction_input() argument
210 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_direction_input()
213 writel(val, reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_direction_input()
221 unsigned gpio, int value) in bcm_kona_gpio_direction_output() argument
225 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_direction_output()
226 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_direction_output()
234 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_direction_output()
237 writel(val, reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_direction_output()
249 static int bcm_kona_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_to_irq() argument
254 if (gpio >= kona_gpio->gpio_chip.ngpio) in bcm_kona_gpio_to_irq()
256 return irq_create_mapping(kona_gpio->irq_domain, gpio); in bcm_kona_gpio_to_irq()
259 static int bcm_kona_gpio_set_debounce(struct gpio_chip *chip, unsigned gpio, in bcm_kona_gpio_set_debounce() argument
290 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_set_debounce()
301 writel(val, reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_set_debounce()
326 unsigned gpio = d->hwirq; in bcm_kona_gpio_irq_ack() local
327 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_irq_ack()
328 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_irq_ack()
347 unsigned gpio = d->hwirq; in bcm_kona_gpio_irq_mask() local
348 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_irq_mask()
349 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_irq_mask()
368 unsigned gpio = d->hwirq; in bcm_kona_gpio_irq_unmask() local
369 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_irq_unmask()
370 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_irq_unmask()
389 unsigned gpio = d->hwirq; in bcm_kona_gpio_irq_set_type() local
420 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_irq_set_type()
423 writel(val, reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_irq_set_type()