Skip to content

Commit 78832ab

Browse files
Raffael Rostagnonashif
authored andcommitted
drivers: intc: esp32c2: Added support
Added support for ESP32C2 and ESP8684 Signed-off-by: Raffael Rostagno <[email protected]>
1 parent 782ccf2 commit 78832ab

File tree

5 files changed

+213
-3
lines changed

5 files changed

+213
-3
lines changed

drivers/interrupt_controller/Kconfig.esp32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ config INTC_ESP32
77
bool "Interrupt allocator for Xtensa-based Espressif SoCs"
88
default y
99
depends on SOC_FAMILY_ESPRESSIF_ESP32
10-
depends on !SOC_SERIES_ESP32C3 && !SOC_SERIES_ESP32C6
10+
depends on !SOC_SERIES_ESP32C2 && !SOC_SERIES_ESP32C3 && !SOC_SERIES_ESP32C6
1111
help
1212
Enable custom interrupt allocator for Espressif SoCs based on Xtensa
1313
architecture.

drivers/interrupt_controller/Kconfig.esp32c3

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
config INTC_ESP32C3
55
bool "ESP32C3 interrupt controller driver"
66
depends on SOC_FAMILY_ESPRESSIF_ESP32
7-
depends on SOC_SERIES_ESP32C3 || SOC_SERIES_ESP32C6
7+
depends on SOC_SERIES_ESP32C2 || SOC_SERIES_ESP32C3 || SOC_SERIES_ESP32C6
88
default y
99
help
1010
Enables the esp32c3 interrupt controller driver to handle ISR

