irq_arch.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2018 Gunar Schorcht
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
20 #include "irq_arch_common.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
36 /* On Xtensa-based ESP32x SoCs, interrupt 0 is reserved for the WiFi interface
37  * and interrupt 1 is available. However, since interrupt 0 is not available on
38  * RISC-V-based ESP32x SoCs, interrupt 1 is used for the WiFi interface instead.
39  * Therefore, we use interrupt 1 for the RMT peripheral on Xtensa-based ESP32x
40  * SoCs, but we use interrupt 11 for the RMT peripheral on RISC-V-based ESP32x
41  * SoCs. Interrupt 11 is reserved for profiling on Xtensa-based ESP32x SoCs. */
42 #if defined(__XTENSA__)
43 # define CPU_INUM_RMT 1
44 #else
45 # define CPU_INUM_RMT 11
46 #endif
47 #define CPU_INUM_GPIO 2
48 #define CPU_INUM_BLE 5
49 #define CPU_INUM_BT_MAC 8
50 #define CPU_INUM_RTT 9
51 #define CPU_INUM_SERIAL_JTAG 10
52 #define CPU_INUM_I2C 12
53 #define CPU_INUM_UART 13
54 #define CPU_INUM_CAN 17
55 #define CPU_INUM_ETH 18
56 #define CPU_INUM_USB 18
57 #define CPU_INUM_LCDCAM 19
58 #define CPU_INUM_FRC2 20
59 #define CPU_INUM_SYSTIMER 20
60 #define CPU_INUM_SDMMC 21
61 #define CPU_INUM_TIMER 22
62 #define CPU_INUM_WDT 23
63 #define CPU_INUM_ZMAC 27
64 #define CPU_INUM_SOFTWARE 29
70 void esp_irq_init(void);
71 
72 #ifdef __cplusplus
73 }
74 #endif
void esp_irq_init(void)
Initialize architecture specific interrupt handling.
Implementation of the kernels irq interface.