|
Zephyr Project API 4.4.99
A Scalable Open Source RTOS
|
Public API for the Infineon AURIX Interrupt Router (IR). More...
Go to the source code of this file.
Macros | |
| #define | IR_BASE DT_REG_ADDR_BY_IDX(DT_INST(0, infineon_aurix_ir), 0) |
| Base address of the AURIX Interrupt Router (IR) MMIO block. | |
| #define | SRC_BASE DT_REG_ADDR_BY_IDX(DT_INST(0, infineon_aurix_ir), 1) |
| Base address of the AURIX Service Request Control (SRC) MMIO block. | |
Functions | |
| void | intc_aurix_ir_irq_config (unsigned int irq, unsigned int priority, unsigned int flags) |
| Configure an AURIX interrupt source. | |
| void | intc_aurix_ir_irq_enable (unsigned int irq) |
| Enable an AURIX interrupt source. | |
| void | intc_aurix_ir_irq_disable (unsigned int irq) |
| Disable an AURIX interrupt source. | |
| bool | intc_aurix_ir_irq_is_enabled (unsigned int irq) |
| Query whether an AURIX interrupt source is enabled. | |
| bool | intc_aurix_ir_irq_is_pending (unsigned int irq) |
| Query whether an AURIX interrupt source has a pending request. | |
| void | intc_aurix_ir_irq_clear_pending (unsigned int irq) |
| Clear a pending request on an AURIX interrupt source. | |
| void | intc_aurix_ir_irq_raise (unsigned int irq) |
| Raise an AURIX interrupt source by IRQ number. | |
| unsigned int | intc_aurix_ir_get_active (void) |
| Return the currently active IRQ number. | |
| void | intc_aurix_ir_src_raise (uintptr_t src) |
| Raise an AURIX interrupt source by SRC register address. | |
Public API for the Infineon AURIX Interrupt Router (IR).
The AURIX interrupt subsystem is built from two cooperating blocks:
This header exposes the small low-level helpers used by the Zephyr TriCore IRQ glue to configure, enable, query and raise individual interrupt sources.
| #define IR_BASE DT_REG_ADDR_BY_IDX(DT_INST(0, infineon_aurix_ir), 0) |
Base address of the AURIX Interrupt Router (IR) MMIO block.
| #define SRC_BASE DT_REG_ADDR_BY_IDX(DT_INST(0, infineon_aurix_ir), 1) |
Base address of the AURIX Service Request Control (SRC) MMIO block.
| unsigned int intc_aurix_ir_get_active | ( | void | ) |
Return the currently active IRQ number.
Reads the CPU's identifier of the interrupt currently being serviced, as latched at interrupt entry.
| void intc_aurix_ir_irq_clear_pending | ( | unsigned int | irq | ) |
Clear a pending request on an AURIX interrupt source.
Writes the CLRR bit in the matching SRC register, which clears SRR without affecting other fields.
| irq | Zephyr-encoded IRQ number. |
Configure an AURIX interrupt source.
Programs the per-source SRC register with the given priority and any flags supported by the SoC (e.g. type-of-service / routing).
| irq | Zephyr-encoded IRQ number. |
| priority | Interrupt priority value to write into SRPN. |
| flags | Implementation-defined flags (typically the TOS field). |
| void intc_aurix_ir_irq_disable | ( | unsigned int | irq | ) |
Disable an AURIX interrupt source.
Clears the SRE bit in the matching SRC register. Pending requests in the source are left untouched.
| irq | Zephyr-encoded IRQ number. |
| void intc_aurix_ir_irq_enable | ( | unsigned int | irq | ) |
Enable an AURIX interrupt source.
Sets the SRE bit in the matching SRC register so the source can request service.
| irq | Zephyr-encoded IRQ number. |
Query whether an AURIX interrupt source is enabled.
| irq | Zephyr-encoded IRQ number. |
Query whether an AURIX interrupt source has a pending request.
| irq | Zephyr-encoded IRQ number. |
| void intc_aurix_ir_irq_raise | ( | unsigned int | irq | ) |
Raise an AURIX interrupt source by IRQ number.
Sets the SETR bit in the matching SRC register, requesting service from software. Useful for self-test and software-triggered IPIs.
| irq | Zephyr-encoded IRQ number. |
| void intc_aurix_ir_src_raise | ( | uintptr_t | src | ) |
Raise an AURIX interrupt source by SRC register address.
Variant of intc_aurix_ir_irq_raise that targets a source by its absolute SRC register address rather than by IRQ number. Intended for call sites that already hold the SRC pointer (e.g. driver-internal software events).
| src | Absolute address of the source's SRC register. |