Home
last modified time | relevance | path

Searched full:irq (Results 1 – 25 of 1592) sorted by relevance

12345678910>>...64

/Zephyr-latest/include/zephyr/
Dirq_multilevel.h26 /* Zephyr multilevel-encoded IRQ */
27 uint32_t irq; member
39 /* Third level IRQ's interrupt controller */
41 /* IRQ of the third level interrupt aggregator */
42 uint32_t irq: CONFIG_1ST_LEVEL_INTERRUPT_BITS + CONFIG_2ND_LEVEL_INTERRUPT_BITS; member
45 /* Second level IRQ's interrupt controller */
47 /* IRQ of the second level interrupt aggregator */
48 uint32_t irq: CONFIG_1ST_LEVEL_INTERRUPT_BITS; member
54 static inline uint32_t _z_l1_irq(_z_irq_t irq) in _z_l1_irq() argument
56 return irq.bits.l1; in _z_l1_irq()
[all …]
Dirq_nextlevel.h26 unsigned int irq);
29 unsigned int irq, unsigned int prio,
32 unsigned int irq);
46 * @brief Enable an IRQ in the next level.
51 * @param irq IRQ to be enabled.
54 uint32_t irq) in irq_enable_next_level() argument
59 api->intr_enable(dev, irq); in irq_enable_next_level()
63 * @brief Disable an IRQ in the next level.
68 * @param irq IRQ to be disabled.
71 uint32_t irq) in irq_disable_next_level() argument
[all …]
/Zephyr-latest/soc/openisa/rv32m1/
Dvector.S22 * at byte offset 4 * (IRQ line number).
25 * are handled by the addresses right after the IRQ table.
36 j _isr_wrapper /* IRQ 0 */
37 j _isr_wrapper /* IRQ 1 */
38 j _isr_wrapper /* IRQ 2 */
39 j _isr_wrapper /* IRQ 3 */
40 j _isr_wrapper /* IRQ 4 */
41 j _isr_wrapper /* IRQ 5 */
42 j _isr_wrapper /* IRQ 6 */
43 j _isr_wrapper /* IRQ 7 */
[all …]
Dsoc.h26 * See gen_isr_tables.py for details on the Zephyr multi-level IRQ
31 * @brief Get an IRQ's level
32 * @param irq The IRQ number in the Zephyr irq.h numbering system
33 * @return IRQ level, either 1 or 2
35 static inline unsigned int rv32m1_irq_level(unsigned int irq) in rv32m1_irq_level() argument
37 return ((irq >> 8) & 0xff) == 0U ? 1 : 2; in rv32m1_irq_level()
41 * @brief Level 1 interrupt line associated with an IRQ
43 * Results are undefined if rv32m1_irq_level(irq) is not 1.
45 * @param The IRQ number in the Zephyr <irq.h> numbering system
46 * @return Level 1 (i.e. event unit) IRQ number associated with irq
[all …]
/Zephyr-latest/drivers/interrupt_controller/
Dintc_vim.c11 #include <zephyr/arch/arm/irq.h>
26 /* Reading IRQVEC register, ACTIRQ gets loaded with valid IRQ values */ in z_vim_irq_get_active()
32 /* Check if the irq number is valid, else return invalid irq number. in z_vim_irq_get_active()
52 void z_vim_irq_eoi(unsigned int irq) in z_vim_irq_eoi() argument
64 void z_vim_irq_priority_set(unsigned int irq, unsigned int prio, uint32_t flags) in z_vim_irq_priority_set() argument
68 if (irq > CONFIG_NUM_IRQS || prio > VIM_PRI_INT_MAX || in z_vim_irq_priority_set()
70 LOG_ERR("%s: Invalid argument irq = %u prio = %u flags = %u\n", in z_vim_irq_priority_set()
71 __func__, irq, prio, flags); in z_vim_irq_priority_set()
75 sys_write8(prio, VIM_PRI_INT(irq)); in z_vim_irq_priority_set()
77 irq_group_num = VIM_GET_IRQ_GROUP_NUM(irq); in z_vim_irq_priority_set()
[all …]
Dintc_system_apic.c19 #include <zephyr/irq.h>
22 #define IS_IOAPIC_IRQ(irq) ((irq) < z_loapic_irq_base()) argument
29 * based on the given IRQ parameter.
42 * @param irq the virtualized IRQ
46 void z_irq_controller_irq_config(unsigned int vector, unsigned int irq, in z_irq_controller_irq_config() argument
49 __ASSERT(irq <= HARDWARE_IRQ_LIMIT, "invalid irq line"); in z_irq_controller_irq_config()
51 if (IS_IOAPIC_IRQ(irq)) { in z_irq_controller_irq_config()
52 z_ioapic_irq_set(irq, vector, flags); in z_irq_controller_irq_config()
54 z_loapic_int_vec_set(irq - z_loapic_irq_base(), vector); in z_irq_controller_irq_config()
59 * @brief Enable an individual interrupt (IRQ)
[all …]
Dintc_swerv_pic.c17 #include <zephyr/irq.h>
18 #include <zephyr/arch/riscv/irq.h>
57 void swerv_pic_irq_enable(uint32_t irq) in swerv_pic_irq_enable() argument
61 if ((irq >= SWERV_PIC_MAX_ID) || (irq < RISCV_MAX_GENERIC_IRQ)) { in swerv_pic_irq_enable()
66 swerv_pic_write(SWERV_PIC_meie(irq - RISCV_MAX_GENERIC_IRQ), 1); in swerv_pic_irq_enable()
70 void swerv_pic_irq_disable(uint32_t irq) in swerv_pic_irq_disable() argument
74 if ((irq >= SWERV_PIC_MAX_ID) || (irq < RISCV_MAX_GENERIC_IRQ)) { in swerv_pic_irq_disable()
79 swerv_pic_write(SWERV_PIC_meie(irq - RISCV_MAX_GENERIC_IRQ), 0); in swerv_pic_irq_disable()
83 int swerv_pic_irq_is_enabled(uint32_t irq) in swerv_pic_irq_is_enabled() argument
85 if ((irq >= SWERV_PIC_MAX_ID) || (irq < RISCV_MAX_GENERIC_IRQ)) { in swerv_pic_irq_is_enabled()
[all …]
Dintc_eirq_nxp_s32.c10 #include <zephyr/irq.h>
67 uint8_t irq; in eirq_nxp_s32_interrupt_handler() local
74 irq = u64_count_trailing_zeros(mask); in eirq_nxp_s32_interrupt_handler()
79 if (data->cb[irq].cb != NULL) { in eirq_nxp_s32_interrupt_handler()
80 data->cb[irq].cb(data->cb[irq].pin, data->cb[irq].data); in eirq_nxp_s32_interrupt_handler()
87 int eirq_nxp_s32_set_callback(const struct device *dev, uint8_t irq, uint8_t pin, in eirq_nxp_s32_set_callback() argument
92 __ASSERT_NO_MSG(irq < CONFIG_NXP_S32_EIRQ_EXT_INTERRUPTS_MAX); in eirq_nxp_s32_set_callback()
94 if ((data->cb[irq].cb == cb) && (data->cb[irq].data == arg)) { in eirq_nxp_s32_set_callback()
98 if (data->cb[irq].cb) { in eirq_nxp_s32_set_callback()
102 data->cb[irq].cb = cb; in eirq_nxp_s32_set_callback()
[all …]
Dintc_nrfx_clic.c11 void riscv_clic_irq_enable(uint32_t irq) in riscv_clic_irq_enable() argument
13 nrf_vpr_clic_int_enable_set(NRF_VPRCLIC, irq, true); in riscv_clic_irq_enable()
16 void riscv_clic_irq_disable(uint32_t irq) in riscv_clic_irq_disable() argument
18 nrf_vpr_clic_int_enable_set(NRF_VPRCLIC, irq, false); in riscv_clic_irq_disable()
21 int riscv_clic_irq_is_enabled(uint32_t irq) in riscv_clic_irq_is_enabled() argument
23 return nrf_vpr_clic_int_enable_check(NRF_VPRCLIC, irq); in riscv_clic_irq_is_enabled()
26 void riscv_clic_irq_priority_set(uint32_t irq, uint32_t pri, uint32_t flags) in riscv_clic_irq_priority_set() argument
28 nrf_vpr_clic_int_priority_set(NRF_VPRCLIC, irq, NRF_VPR_CLIC_INT_TO_PRIO(pri)); in riscv_clic_irq_priority_set()
31 void riscv_clic_irq_set_pending(uint32_t irq) in riscv_clic_irq_set_pending() argument
33 nrf_vpr_clic_int_pending_set(NRF_VPRCLIC, irq); in riscv_clic_irq_set_pending()
/Zephyr-latest/dts/arm/nuvoton/npcx/
Dnpcx-miwus-int-map.dtsi15 irq = <31>;
16 irq-prio = <2>;
20 irq = <15>;
21 irq-prio = <2>;
31 irq = <47>;
32 irq-prio = <2>;
36 irq = <48>;
37 irq-prio = <2>;
41 irq = <49>;
42 irq-prio = <2>;
[all …]
/Zephyr-latest/soc/common/riscv-privileged/
Dsoc_common_irq.c12 #include <zephyr/irq.h>
20 void arch_irq_enable(unsigned int irq) in arch_irq_enable() argument
22 riscv_clic_irq_enable(irq); in arch_irq_enable()
25 void arch_irq_disable(unsigned int irq) in arch_irq_disable() argument
27 riscv_clic_irq_disable(irq); in arch_irq_disable()
30 int arch_irq_is_enabled(unsigned int irq) in arch_irq_is_enabled() argument
32 return riscv_clic_irq_is_enabled(irq); in arch_irq_is_enabled()
35 void z_riscv_irq_priority_set(unsigned int irq, unsigned int prio, uint32_t flags) in z_riscv_irq_priority_set() argument
37 riscv_clic_irq_priority_set(irq, prio, flags); in z_riscv_irq_priority_set()
40 void z_riscv_irq_vector_set(unsigned int irq) in z_riscv_irq_vector_set() argument
[all …]
/Zephyr-latest/tests/arch/arm/arm_custom_interrupt/src/
Darm_custom_interrupt.c25 #define REG_FROM_IRQ(irq) (irq / NUM_IRQS_PER_REG) argument
26 #define BIT_FROM_IRQ(irq) (irq % NUM_IRQS_PER_REG) argument
30 int irq = 0; in z_soc_irq_init() local
32 for (; irq < CONFIG_NUM_IRQS; irq++) { in z_soc_irq_init()
33 NVIC_SetPriority((IRQn_Type)irq, _IRQ_PRIO_OFFSET); in z_soc_irq_init()
39 void z_soc_irq_enable(unsigned int irq) in z_soc_irq_enable() argument
41 if (irq == sw_irq_number) { in z_soc_irq_enable()
44 NVIC_EnableIRQ((IRQn_Type)irq); in z_soc_irq_enable()
47 void z_soc_irq_disable(unsigned int irq) in z_soc_irq_disable() argument
49 if (irq == sw_irq_number) { in z_soc_irq_disable()
[all …]
/Zephyr-latest/arch/common/
Dmultilevel_irq.c9 #include <zephyr/irq.h>
22 * @brief Get the aggregator that's responsible for the given irq
24 * @param irq IRQ number to query
26 * @return Aggregator entry, NULL if irq is level 1 or not found.
28 static const struct _irq_parent_entry *get_intc_entry_for_irq(unsigned int irq) in get_intc_entry_for_irq() argument
30 const unsigned int level = irq_get_level(irq); in get_intc_entry_for_irq()
37 const unsigned int intc_irq = irq_get_intc_irq(irq); in get_intc_entry_for_irq()
41 if ((intc->level == level) && (intc->irq == intc_irq)) { in get_intc_entry_for_irq()
49 const struct device *z_get_sw_isr_device_from_irq(unsigned int irq) in z_get_sw_isr_device_from_irq() argument
51 const struct _irq_parent_entry *intc = get_intc_entry_for_irq(irq); in z_get_sw_isr_device_from_irq()
[all …]
/Zephyr-latest/dts/arm/nuvoton/npcx/npcx4/
Dnpcx4-miwus-int-map.dtsi19 irq = <7>;
20 irq-prio = <2>;
24 irq = <5>;
25 irq-prio = <2>;
29 irq = <11>;
30 irq-prio = <2>;
34 irq = <35>;
35 irq-prio = <2>;
39 irq = <42>;
40 irq-prio = <2>;
[all …]
/Zephyr-latest/subsys/testsuite/include/zephyr/
Dinterrupt_util.h25 * returning false, here, implies that the IRQ line is in get_available_nvic_line()
55 zassert_true(i >= 0, "No available IRQ line\n"); in get_available_nvic_line()
60 static inline void trigger_irq(int irq) in trigger_irq() argument
62 printk("Triggering irq : %d\n", irq); in trigger_irq()
67 NVIC_SetPendingIRQ(irq); in trigger_irq()
69 NVIC->STIR = irq; in trigger_irq()
77 static inline void trigger_irq(int irq) in trigger_irq() argument
79 printk("Triggering irq : %d\n", irq); in trigger_irq()
81 /* Ensure that the specified IRQ number is a valid SGI interrupt ID */ in trigger_irq()
82 zassert_true(irq <= 15, "%u is not a valid SGI interrupt ID", irq); in trigger_irq()
[all …]
/Zephyr-latest/include/zephyr/arch/arc/v2/
Darcv2_irq_unit.h31 * APIs themselves are writing the IRQ_SELECT, selecting which IRQ's registers
44 * @param irq IRQ line number
50 int irq, in z_arc_v2_irq_unit_irq_enable_set() argument
56 z_arc_v2_aux_reg_write(_ARC_V2_IRQ_SELECT, irq); in z_arc_v2_irq_unit_irq_enable_set()
69 void z_arc_v2_irq_unit_int_enable(int irq) in z_arc_v2_irq_unit_int_enable() argument
71 z_arc_v2_irq_unit_irq_enable_set(irq, _ARC_V2_INT_ENABLE); in z_arc_v2_irq_unit_int_enable()
81 void z_arc_v2_irq_unit_int_disable(int irq) in z_arc_v2_irq_unit_int_disable() argument
83 z_arc_v2_irq_unit_irq_enable_set(irq, _ARC_V2_INT_DISABLE); in z_arc_v2_irq_unit_int_disable()
95 bool z_arc_v2_irq_unit_int_enabled(int irq) in z_arc_v2_irq_unit_int_enabled() argument
100 z_arc_v2_aux_reg_write(_ARC_V2_IRQ_SELECT, irq); in z_arc_v2_irq_unit_int_enabled()
[all …]
/Zephyr-latest/include/zephyr/arch/xtensa/
Dirq.h87 void z_soc_irq_enable(unsigned int irq);
88 void z_soc_irq_disable(unsigned int irq);
89 int z_soc_irq_is_enabled(unsigned int irq);
91 #define arch_irq_enable(irq) z_soc_irq_enable(irq) argument
92 #define arch_irq_disable(irq) z_soc_irq_disable(irq) argument
94 #define arch_irq_is_enabled(irq) z_soc_irq_is_enabled(irq) argument
97 extern int z_soc_irq_connect_dynamic(unsigned int irq, unsigned int priority,
106 #define arch_irq_enable(irq) xtensa_irq_enable(irq) argument
107 #define arch_irq_disable(irq) xtensa_irq_disable(irq) argument
109 #define arch_irq_is_enabled(irq) xtensa_irq_is_enabled(irq) argument
[all …]
/Zephyr-latest/boards/native/native_posix/
Dirq_ctrl.c6 * HW IRQ controller model
27 * irq handler
41 static bool lock_ignore; /* For the hard fake IRQ, temporarily ignore lock */
75 void hw_irq_ctrl_prio_set(unsigned int irq, unsigned int prio) in hw_irq_ctrl_prio_set() argument
77 irq_prio[irq] = prio; in hw_irq_ctrl_prio_set()
80 uint8_t hw_irq_ctrl_get_prio(unsigned int irq) in hw_irq_ctrl_get_prio() argument
82 return irq_prio[irq]; in hw_irq_ctrl_get_prio()
151 void hw_irq_ctrl_disable_irq(unsigned int irq) in hw_irq_ctrl_disable_irq() argument
153 irq_mask &= ~((uint64_t)1<<irq); in hw_irq_ctrl_disable_irq()
156 int hw_irq_ctrl_is_irq_enabled(unsigned int irq) in hw_irq_ctrl_is_irq_enabled() argument
[all …]
/Zephyr-latest/arch/x86/core/intel64/
Dlocore.S674 * When we arrive at 'irq' from one of the IRQ(X) stubs,
675 * we're on the "freshest" IRQ stack (or the trampoline stack if we came from
689 irq: label
729 * Bump the IRQ nesting count and move to the next IRQ stack.
754 irq_enter_nested: /* Nested IRQ: dump register state to stack. */
852 #define IRQ(nr) vector_ ## nr: pushq $(nr - IV_IRQS); jmp irq macro
854 IRQ( 33); IRQ( 34); IRQ( 35); IRQ( 36); IRQ( 37); IRQ( 38); IRQ( 39)
855 IRQ( 40); IRQ( 41); IRQ( 42); IRQ( 43); IRQ( 44); IRQ( 45); IRQ( 46); IRQ( 47)
856 IRQ( 48); IRQ( 49); IRQ( 50); IRQ( 51); IRQ( 52); IRQ( 53); IRQ( 54); IRQ( 55)
857 IRQ( 56); IRQ( 57); IRQ( 58); IRQ( 59); IRQ( 60); IRQ( 61); IRQ( 62); IRQ( 63)
[all …]
/Zephyr-latest/soc/mediatek/mt8xxx/
Dirq.c5 #include <zephyr/irq.h>
9 bool intc_mtk_adsp_get_enable(const struct device *dev, int irq);
10 void intc_mtk_adsp_set_enable(const struct device *dev, int irq, bool val);
44 void z_soc_irq_enable(unsigned int irq) in z_soc_irq_enable() argument
47 if (irq < 32) { in z_soc_irq_enable()
48 xtensa_irq_enable(irq); in z_soc_irq_enable()
50 const struct device *dev = irq_dev(&irq); in z_soc_irq_enable()
52 intc_mtk_adsp_set_enable(dev, irq, true); in z_soc_irq_enable()
56 void z_soc_irq_disable(unsigned int irq) in z_soc_irq_disable() argument
58 if (irq < 32) { in z_soc_irq_disable()
[all …]
/Zephyr-latest/include/zephyr/arch/arm64/
Dirq.h18 #include <zephyr/irq.h>
38 extern void arch_irq_enable(unsigned int irq);
39 extern void arch_irq_disable(unsigned int irq);
40 extern int arch_irq_is_enabled(unsigned int irq);
43 extern void z_arm64_irq_priority_set(unsigned int irq, unsigned int prio,
54 void z_soc_irq_enable(unsigned int irq);
55 void z_soc_irq_disable(unsigned int irq);
56 int z_soc_irq_is_enabled(unsigned int irq);
59 unsigned int irq, unsigned int prio, unsigned int flags);
62 void z_soc_irq_eoi(unsigned int irq);
[all …]
/Zephyr-latest/arch/posix/core/
Dirq.c23 void arch_irq_enable(unsigned int irq) in arch_irq_enable() argument
25 posix_irq_enable(irq); in arch_irq_enable()
28 void arch_irq_disable(unsigned int irq) in arch_irq_disable() argument
30 posix_irq_disable(irq); in arch_irq_disable()
33 int arch_irq_is_enabled(unsigned int irq) in arch_irq_is_enabled() argument
35 return posix_irq_is_enabled(irq); in arch_irq_is_enabled()
44 * @param irq IRQ line number
48 * @param flags Arch-specific IRQ configuration flags
52 int arch_irq_connect_dynamic(unsigned int irq, unsigned int priority, in arch_irq_connect_dynamic() argument
56 posix_isr_declare(irq, (int)flags, routine, parameter); in arch_irq_connect_dynamic()
[all …]
/Zephyr-latest/scripts/native_simulator/native/src/
Dirq_ctrl.c7 * HW IRQ controller model
26 * irq handler
40 static bool lock_ignore; /* For the hard fake IRQ, temporarily ignore lock */
71 void hw_irq_ctrl_prio_set(unsigned int irq, unsigned int prio) in hw_irq_ctrl_prio_set() argument
73 irq_prio[irq] = prio; in hw_irq_ctrl_prio_set()
76 uint8_t hw_irq_ctrl_get_prio(unsigned int irq) in hw_irq_ctrl_get_prio() argument
78 return irq_prio[irq]; in hw_irq_ctrl_get_prio()
152 void hw_irq_ctrl_disable_irq(unsigned int irq) in hw_irq_ctrl_disable_irq() argument
154 irq_mask &= ~((uint64_t)1<<irq); in hw_irq_ctrl_disable_irq()
157 int hw_irq_ctrl_is_irq_enabled(unsigned int irq) in hw_irq_ctrl_is_irq_enabled() argument
[all …]
/Zephyr-latest/dts/arm/nuvoton/npcx/npcx9/
Dnpcx9-miwus-int-map.dtsi19 irq = <7>;
20 irq-prio = <2>;
24 irq = <5>;
25 irq-prio = <2>;
29 irq = <11>;
30 irq-prio = <2>;
34 irq = <35>;
35 irq-prio = <2>;
39 irq = <42>;
40 irq-prio = <2>;
[all …]
/Zephyr-latest/include/zephyr/drivers/interrupt_controller/
Driscv_plic.h20 * @param irq Multi-level encoded interrupt ID
22 void riscv_plic_irq_enable(uint32_t irq);
27 * @param irq Multi-level encoded interrupt ID
29 void riscv_plic_irq_disable(uint32_t irq);
34 * @param irq Multi-level encoded interrupt ID
37 int riscv_plic_irq_is_enabled(uint32_t irq);
42 * @param irq Multi-level encoded interrupt ID
45 void riscv_plic_set_priority(uint32_t irq, uint32_t prio);
48 * @brief Set IRQ affinity.
50 * @param irq IRQ line.
[all …]

12345678910>>...64