Lines Matching +full:edge +full:- +full:offset
1 // SPDX-License-Identifier: GPL-2.0-only
10 * Parts of this code are taken from linux/arch/arm/mach-omap/irq.c
20 #include <linux/platform_data/ams-delta-fiq.h>
24 #include <linux/soc/ti/omap1-io.h>
27 #include "ams-delta-fiq.h"
28 #include "board-ams-delta.h"
31 .name = "ams-delta-fiq"
40 * <linux/platform_data/ams-delta-fiq.h> for details of offsets.
65 irq_num = d->irq; in deferred_fiq()
71 * handle_simple_irq() that OMAP GPIO edge in deferred_fiq()
75 if (!WARN_ON_ONCE(!irq_chip->irq_unmask)) in deferred_fiq()
76 irq_chip->irq_unmask(d); in deferred_fiq()
91 unsigned long val, offset; in ams_delta_init_fiq() local
95 irq_chip = chip->irq.chip; in ams_delta_init_fiq()
98 chip->label); in ams_delta_init_fiq()
136 fiqhandler_length = &qwerty_fiqin_end - &qwerty_fiqin_start; in ams_delta_init_fiq()
156 * switch to edge triggered interrupt type manually. in ams_delta_init_fiq()
158 offset = IRQ_ILR0_REG_OFFSET + in ams_delta_init_fiq()
159 ((INT_DEFERRED_FIQ - NR_IRQS_LEGACY) & 0x1f) * 0x4; in ams_delta_init_fiq()
160 val = omap_readl(DEFERRED_FIQ_IH_BASE + offset) & ~(1 << 1); in ams_delta_init_fiq()
161 omap_writel(val, DEFERRED_FIQ_IH_BASE + offset); in ams_delta_init_fiq()
199 offset = IRQ_ILR0_REG_OFFSET + (INT_GPIO_BANK1 - NR_IRQS_LEGACY) * 0x4; in ams_delta_init_fiq()
200 val = omap_readl(OMAP_IH1_BASE + offset) | 1; in ams_delta_init_fiq()
201 omap_writel(val, OMAP_IH1_BASE + offset); in ams_delta_init_fiq()
204 serio->resource[0].start = gpiod_to_irq(clk); in ams_delta_init_fiq()
205 serio->resource[0].end = serio->resource[0].start; in ams_delta_init_fiq()
206 serio->dev.platform_data = fiq_buffer; in ams_delta_init_fiq()
212 * bad interaction with gpio-omap driver. This is no longer needed in ams_delta_init_fiq()
214 * edge interrupts. in ams_delta_init_fiq()
217 * of that dependency on gpio-omap driver behavior. in ams_delta_init_fiq()