Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Intel I/O APIC interrupt controller

Devicetree flags for the Intel I/O APIC interrupt controller. More...

Files

file  intel-ioapic.h
 Intel I/O APIC interrupt controller devicetree macros.

Macros

#define IRQ_TYPE_LEVEL   0x00008000
 Level-triggered interrupt.
#define IRQ_TYPE_EDGE   0x00000000
 Edge-triggered interrupt.
#define IRQ_TYPE_LOW   0x00002000
 Active-low polarity.
#define IRQ_TYPE_HIGH   0x00000000
 Active-high polarity.
#define IRQ_DELIVERY_LOWEST   0x00000100
 Lowest-priority delivery mode.
#define IRQ_DELIVERY_FIXED   0x00000000
 Fixed delivery mode (all CPUs).
#define IRQ_TYPE_LOWEST_EDGE_RISING   (IRQ_DELIVERY_LOWEST | IRQ_TYPE_EDGE | IRQ_TYPE_HIGH)
 Lowest-priority delivery, edge-triggered, rising edge.
#define IRQ_TYPE_LOWEST_EDGE_FALLING   (IRQ_DELIVERY_LOWEST | IRQ_TYPE_EDGE | IRQ_TYPE_LOW)
 Lowest-priority delivery, edge-triggered, falling edge.
#define IRQ_TYPE_LOWEST_LEVEL_HIGH   (IRQ_DELIVERY_LOWEST | IRQ_TYPE_LEVEL | IRQ_TYPE_HIGH)
 Lowest-priority delivery, level-triggered, active high.
#define IRQ_TYPE_LOWEST_LEVEL_LOW   (IRQ_DELIVERY_LOWEST | IRQ_TYPE_LEVEL | IRQ_TYPE_LOW)
 Lowest-priority delivery, level-triggered, active low.
#define IRQ_TYPE_FIXED_EDGE_RISING   (IRQ_DELIVERY_FIXED | IRQ_TYPE_EDGE | IRQ_TYPE_HIGH)
 Fixed delivery, edge-triggered, rising edge.
#define IRQ_TYPE_FIXED_EDGE_FALLING   (IRQ_DELIVERY_FIXED | IRQ_TYPE_EDGE | IRQ_TYPE_LOW)
 Fixed delivery, edge-triggered, falling edge.
#define IRQ_TYPE_FIXED_LEVEL_HIGH   (IRQ_DELIVERY_FIXED | IRQ_TYPE_LEVEL | IRQ_TYPE_HIGH)
 Fixed delivery, level-triggered, active high.
#define IRQ_TYPE_FIXED_LEVEL_LOW   (IRQ_DELIVERY_FIXED | IRQ_TYPE_LEVEL | IRQ_TYPE_LOW)
 Fixed delivery, level-triggered, active low.

Detailed Description

Devicetree flags for the Intel I/O APIC interrupt controller.

Interrupt trigger, polarity and delivery-mode flags for the intel,ioapic compatible interrupt controller. The individual flags are OR-ed together to form the interrupt sense field; the IRQ_TYPE_LOWEST_* and IRQ_TYPE_FIXED_* macros provide ready-made combinations for the common cases.

&some_device {
interrupts = <17 IRQ_TYPE_LOWEST_LEVEL_LOW 3>;
};

Macro Definition Documentation

◆ IRQ_DELIVERY_FIXED

#define IRQ_DELIVERY_FIXED   0x00000000

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Fixed delivery mode (all CPUs).

◆ IRQ_DELIVERY_LOWEST

#define IRQ_DELIVERY_LOWEST   0x00000100

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Lowest-priority delivery mode.

◆ IRQ_TYPE_EDGE

#define IRQ_TYPE_EDGE   0x00000000

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Edge-triggered interrupt.

◆ IRQ_TYPE_FIXED_EDGE_FALLING

#define IRQ_TYPE_FIXED_EDGE_FALLING   (IRQ_DELIVERY_FIXED | IRQ_TYPE_EDGE | IRQ_TYPE_LOW)

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Fixed delivery, edge-triggered, falling edge.

◆ IRQ_TYPE_FIXED_EDGE_RISING

#define IRQ_TYPE_FIXED_EDGE_RISING   (IRQ_DELIVERY_FIXED | IRQ_TYPE_EDGE | IRQ_TYPE_HIGH)

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Fixed delivery, edge-triggered, rising edge.

◆ IRQ_TYPE_FIXED_LEVEL_HIGH

#define IRQ_TYPE_FIXED_LEVEL_HIGH   (IRQ_DELIVERY_FIXED | IRQ_TYPE_LEVEL | IRQ_TYPE_HIGH)

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Fixed delivery, level-triggered, active high.

◆ IRQ_TYPE_FIXED_LEVEL_LOW

#define IRQ_TYPE_FIXED_LEVEL_LOW   (IRQ_DELIVERY_FIXED | IRQ_TYPE_LEVEL | IRQ_TYPE_LOW)

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Fixed delivery, level-triggered, active low.

◆ IRQ_TYPE_HIGH

#define IRQ_TYPE_HIGH   0x00000000

◆ IRQ_TYPE_LEVEL

#define IRQ_TYPE_LEVEL   0x00008000

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Level-triggered interrupt.

◆ IRQ_TYPE_LOW

#define IRQ_TYPE_LOW   0x00002000

◆ IRQ_TYPE_LOWEST_EDGE_FALLING

#define IRQ_TYPE_LOWEST_EDGE_FALLING   (IRQ_DELIVERY_LOWEST | IRQ_TYPE_EDGE | IRQ_TYPE_LOW)

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Lowest-priority delivery, edge-triggered, falling edge.

◆ IRQ_TYPE_LOWEST_EDGE_RISING

#define IRQ_TYPE_LOWEST_EDGE_RISING   (IRQ_DELIVERY_LOWEST | IRQ_TYPE_EDGE | IRQ_TYPE_HIGH)

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Lowest-priority delivery, edge-triggered, rising edge.

◆ IRQ_TYPE_LOWEST_LEVEL_HIGH

#define IRQ_TYPE_LOWEST_LEVEL_HIGH   (IRQ_DELIVERY_LOWEST | IRQ_TYPE_LEVEL | IRQ_TYPE_HIGH)

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Lowest-priority delivery, level-triggered, active high.

◆ IRQ_TYPE_LOWEST_LEVEL_LOW

#define IRQ_TYPE_LOWEST_LEVEL_LOW   (IRQ_DELIVERY_LOWEST | IRQ_TYPE_LEVEL | IRQ_TYPE_LOW)

#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>

Lowest-priority delivery, level-triggered, active low.