Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
esp-esp32c6-intmux.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Espressif Systems (Shanghai) Co., Ltd.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_INTERRUPT_CONTROLLER_ESP32C6_INTMUX_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_INTERRUPT_CONTROLLER_ESP32C6_INTMUX_H_
9
10#define WIFI_MAC_INTR_SOURCE 0 /* interrupt of WiFi MAC, level*/
11#define WIFI_MAC_NMI_SOURCE 1 /* interrupt of WiFi MAC, NMI*/
12#define WIFI_PWR_INTR_SOURCE 2
13#define WIFI_BB_INTR_SOURCE 3 /* interrupt of WiFi BB, level*/
14#define BT_MAC_INTR_SOURCE 4 /* will be cancelled*/
15#define BT_BB_INTR_SOURCE 5 /* interrupt of BT BB, level*/
16#define BT_BB_NMI_SOURCE 6 /* interrupt of BT BB, NMI*/
17#define LP_TIMER_INTR_SOURCE 7
18#define COEX_INTR_SOURCE 8
19#define BLE_TIMER_INTR_SOURCE 9
20#define BLE_SEC_INTR_SOURCE 10
21#define I2C_MASTER_SOURCE 11 /* interrupt of I2C Master, level*/
22#define ZB_MAC_SOURCE 12
23#define PMU_INTR_SOURCE 13
24#define EFUSE_INTR_SOURCE 14 /* interrupt of efuse, level, not likely to use*/
25#define LP_RTC_TIMER_INTR_SOURCE 15
26#define LP_UART_INTR_SOURCE 16
27#define LP_I2C_INTR_SOURCE 17
28#define LP_WDT_INTR_SOURCE 18
29#define LP_PERI_TIMEOUT_INTR_SOURCE 19
30#define LP_APM_M0_INTR_SOURCE 20
31#define LP_APM_M1_INTR_SOURCE 21
32#define FROM_CPU_INTR0_SOURCE 22 /* interrupt0 generated from a CPU, level*/
33#define FROM_CPU_INTR1_SOURCE 23 /* interrupt1 generated from a CPU, level*/
34#define FROM_CPU_INTR2_SOURCE 24 /* interrupt2 generated from a CPU, level*/
35#define FROM_CPU_INTR3_SOURCE 25 /* interrupt3 generated from a CPU, level*/
36#define ASSIST_DEBUG_INTR_SOURCE 26 /* interrupt of Assist debug module, LEVEL*/
37#define TRACE_INTR_SOURCE 27
38#define CACHE_INTR_SOURCE 28
39#define CPU_PERI_TIMEOUT_INTR_SOURCE 29
40#define GPIO_INTR_SOURCE 30 /* interrupt of GPIO, level*/
41#define GPIO_NMI_SOURCE 31 /* interrupt of GPIO, NMI*/
42#define PAU_INTR_SOURCE 32
43#define HP_PERI_TIMEOUT_INTR_SOURCE 33
44#define MODEM_PERI_TIMEOUT_INTR_SOURCE 34
45#define HP_APM_M0_INTR_SOURCE 35
46#define HP_APM_M1_INTR_SOURCE 36
47#define HP_APM_M2_INTR_SOURCE 37
48#define HP_APM_M3_INTR_SOURCE 38
49#define LP_APM0_INTR_SOURCE 39
50#define MSPI_INTR_SOURCE 40
51#define I2S1_INTR_SOURCE 41 /* interrupt of I2S1, level*/
52#define UHCI0_INTR_SOURCE 42 /* interrupt of UHCI0, level*/
53#define UART0_INTR_SOURCE 43 /* interrupt of UART0, level*/
54#define UART1_INTR_SOURCE 44 /* interrupt of UART1, level*/
55#define LEDC_INTR_SOURCE 45 /* interrupt of LED PWM, level*/
56#define TWAI0_INTR_SOURCE 46 /* interrupt of can0, level*/
57#define TWAI1_INTR_SOURCE 47 /* interrupt of can1, level*/
58#define USB_SERIAL_JTAG_INTR_SOURCE 48 /* interrupt of USB, level*/
59#define RMT_INTR_SOURCE 49 /* interrupt of remote controller, level*/
60#define I2C_EXT0_INTR_SOURCE 50 /* interrupt of I2C controller1, level*/
61#define TG0_T0_LEVEL_INTR_SOURCE 51 /* interrupt of TIMER_GROUP0, TIMER0, level*/
62#define TG0_T1_LEVEL_INTR_SOURCE 52 /* interrupt of TIMER_GROUP0, TIMER1, level*/
63#define TG0_WDT_LEVEL_INTR_SOURCE 53 /* interrupt of TIMER_GROUP0, WATCH DOG, level*/
64#define TG1_T0_LEVEL_INTR_SOURCE 54 /* interrupt of TIMER_GROUP1, TIMER0, level*/
65#define TG1_T1_LEVEL_INTR_SOURCE 55 /* interrupt of TIMER_GROUP1, TIMER1, level*/
66#define TG1_WDT_LEVEL_INTR_SOURCE 56 /* interrupt of TIMER_GROUP1, WATCHDOG, level*/
67#define SYSTIMER_TARGET0_EDGE_INTR_SOURCE 57 /* interrupt of system timer 0, EDGE*/
68#define SYSTIMER_TARGET1_EDGE_INTR_SOURCE 58 /* interrupt of system timer 1, EDGE*/
69#define SYSTIMER_TARGET2_EDGE_INTR_SOURCE 59 /* interrupt of system timer 2, EDGE*/
70#define APB_ADC_INTR_SOURCE 60 /* interrupt of APB ADC, LEVEL*/
71#define MCPWM0_INTR_SOURCE 61 /* interrupt of MCPWM0, LEVEL*/
72#define PCNT_INTR_SOURCE 62
73#define PARL_IO_INTR_SOURCE 63
74#define SLC0_INTR_SOURCE 64
75#define SLC_INTR_SOURCE 65
76#define DMA_IN_CH0_INTR_SOURCE 66 /* interrupt of general DMA IN channel 0, LEVEL*/
77#define DMA_IN_CH1_INTR_SOURCE 67 /* interrupt of general DMA IN channel 1, LEVEL*/
78#define DMA_IN_CH2_INTR_SOURCE 68 /* interrupt of general DMA IN channel 2, LEVEL*/
79#define DMA_OUT_CH0_INTR_SOURCE 69 /* interrupt of general DMA OUT channel 0, LEVEL*/
80#define DMA_OUT_CH1_INTR_SOURCE 70 /* interrupt of general DMA OUT channel 1, LEVEL*/
81#define DMA_OUT_CH2_INTR_SOURCE 71 /* interrupt of general DMA OUT channel 2, LEVEL*/
82#define GSPI2_INTR_SOURCE 72
83#define AES_INTR_SOURCE 73 /* interrupt of AES accelerator, level*/
84#define SHA_INTR_SOURCE 74 /* interrupt of SHA accelerator, level*/
85#define RSA_INTR_SOURCE 75 /* interrupt of RSA accelerator, level*/
86#define ECC_INTR_SOURCE 76 /* interrupt of ECC accelerator, level*/
87#define MAX_INTR_SOURCE 77
88
89/* RISC-V supports priority values from 1 (lowest) to 15.
90 * As interrupt controller for Xtensa and RISC-V is shared, this is
91 * set to an intermediate and compatible value.
92 */
93#define IRQ_DEFAULT_PRIORITY 3
94
95#define ESP_INTR_FLAG_SHARED (1<<8) /* Interrupt can be shared between ISRs */
96
97#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_INTERRUPT_CONTROLLER_ESP32C6_INTMUX_H_ */