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 int bcm_kona_gpio_get_dir(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_get_dir() argument
131 val = readl(reg_base + GPIO_CONTROL(gpio)) & GPIO_GPCTR0_IOTR_MASK; in bcm_kona_gpio_get_dir()
135 static void bcm_kona_gpio_set(struct gpio_chip *chip, unsigned gpio, int value) in bcm_kona_gpio_set() argument
139 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_set()
140 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_set()
149 if (bcm_kona_gpio_get_dir(chip, gpio) == GPIOF_DIR_IN) in bcm_kona_gpio_set()
162 static int bcm_kona_gpio_get(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_get() argument
166 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_get()
167 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_get()
175 if (bcm_kona_gpio_get_dir(chip, gpio) == GPIOF_DIR_IN) in bcm_kona_gpio_get()
189 static int bcm_kona_gpio_request(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_request() argument
193 bcm_kona_gpio_unlock_gpio(kona_gpio, gpio); in bcm_kona_gpio_request()
197 static void bcm_kona_gpio_free(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_free() argument
201 bcm_kona_gpio_lock_gpio(kona_gpio, gpio); in bcm_kona_gpio_free()
204 static int bcm_kona_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_direction_input() argument
215 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_direction_input()
218 writel(val, reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_direction_input()
226 unsigned gpio, int value) in bcm_kona_gpio_direction_output() argument
230 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_direction_output()
231 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_direction_output()
239 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_direction_output()
242 writel(val, reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_direction_output()
254 static int bcm_kona_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) in bcm_kona_gpio_to_irq() argument
259 if (gpio >= kona_gpio->gpio_chip.ngpio) in bcm_kona_gpio_to_irq()
261 return irq_create_mapping(kona_gpio->irq_domain, gpio); in bcm_kona_gpio_to_irq()
264 static int bcm_kona_gpio_set_debounce(struct gpio_chip *chip, unsigned gpio, in bcm_kona_gpio_set_debounce() argument
295 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_set_debounce()
306 writel(val, reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_set_debounce()
332 unsigned gpio = d->hwirq; in bcm_kona_gpio_irq_ack() local
333 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_irq_ack()
334 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_irq_ack()
353 unsigned gpio = d->hwirq; in bcm_kona_gpio_irq_mask() local
354 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_irq_mask()
355 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_irq_mask()
374 unsigned gpio = d->hwirq; in bcm_kona_gpio_irq_unmask() local
375 int bank_id = GPIO_BANK(gpio); in bcm_kona_gpio_irq_unmask()
376 int bit = GPIO_BIT(gpio); in bcm_kona_gpio_irq_unmask()
395 unsigned gpio = d->hwirq; in bcm_kona_gpio_irq_set_type() local
426 val = readl(reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_irq_set_type()
429 writel(val, reg_base + GPIO_CONTROL(gpio)); in bcm_kona_gpio_irq_set_type()