dev_dbg(&p->pdev->dev,"sense irq = %d, type = %d\n", hwirq, type);switch(type & IRQ_TYPE_SENSE_MASK) {caseIRQ_TYPE_LEVEL_HIGH: gpio_rcar_config_interrupt_input_mode(p, hwirq,true,true,false);break;caseIRQ_TYPE_LEVEL_LOW: gpio_rcar_config_interrupt_input_mode(p, hwirq,false...
irq_set_irq_type(cpldirq, IRQ_TYPE_LEVEL_HIGH); bcsr_init_irq(DB1300_FIRST_INT, DB1300_LAST_INT, cpldirq);/* insert/eject IRQs: one always triggers so don't enable them * when doing request_irq() on them. DB1200 has this bug too. */irq_set_status_flags(DB1300_SD1_INSERT_IN...
#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING) //边沿触发 #define IRQ_TYPE_LEVEL_HIGH 0x00000004 /* Level high type */ //高电平触发 #define IRQ_TYPE_LEVEL_LOW 0x00000008 /* Level low type */ //低电平触发 #define IRQ_TYPE_SENSE_MASK 0x0000000f /* Mask...
(1)handle_irq就是highlevel irq-events handler,何谓high level?站在高处自然看不到细节。我认为high level是和specific相对,specific handler处理具体的事务,例如处理一个按键中断、处理一个磁盘中断。而high level则是对处理各种中断交互过程的一个抽象,根据下列硬件的不同: (a)中断控制器 (b)IRQ trigger type ...
#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING) //边沿触发 #define IRQ_TYPE_LEVEL_HIGH 0x00000004 /* Level high type */ //高电平触发 #define IRQ_TYPE_LEVEL_LOW 0x00000008 /* Level low type */ //低电平触发 ...
<0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, <1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, <2 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, <3 0 &gic GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, <4 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, <5 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,...
if (sense & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) type |= IRQ_TYPE_LEVEL_HIGH; else if (sense & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) type |= IRQ_TYPE_EDGE_RISING;return type; }static int meson_gpio_irq_set_type(struct irq_data *data, unsigned int type) ...
interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; gpio-ranges = <&iomuxc 0 64 32>; }; The touch screen driver is then able to load by modprobe edt-ft5x06 (dmesg: i2c-core: driv...
type) (type & (IRQ_TYPE_LEVEL_LOW|IRQ_TYPE_LEVEL_HIGH))) return -EINVAL; - if (!BANK_USED(bank)) - pm_runtime_get_sync(bank->dev); - raw_spin_lock_irqsave(&bank->lock, flags); retval = omap_set_gpio_triggering(bank, offset, type); ...
>> input on the GIC, as IRQ_TYPE_LEVEL_HIGH. In other words, bit 0 of >> ENABLE_REG *does* affect the NMI IRQ seen at the GIC. >> >> The NMI is then followed by a contiguous block of (at least) 15 IRQ >> inputs that are connected in parallel to both R_INTC and the GI...