drivers/interrupt_controller/intc_esp32c3.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ static uint8_t esp_intr_irq_alloc[ESP32C6_INTC_AVAILABLE_IRQS][ESP32C6_INTC_SRCS
6868

6969
static uint32_t esp_intr_enabled_mask[STATUS_MASK_NUM] = {0, 0, 0};
7070

71-
#if defined(CONFIG_SOC_SERIES_ESP32C3)
71+
#if defined(CONFIG_SOC_SERIES_ESP32C2) || defined(CONFIG_SOC_SERIES_ESP32C3)
7272

7373
static uint32_t esp_intr_find_irq_for_source(uint32_t source)
7474
{
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/*
2+
* Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_INTERRUPT_CONTROLLER_ESP32C2_INTMUX_H_
8+
#define ZEPHYR_INCLUDE_DT_BINDINGS_INTERRUPT_CONTROLLER_ESP32C2_INTMUX_H_
9+
10+
#define WIFI_MAC_INTR_SOURCE 0
11+
#define WIFI_MAC_NMI_SOURCE 1
12+
#define WIFI_PWR_INTR_SOURCE 2
13+
#define WIFI_BB_INTR_SOURCE 3
14+
#define BT_MAC_INTR_SOURCE 4
15+
#define BT_BB_INTR_SOURCE 5
16+
#define BT_BB_NMI_SOURCE 6
17+
#define LP_TIMER_SOURCE 7
18+
#define COEX_SOURCE 8
19+
#define BLE_TIMER_SOURCE 9
20+
#define BLE_SEC_SOURCE 10
21+
#define I2C_MASTER_SOURCE 11
22+
#define APB_CTRL_INTR_SOURCE 12
23+
#define GPIO_INTR_SOURCE 13
24+
#define GPIO_NMI_SOURCE 14
25+
#define SPI1_INTR_SOURCE 15
26+
#define SPI2_INTR_SOURCE 16
27+
#define UART0_INTR_SOURCE 17
28+
#define UART1_INTR_SOURCE 18
29+
#define LEDC_INTR_SOURCE 19
30+
#define EFUSE_INTR_SOURCE 20
31+
#define RTC_CORE_INTR_SOURCE 21
32+
#define I2C_EXT0_INTR_SOURCE 22
33+
#define TG0_T0_LEVEL_INTR_SOURCE 23
34+
#define TG0_WDT_LEVEL_INTR_SOURCE 24
35+
#define CACHE_IA_INTR_SOURCE 25
36+
#define SYSTIMER_TARGET0_EDGE_INTR_SOURCE 26
37+
#define SYSTIMER_TARGET1_EDGE_INTR_SOURCE 27
38+
#define SYSTIMER_TARGET2_EDGE_INTR_SOURCE 28
39+
#define SPI_MEM_REJECT_CACHE_INTR_SOURCE 29
40+
#define ICACHE_PRELOAD0_INTR_SOURCE 30
41+
#define ICACHE_SYNC0_INTR_SOURCE 31
42+
#define APB_ADC_INTR_SOURCE 32
43+
#define DMA_CH0_INTR_SOURCE 33
44+
#define SHA_INTR_SOURCE 34
45+
#define ECC_INTR_SOURCE 35
46+
#define FROM_CPU_INTR0_SOURCE 36
47+
#define FROM_CPU_INTR1_SOURCE 37
48+
#define FROM_CPU_INTR2_SOURCE 38
49+
#define FROM_CPU_INTR3_SOURCE 39
50+
#define ASSIST_DEBUG_INTR_SOURCE 40
51+
#define CORE0_PIF_PMS_SIZE_INTR_SOURCE 41
52+
#define CACHE_CORE0_ACS_INTR_SOURCE 42
53+
54+
#endif
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
/*
2+
* Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP32C2_GPIO_SIGMAP_H_
8+
#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP32C2_GPIO_SIGMAP_H_
9+
10+
#define ESP_NOSIG ESP_SIG_INVAL
11+
12+
#define ESP_SPICLK_OUT_MUX ESP_SPICLK_OUT
13+
#define ESP_SPIQ_IN 0
14+
#define ESP_SPIQ_OUT 0
15+
#define ESP_SPID_IN 1
16+
#define ESP_SPID_OUT 1
17+
#define ESP_SPIHD_IN 2
18+
#define ESP_SPIHD_OUT 2
19+
#define ESP_SPIWP_IN 3
20+
#define ESP_SPIWP_OUT 3
21+
#define ESP_SPICLK_OUT 4
22+
#define ESP_SPICS0_OUT 5
23+
#define ESP_U0RXD_IN 6
24+
#define ESP_U0TXD_OUT 6
25+
#define ESP_U0CTS_IN 7
26+
#define ESP_U0RTS_OUT 7
27+
#define ESP_U0DSR_IN 8
28+
#define ESP_U0DTR_OUT 8
29+
#define ESP_U1RXD_IN 9
30+
#define ESP_U1TXD_OUT 9
31+
#define ESP_U1CTS_IN 10
32+
#define ESP_U1RTS_OUT 10
33+
#define ESP_U1DSR_IN 11
34+
#define ESP_U1DTR_OUT 11
35+
#define ESP_SPIQ_MONITOR 15
36+
#define ESP_SPID_MONITOR 16
37+
#define ESP_SPIHD_MONITOR 17
38+
#define ESP_SPIWP_MONITOR 18
39+
#define ESP_SPICS1_OUT 19
40+
#define ESP_CPU_TESTBUS0 20
41+
#define ESP_CPU_TESTBUS1 21
42+
#define ESP_CPU_TESTBUS2 22
43+
#define ESP_CPU_TESTBUS3 23
44+
#define ESP_CPU_TESTBUS4 24
45+
#define ESP_CPU_TESTBUS5 25
46+
#define ESP_CPU_TESTBUS6 26
47+
#define ESP_CPU_TESTBUS7 27
48+
#define ESP_CPU_GPIO_IN0 28
49+
#define ESP_CPU_GPIO_OUT0 28
50+
#define ESP_CPU_GPIO_IN1 29
51+
#define ESP_CPU_GPIO_OUT1 29
52+
#define ESP_CPU_GPIO_IN2 30
53+
#define ESP_CPU_GPIO_OUT2 30
54+
#define ESP_CPU_GPIO_IN3 31
55+
#define ESP_CPU_GPIO_OUT3 31
56+
#define ESP_CPU_GPIO_IN4 32
57+
#define ESP_CPU_GPIO_OUT4 32
58+
#define ESP_CPU_GPIO_IN5 33
59+
#define ESP_CPU_GPIO_OUT5 33
60+
#define ESP_CPU_GPIO_IN6 34
61+
#define ESP_CPU_GPIO_OUT6 34
62+
#define ESP_CPU_GPIO_IN7 35
63+
#define ESP_CPU_GPIO_OUT7 35
64+
#define ESP_EXT_ADC_START 45
65+
#define ESP_LEDC_LS_SIG_OUT0 45
66+
#define ESP_LEDC_LS_SIG_OUT1 46
67+
#define ESP_LEDC_LS_SIG_OUT2 47
68+
#define ESP_LEDC_LS_SIG_OUT3 48
69+
#define ESP_LEDC_LS_SIG_OUT4 49
70+
#define ESP_LEDC_LS_SIG_OUT5 50
71+
#define ESP_RMT_SIG_IN0 51
72+
#define ESP_RMT_SIG_OUT0 51
73+
#define ESP_RMT_SIG_IN1 52
74+
#define ESP_RMT_SIG_OUT1 52
75+
#define ESP_I2CEXT0_SCL_IN 53
76+
#define ESP_I2CEXT0_SCL_OUT 53
77+
#define ESP_I2CEXT0_SDA_IN 54
78+
#define ESP_I2CEXT0_SDA_OUT 54
79+
#define ESP_FSPICLK_IN 63
80+
#define ESP_FSPICLK_OUT 63
81+
#define ESP_FSPIQ_IN 64
82+
#define ESP_FSPIQ_OUT 64
83+
#define ESP_FSPID_IN 65
84+
#define ESP_FSPID_OUT 65
85+
#define ESP_FSPIHD_IN 66
86+
#define ESP_FSPIHD_OUT 66
87+
#define ESP_FSPIWP_IN 67
88+
#define ESP_FSPIWP_OUT 67
89+
#define ESP_FSPICS0_IN 68
90+
#define ESP_FSPICS0_OUT 68
91+
#define ESP_FSPICS1_OUT 69
92+
#define ESP_FSPICS2_OUT 70
93+
#define ESP_FSPICS3_OUT 71
94+
#define ESP_FSPICS4_OUT 72
95+
#define ESP_FSPICS5_OUT 73
96+
#define ESP_EXTERN_PRIORITY_I 77
97+
#define ESP_EXTERN_PRIORITY_O 77
98+
#define ESP_EXTERN_ACTIVE_I 78
99+
#define ESP_EXTERN_ACTIVE_O 78
100+
#define ESP_GPIO_EVENT_MATRIX_IN0 79
101+
#define ESP_GPIO_TASK_MATRIX_OUT0 79
102+
#define ESP_GPIO_EVENT_MATRIX_IN1 80
103+
#define ESP_GPIO_TASK_MATRIX_OUT1 80
104+
#define ESP_GPIO_EVENT_MATRIX_IN2 81
105+
#define ESP_GPIO_TASK_MATRIX_OUT2 81
106+
#define ESP_GPIO_EVENT_MATRIX_IN3 82
107+
#define ESP_GPIO_TASK_MATRIX_OUT3 82
108+
#define ESP_BB_DIAG8_OUT 83
109+
#define ESP_BB_DIAG9_OUT 84
110+
#define ESP_BB_DIAG10_OUT 85
111+
#define ESP_BB_DIAG11_OUT 86
112+
#define ESP_BB_DIAG12_OUT 87
113+
#define ESP_BB_DIAG13_OUT 88
114+
#define ESP_ANT_SEL0 89
115+
#define ESP_ANT_SEL1 90
116+
#define ESP_ANT_SEL2 91
117+
#define ESP_ANT_SEL3 92
118+
#define ESP_ANT_SEL4 93
119+
#define ESP_ANT_SEL5 94
120+
#define ESP_ANT_SEL6 95
121+
#define ESP_ANT_SEL7 96
122+
#define ESP_SIG_IN_FUNC_97 97
123+
#define ESP_SIG_IN_FUNC97 97
124+
#define ESP_SIG_IN_FUNC_98 98
125+
#define ESP_SIG_IN_FUNC98 98
126+
#define ESP_SIG_IN_FUNC_99 99
127+
#define ESP_SIG_IN_FUNC99 99
128+
#define ESP_SIG_IN_FUNC_100 100
129+
#define ESP_SIG_IN_FUNC100 100
130+
#define ESP_BLE_DBG_SYNCERR 101
131+
#define ESP_BLE_DBG_SYNC_FOUND 102
132+
#define ESP_BLE_DBG_CH_IDX 103
133+
#define ESP_BLE_DBG_SYNC_WINDOW 104
134+
#define ESP_BLE_DBG_DATA_EN 105
135+
#define ESP_BLE_DBG_DATA 106
136+
#define ESP_BLE_DBG_PKT_TX_ON 107
137+
#define ESP_BLE_DBG_PKT_RX_ON 108
138+
#define ESP_BLE_DBG_TXRU_ON 109
139+
#define ESP_BLE_DBG_RXRU_ON 110
140+
#define ESP_BLE_DBG_LELC_ST0 111
141+
#define ESP_BLE_DBG_LELC_ST1 112
142+
#define ESP_BLE_DBG_LELC_ST2 113
143+
#define ESP_BLE_DBG_LELC_ST3 114
144+
#define ESP_BLE_DBG_CRCOK 115
145+
#define ESP_BLE_DBG_CLK_GPIO 116
146+
#define ESP_BLE_DBG_RADIO_START 117
147+
#define ESP_BLE_DBG_SEQUENCE_ON 118
148+
#define ESP_BLE_DBG_COEX_BT_ON 119
149+
#define ESP_BLE_DBG_COEX_WIFI_ON 120
150+
#define ESP_CLK_OUT_OUT1 123
151+
#define ESP_CLK_OUT_OUT2 124
152+
#define ESP_CLK_OUT_OUT3 125
153+
#define ESP_SIG_GPIO_OUT 128
154+
#define ESP_GPIO_MAP_DATE 0x2106190
155+
156+
#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP32C2_GPIO_SIGMAP_H_ */

0 commit comments

Comments
 (0)