Sapphire SoC DS Sapphire SoC UG Sapphire HP SoC DS Sapphire HP SoC UG RISC-V Embedded IDE UG Board Support Package
Loading...
Searching...
No Matches
irq_handler_stub.h
Go to the documentation of this file.
1
2// Copyright (C) 2013-2026 Efinix Inc. All rights reserved.
3// Full license header bsp/efinix/EfxSapphireSocRV64/include/LICENSE.MD
5
6#ifndef IRQ_HANDLER_STUB_H
7#define IRQ_HANDLER_STUB_H
8
20
21#include <stdio.h>
22#include "type.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
55
56/* ========================================================================== */
57/* DEFAULT HANDLER */
58/* ========================================================================== */
59
65 int irq_handleDefault(void);
66
67 /* Note: Implementation inside header (See file warning) */
69 LOG_WARN(DBG_MOD_IRQ, "Default IRQ handler invoked (Unhandled Interrupt).");
70 return 0;
71 }
72
73/* ========================================================================== */
74/* WEAK ALIASES */
75/* ========================================================================== */
76
81 int irq_m_invalid_handler(void) __attribute__((weak, alias("irq_handleDefault")));
82 int irq_m_system_axi_a_handler(void) __attribute__((weak, alias("irq_handleDefault")));
83 int irq_m_watch_dog_handler(void) __attribute__((weak, alias("irq_handleDefault")));
85
86
87/* ========================================================================== */
88/* PERIPHERAL HANDLERS (Specific Hardware) */
89/* ========================================================================== */
90
95 int irq_m_uart0_handler(void) __attribute__((weak, alias("irq_handleDefault")));
96 int irq_m_uart1_handler(void) __attribute__((weak, alias("irq_handleDefault")));
97 int irq_m_uart2_handler(void) __attribute__((weak, alias("irq_handleDefault")));
98
102 int irq_m_spi0_handler(void) __attribute__((weak, alias("irq_handleDefault")));
103 int irq_m_spi1_handler(void) __attribute__((weak, alias("irq_handleDefault")));
104 int irq_m_spi2_handler(void) __attribute__((weak, alias("irq_handleDefault")));
105
109 int irq_m_i2c0_handler(void) __attribute__((weak, alias("irq_handleDefault")));
110 int irq_m_i2c1_handler(void) __attribute__((weak, alias("irq_handleDefault")));
111 int irq_m_i2c2_handler(void) __attribute__((weak, alias("irq_handleDefault")));
112 int irq_m_i2c3_handler(void) __attribute__((weak, alias("irq_handleDefault")));
113 int irq_m_i2c4_handler(void) __attribute__((weak, alias("irq_handleDefault")));
114
118 int irq_m_gpio0_0_handler(void) __attribute__((weak, alias("irq_handleDefault")));
119 int irq_m_gpio0_1_handler(void) __attribute__((weak, alias("irq_handleDefault")));
120 int irq_m_gpio1_0_handler(void) __attribute__((weak, alias("irq_handleDefault")));
121 int irq_m_gpio1_1_handler(void) __attribute__((weak, alias("irq_handleDefault")));
122
126 int irq_m_userTimer0_handler(void) __attribute__((weak, alias("irq_handleDefault")));
127 int irq_m_userTimer1_handler(void) __attribute__((weak, alias("irq_handleDefault")));
128 int irq_m_userTimer2_handler(void) __attribute__((weak, alias("irq_handleDefault")));
129 int irq_m_userTimer3_handler(void) __attribute__((weak, alias("irq_handleDefault")));
130 int irq_m_userTimer4_handler(void) __attribute__((weak, alias("irq_handleDefault")));
131
135 int irq_m_watchDog0_handler(void) __attribute__((weak, alias("irq_handleDefault")));
136 int irq_m_watchDog1_handler(void) __attribute__((weak, alias("irq_handleDefault")));
137
141 int irq_m_axiA_handler(void) __attribute__((weak, alias("irq_handleDefault")));
142
146 int irq_m_l2Cache_handler(void) __attribute__((weak, alias("irq_handleDefault")));
147
148/* ========================================================================== */
149/* FABRIC HANDLERS (Generic "User" Inputs) */
150/* ========================================================================== */
151
155 int irq_m_user_a_handler(void) __attribute__((weak, alias("irq_handleDefault")));
156 int irq_m_user_b_handler(void) __attribute__((weak, alias("irq_handleDefault")));
157 int irq_m_user_c_handler(void) __attribute__((weak, alias("irq_handleDefault")));
158 int irq_m_user_d_handler(void) __attribute__((weak, alias("irq_handleDefault")));
159 int irq_m_user_e_handler(void) __attribute__((weak, alias("irq_handleDefault")));
160 int irq_m_user_f_handler(void) __attribute__((weak, alias("irq_handleDefault")));
161 int irq_m_user_g_handler(void) __attribute__((weak, alias("irq_handleDefault")));
162 int irq_m_user_h_handler(void) __attribute__((weak, alias("irq_handleDefault")));
163 // End of ISR_Stub
165
166#ifdef __cplusplus
167}
168#endif
169
170#endif // IRQ_HANDLER_STUB_H
#define LOG_WARN(debug, fmt,...)
Definition debug.h:238
#define DBG_MOD_IRQ
Interrupt Controller.
Definition debug.h:103
int irq_m_gpio1_1_handler(void)
int irq_m_system_axi_a_handler(void)
int irq_handleDefault(void)
Default Fallback Interrupt Handler.
int irq_m_user_h_handler(void)
int irq_m_user_c_handler(void)
int irq_m_gpio0_0_handler(void)
GPIO (IDs 16-19).
int irq_m_watch_dog_handler(void)
int irq_m_spi1_handler(void)
int irq_m_user_f_handler(void)
int irq_m_gpio0_1_handler(void)
int irq_m_userTimer2_handler(void)
int irq_m_userTimer4_handler(void)
int irq_m_uart1_handler(void)
int irq_m_watchDog1_handler(void)
int irq_m_i2c3_handler(void)
int irq_m_invalid_handler(void)
System Interrupts.
int irq_m_l2Cache_handler(void)
L2 Cache Control (ID 31).
int irq_m_user_e_handler(void)
int irq_m_i2c0_handler(void)
I2C (IDs 11-15).
int irq_m_userTimer1_handler(void)
int irq_m_user_g_handler(void)
int irq_m_userTimer0_handler(void)
User Timer (IDs 21-25).
int irq_m_i2c1_handler(void)
int irq_m_uart0_handler(void)
UART (IDs 1-3) Meaning: Machine Mode UART 0 Handler.
int irq_m_i2c2_handler(void)
int irq_m_axiA_handler(void)
AXI A (ID 30).
int irq_m_gpio1_0_handler(void)
int irq_m_watchDog0_handler(void)
WatchDog Timer (IDs 26-27).
int irq_m_userTimer3_handler(void)
int irq_m_user_b_handler(void)
int irq_m_spi0_handler(void)
SPI (IDs 6-8).
int irq_m_uart2_handler(void)
int irq_m_spi2_handler(void)
int irq_m_user_d_handler(void)
int irq_m_i2c4_handler(void)
int irq_m_user_a_handler(void)
User Interrupts (IDs 32-39) /*.