mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-01 15:41:41 +01:00
fix(esp32c5): add CLIC interrupt controller support for the ESP32-C5
This commit is contained in:
@@ -1,12 +1,11 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "soc/soc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -395,34 +394,22 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_REG register
|
||||
* GPIO_INTERRUPT_PRO_NMI mapping register
|
||||
/** INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP_REG register
|
||||
* GPIO_INTERRUPT_EXT mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x80)
|
||||
/** INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x80)
|
||||
/** INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_M (INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_V << INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_S)
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP_REG register
|
||||
* GPIO_INTERRUPT_SD mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x84)
|
||||
/** INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP_M (INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP_V << INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP_S)
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_SD_MAP_S 0
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP_M (INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP_V << INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP_S)
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_GPIO_INTERRUPT_EXT_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_PAU_INTR_MAP_REG register
|
||||
* PAU_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_PAU_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x88)
|
||||
#define INTERRUPT_CORE0_PAU_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x84)
|
||||
/** INTERRUPT_CORE0_PAU_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -434,7 +421,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_HP_PERI_TIMEOUT_INTR_MAP_REG register
|
||||
* HP_PERI_TIMEOUT_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_HP_PERI_TIMEOUT_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x8c)
|
||||
#define INTERRUPT_CORE0_HP_PERI_TIMEOUT_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x88)
|
||||
/** INTERRUPT_CORE0_HP_PERI_TIMEOUT_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -446,7 +433,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_MODEM_PERI_TIMEOUT_INTR_MAP_REG register
|
||||
* MODEM_PERI_TIMEOUT_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_MODEM_PERI_TIMEOUT_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x90)
|
||||
#define INTERRUPT_CORE0_MODEM_PERI_TIMEOUT_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x8c)
|
||||
/** INTERRUPT_CORE0_MODEM_PERI_TIMEOUT_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -458,7 +445,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_HP_APM_M0_INTR_MAP_REG register
|
||||
* HP_APM_M0_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_HP_APM_M0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x94)
|
||||
#define INTERRUPT_CORE0_HP_APM_M0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x90)
|
||||
/** INTERRUPT_CORE0_HP_APM_M0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -470,7 +457,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_HP_APM_M1_INTR_MAP_REG register
|
||||
* HP_APM_M1_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_HP_APM_M1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x98)
|
||||
#define INTERRUPT_CORE0_HP_APM_M1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x94)
|
||||
/** INTERRUPT_CORE0_HP_APM_M1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -482,7 +469,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_HP_APM_M2_INTR_MAP_REG register
|
||||
* HP_APM_M2_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_HP_APM_M2_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x9c)
|
||||
#define INTERRUPT_CORE0_HP_APM_M2_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x98)
|
||||
/** INTERRUPT_CORE0_HP_APM_M2_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -494,7 +481,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_HP_APM_M3_INTR_MAP_REG register
|
||||
* HP_APM_M3_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_HP_APM_M3_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xa0)
|
||||
#define INTERRUPT_CORE0_HP_APM_M3_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x9c)
|
||||
/** INTERRUPT_CORE0_HP_APM_M3_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -503,6 +490,18 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_HP_APM_M3_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_HP_APM_M3_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_HP_APM_M4_INTR_MAP_REG register
|
||||
* HP_APM_M4_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_HP_APM_M4_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xa0)
|
||||
/** INTERRUPT_CORE0_HP_APM_M4_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_HP_APM_M4_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_HP_APM_M4_INTR_MAP_M (INTERRUPT_CORE0_HP_APM_M4_INTR_MAP_V << INTERRUPT_CORE0_HP_APM_M4_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_HP_APM_M4_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_HP_APM_M4_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_LP_APM0_INTR_MAP_REG register
|
||||
* LP_APM0_INTR mapping register
|
||||
*/
|
||||
@@ -527,17 +526,17 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_MSPI_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_MSPI_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_I2S1_INTR_MAP_REG register
|
||||
* I2S1_INTR mapping register
|
||||
/** INTERRUPT_CORE0_I2S_INTR_MAP_REG register
|
||||
* I2S_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_I2S1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xac)
|
||||
/** INTERRUPT_CORE0_I2S1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
#define INTERRUPT_CORE0_I2S_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xac)
|
||||
/** INTERRUPT_CORE0_I2S_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_I2S1_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_I2S1_INTR_MAP_M (INTERRUPT_CORE0_I2S1_INTR_MAP_V << INTERRUPT_CORE0_I2S1_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_I2S1_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_I2S1_INTR_MAP_S 0
|
||||
#define INTERRUPT_CORE0_I2S_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_I2S_INTR_MAP_M (INTERRUPT_CORE0_I2S_INTR_MAP_V << INTERRUPT_CORE0_I2S_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_I2S_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_I2S_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_UHCI0_INTR_MAP_REG register
|
||||
* UHCI0_INTR mapping register
|
||||
@@ -587,46 +586,70 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_LEDC_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_LEDC_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_CAN0_INTR_MAP_REG register
|
||||
* CAN0_INTR mapping register
|
||||
/** INTERRUPT_CORE0_TWAI0_INTR_MAP_REG register
|
||||
* TWAI0_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_CAN0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xc0)
|
||||
/** INTERRUPT_CORE0_CAN0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
#define INTERRUPT_CORE0_TWAI0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xc0)
|
||||
/** INTERRUPT_CORE0_TWAI0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_CAN0_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_CAN0_INTR_MAP_M (INTERRUPT_CORE0_CAN0_INTR_MAP_V << INTERRUPT_CORE0_CAN0_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_CAN0_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_CAN0_INTR_MAP_S 0
|
||||
#define INTERRUPT_CORE0_TWAI0_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TWAI0_INTR_MAP_M (INTERRUPT_CORE0_TWAI0_INTR_MAP_V << INTERRUPT_CORE0_TWAI0_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_TWAI0_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TWAI0_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_CAN1_INTR_MAP_REG register
|
||||
* CAN1_INTR mapping register
|
||||
/** INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP_REG register
|
||||
* TWAI0_TIMER_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_CAN1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xc4)
|
||||
/** INTERRUPT_CORE0_CAN1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
#define INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xc4)
|
||||
/** INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_CAN1_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_CAN1_INTR_MAP_M (INTERRUPT_CORE0_CAN1_INTR_MAP_V << INTERRUPT_CORE0_CAN1_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_CAN1_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_CAN1_INTR_MAP_S 0
|
||||
#define INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP_M (INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP_V << INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TWAI0_TIMER_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_USB_INTR_MAP_REG register
|
||||
* USB_INTR mapping register
|
||||
/** INTERRUPT_CORE0_TWAI1_INTR_MAP_REG register
|
||||
* TWAI1_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xc8)
|
||||
/** INTERRUPT_CORE0_USB_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
#define INTERRUPT_CORE0_TWAI1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xc8)
|
||||
/** INTERRUPT_CORE0_TWAI1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP_M (INTERRUPT_CORE0_USB_INTR_MAP_V << INTERRUPT_CORE0_USB_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP_S 0
|
||||
#define INTERRUPT_CORE0_TWAI1_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TWAI1_INTR_MAP_M (INTERRUPT_CORE0_TWAI1_INTR_MAP_V << INTERRUPT_CORE0_TWAI1_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_TWAI1_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TWAI1_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP_REG register
|
||||
* TWAI1_TIMER_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xcc)
|
||||
/** INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP_M (INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP_V << INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TWAI1_TIMER_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP_REG register
|
||||
* USB_SERIAL_JTAG_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xd0)
|
||||
/** INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP_M (INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP_V << INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_SERIAL_JTAG_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_RMT_INTR_MAP_REG register
|
||||
* RMT_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_RMT_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xcc)
|
||||
#define INTERRUPT_CORE0_RMT_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xd4)
|
||||
/** INTERRUPT_CORE0_RMT_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -638,7 +661,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_I2C_EXT0_INTR_MAP_REG register
|
||||
* I2C_EXT0_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_I2C_EXT0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xd0)
|
||||
#define INTERRUPT_CORE0_I2C_EXT0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xd8)
|
||||
/** INTERRUPT_CORE0_I2C_EXT0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -650,7 +673,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_TG0_T0_INTR_MAP_REG register
|
||||
* TG0_T0_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TG0_T0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xd4)
|
||||
#define INTERRUPT_CORE0_TG0_T0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xdc)
|
||||
/** INTERRUPT_CORE0_TG0_T0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -659,22 +682,10 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_TG0_T0_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TG0_T0_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_TG0_T1_INTR_MAP_REG register
|
||||
* TG0_T1_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TG0_T1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xd8)
|
||||
/** INTERRUPT_CORE0_TG0_T1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TG0_T1_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TG0_T1_INTR_MAP_M (INTERRUPT_CORE0_TG0_T1_INTR_MAP_V << INTERRUPT_CORE0_TG0_T1_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_TG0_T1_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TG0_T1_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_TG0_WDT_INTR_MAP_REG register
|
||||
* TG0_WDT_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TG0_WDT_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xdc)
|
||||
#define INTERRUPT_CORE0_TG0_WDT_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xe0)
|
||||
/** INTERRUPT_CORE0_TG0_WDT_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -686,7 +697,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_TG1_T0_INTR_MAP_REG register
|
||||
* TG1_T0_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TG1_T0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xe0)
|
||||
#define INTERRUPT_CORE0_TG1_T0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xe4)
|
||||
/** INTERRUPT_CORE0_TG1_T0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -695,18 +706,6 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_TG1_T0_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TG1_T0_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_TG1_T1_INTR_MAP_REG register
|
||||
* TG1_T1_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TG1_T1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0xe4)
|
||||
/** INTERRUPT_CORE0_TG1_T1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_TG1_T1_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TG1_T1_INTR_MAP_M (INTERRUPT_CORE0_TG1_T1_INTR_MAP_V << INTERRUPT_CORE0_TG1_T1_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_TG1_T1_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_TG1_T1_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_TG1_WDT_INTR_MAP_REG register
|
||||
* TG1_WDT_INTR mapping register
|
||||
*/
|
||||
@@ -815,70 +814,10 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_PARL_IO_RX_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_PARL_IO_RX_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_SLC0_INTR_MAP_REG register
|
||||
* SLC0_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_SLC0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x10c)
|
||||
/** INTERRUPT_CORE0_SLC0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_SLC0_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_SLC0_INTR_MAP_M (INTERRUPT_CORE0_SLC0_INTR_MAP_V << INTERRUPT_CORE0_SLC0_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_SLC0_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_SLC0_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_SLC1_INTR_MAP_REG register
|
||||
* SLC1_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_SLC1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x110)
|
||||
/** INTERRUPT_CORE0_SLC1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_SLC1_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_SLC1_INTR_MAP_M (INTERRUPT_CORE0_SLC1_INTR_MAP_V << INTERRUPT_CORE0_SLC1_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_SLC1_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_SLC1_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_USB_OTG20_INTR_MAP_REG register
|
||||
* USB_OTG20_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_OTG20_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x114)
|
||||
/** INTERRUPT_CORE0_USB_OTG20_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_OTG20_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_OTG20_INTR_MAP_M (INTERRUPT_CORE0_USB_OTG20_INTR_MAP_V << INTERRUPT_CORE0_USB_OTG20_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_USB_OTG20_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_OTG20_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP_REG register
|
||||
* USB_OTG20_MULTI_PROC_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x118)
|
||||
/** INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP_M (INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP_V << INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MULTI_PROC_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP_REG register
|
||||
* USB_OTG20_MISC_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x11c)
|
||||
/** INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP_M (INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP_V << INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_USB_OTG20_MISC_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_DMA_IN_CH0_INTR_MAP_REG register
|
||||
* DMA_IN_CH0_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_DMA_IN_CH0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x120)
|
||||
#define INTERRUPT_CORE0_DMA_IN_CH0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x10c)
|
||||
/** INTERRUPT_CORE0_DMA_IN_CH0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -890,7 +829,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_DMA_IN_CH1_INTR_MAP_REG register
|
||||
* DMA_IN_CH1_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_DMA_IN_CH1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x124)
|
||||
#define INTERRUPT_CORE0_DMA_IN_CH1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x110)
|
||||
/** INTERRUPT_CORE0_DMA_IN_CH1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -902,7 +841,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_DMA_IN_CH2_INTR_MAP_REG register
|
||||
* DMA_IN_CH2_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_DMA_IN_CH2_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x128)
|
||||
#define INTERRUPT_CORE0_DMA_IN_CH2_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x114)
|
||||
/** INTERRUPT_CORE0_DMA_IN_CH2_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -914,7 +853,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_DMA_OUT_CH0_INTR_MAP_REG register
|
||||
* DMA_OUT_CH0_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_DMA_OUT_CH0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x12c)
|
||||
#define INTERRUPT_CORE0_DMA_OUT_CH0_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x118)
|
||||
/** INTERRUPT_CORE0_DMA_OUT_CH0_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -926,7 +865,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_DMA_OUT_CH1_INTR_MAP_REG register
|
||||
* DMA_OUT_CH1_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_DMA_OUT_CH1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x130)
|
||||
#define INTERRUPT_CORE0_DMA_OUT_CH1_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x11c)
|
||||
/** INTERRUPT_CORE0_DMA_OUT_CH1_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -938,7 +877,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_DMA_OUT_CH2_INTR_MAP_REG register
|
||||
* DMA_OUT_CH2_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_DMA_OUT_CH2_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x134)
|
||||
#define INTERRUPT_CORE0_DMA_OUT_CH2_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x120)
|
||||
/** INTERRUPT_CORE0_DMA_OUT_CH2_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -950,7 +889,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_GPSPI2_INTR_MAP_REG register
|
||||
* GPSPI2_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_GPSPI2_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x138)
|
||||
#define INTERRUPT_CORE0_GPSPI2_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x124)
|
||||
/** INTERRUPT_CORE0_GPSPI2_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -962,7 +901,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_AES_INTR_MAP_REG register
|
||||
* AES_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_AES_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x13c)
|
||||
#define INTERRUPT_CORE0_AES_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x128)
|
||||
/** INTERRUPT_CORE0_AES_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -974,7 +913,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_SHA_INTR_MAP_REG register
|
||||
* SHA_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_SHA_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x140)
|
||||
#define INTERRUPT_CORE0_SHA_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x12c)
|
||||
/** INTERRUPT_CORE0_SHA_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -986,7 +925,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_RSA_INTR_MAP_REG register
|
||||
* RSA_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_RSA_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x144)
|
||||
#define INTERRUPT_CORE0_RSA_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x130)
|
||||
/** INTERRUPT_CORE0_RSA_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -998,7 +937,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_ECC_INTR_MAP_REG register
|
||||
* ECC_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_ECC_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x148)
|
||||
#define INTERRUPT_CORE0_ECC_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x134)
|
||||
/** INTERRUPT_CORE0_ECC_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -1010,7 +949,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_ECDSA_INTR_MAP_REG register
|
||||
* ECDSA_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_ECDSA_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x14c)
|
||||
#define INTERRUPT_CORE0_ECDSA_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x138)
|
||||
/** INTERRUPT_CORE0_ECDSA_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -1022,7 +961,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_KM_INTR_MAP_REG register
|
||||
* KM_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_KM_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x150)
|
||||
#define INTERRUPT_CORE0_KM_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x13c)
|
||||
/** INTERRUPT_CORE0_KM_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
@@ -1031,10 +970,10 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_KM_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_KM_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_INT_STATUS_REG_0_REG register
|
||||
/** INTERRUPT_CORE0_INT_STATUS_0_REG register
|
||||
* Status register for interrupt sources 0 ~ 31
|
||||
*/
|
||||
#define INTERRUPT_CORE0_INT_STATUS_REG_0_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x154)
|
||||
#define INTERRUPT_CORE0_INT_STATUS_0_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x140)
|
||||
/** INTERRUPT_CORE0_INT_STATUS_0 : RO; bitpos: [31:0]; default: 0;
|
||||
* Represents the status of the interrupt sources numbered from .Each bit corresponds
|
||||
* to one interrupt source
|
||||
@@ -1046,10 +985,10 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_INT_STATUS_0_V 0xFFFFFFFFU
|
||||
#define INTERRUPT_CORE0_INT_STATUS_0_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_INT_STATUS_REG_1_REG register
|
||||
/** INTERRUPT_CORE0_INT_STATUS_1_REG register
|
||||
* Status register for interrupt sources 32 ~ 63
|
||||
*/
|
||||
#define INTERRUPT_CORE0_INT_STATUS_REG_1_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x158)
|
||||
#define INTERRUPT_CORE0_INT_STATUS_1_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x144)
|
||||
/** INTERRUPT_CORE0_INT_STATUS_1 : RO; bitpos: [31:0]; default: 0;
|
||||
* Represents the status of the interrupt sources numbered from .Each bit corresponds
|
||||
* to one interrupt source
|
||||
@@ -1061,10 +1000,10 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_INT_STATUS_1_V 0xFFFFFFFFU
|
||||
#define INTERRUPT_CORE0_INT_STATUS_1_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_INT_STATUS_REG_2_REG register
|
||||
/** INTERRUPT_CORE0_INT_STATUS_2_REG register
|
||||
* Status register for interrupt sources 64 ~ 95
|
||||
*/
|
||||
#define INTERRUPT_CORE0_INT_STATUS_REG_2_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x15c)
|
||||
#define INTERRUPT_CORE0_INT_STATUS_2_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x148)
|
||||
/** INTERRUPT_CORE0_INT_STATUS_2 : RO; bitpos: [31:0]; default: 0;
|
||||
* Represents the status of the interrupt sources numbered from .Each bit corresponds
|
||||
* to one interrupt source
|
||||
@@ -1079,7 +1018,7 @@ extern "C" {
|
||||
/** INTERRUPT_CORE0_CLOCK_GATE_REG register
|
||||
* Interrupt clock gating configure register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_CLOCK_GATE_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x160)
|
||||
#define INTERRUPT_CORE0_CLOCK_GATE_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x14c)
|
||||
/** INTERRUPT_CORE0_REG_CLK_EN : R/W; bitpos: [0]; default: 0;
|
||||
* Interrupt clock gating configure register
|
||||
*/
|
||||
@@ -1092,7 +1031,7 @@ extern "C" {
|
||||
* Version control register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_INTERRUPT_DATE_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x7fc)
|
||||
/** INTERRUPT_CORE0_INTERRUPT_DATE : R/W; bitpos: [27:0]; default: 36717104;
|
||||
/** INTERRUPT_CORE0_INTERRUPT_DATE : R/W; bitpos: [27:0]; default: 36773985;
|
||||
* Version control register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_INTERRUPT_DATE 0x0FFFFFFFU
|
||||
|
||||
@@ -16,8 +16,8 @@ extern "C" {
|
||||
* ESP32C5 uses the CLIC controller as the interrupt controller (SOC_INT_CLIC_SUPPORTED = y)
|
||||
*/
|
||||
#define INTERRUPT_CURRENT_CORE_INT_THRESH_REG (CLIC_INT_THRESH_REG)
|
||||
#define INTERRUPT_OTHER_CORE_INT_THRESH_REG (CLIC_INT_THRESH_REG + DUALCORE_CLIC_CTRL_OFF)
|
||||
|
||||
/* We only have a single core on the C5, CORE0 */
|
||||
#define INTERRUPT_CORE0_CPU_INT_THRESH_REG INTERRUPT_CURRENT_CORE_INT_THRESH_REG
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -12,25 +12,24 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
// TODO: [ESP32C5] IDF-8654 need update for MP version
|
||||
//Interrupt hardware source table
|
||||
//This table is decided by hardware, don't touch this.
|
||||
typedef enum {
|
||||
ETS_WIFI_MAC_INTR_SOURCE,
|
||||
ETS_WIFI_MAC_NMI_SOURCE,
|
||||
ETS_WIFI_PWR_INTR_SOURCE,
|
||||
ETS_WIFI_BB_INTR_SOURCE,
|
||||
ETS_BT_MAC_INTR_SOURCE,
|
||||
ETS_BT_BB_INTR_SOURCE,
|
||||
ETS_BT_BB_NMI_SOURCE,
|
||||
ETS_WIFI_MAC_INTR_SOURCE = 0, /**< interrupt of WiFi MAC, level*/
|
||||
ETS_WIFI_MAC_NMI_SOURCE, /**< interrupt of WiFi MAC, NMI, use if MAC have bug to fix in NMI*/
|
||||
ETS_WIFI_PWR_INTR_SOURCE, /**< */
|
||||
ETS_WIFI_BB_INTR_SOURCE, /**< interrupt of WiFi BB, level, we can do some calibration*/
|
||||
ETS_BT_MAC_INTR_SOURCE, /**< will be cancelled*/
|
||||
ETS_BT_BB_INTR_SOURCE, /**< interrupt of BT BB, level*/
|
||||
ETS_BT_BB_NMI_SOURCE, /**< interrupt of BT BB, NMI, use if BB have bug to fix in NMI*/
|
||||
ETS_LP_TIMER_INTR_SOURCE,
|
||||
ETS_COEX_INTR_SOURCE,
|
||||
ETS_BLE_TIMER_INTR_SOURCE,
|
||||
ETS_BLE_SEC_INTR_SOURCE,
|
||||
ETS_I2C_MST_INTR_SOURCE,
|
||||
ETS_I2C_MASTER_SOURCE, /**< interrupt of I2C Master, level*/
|
||||
ETS_ZB_MAC_INTR_SOURCE,
|
||||
ETS_PMU_INTR_SOURCE,
|
||||
ETS_EFUSE_INTR_SOURCE,
|
||||
ETS_EFUSE_INTR_SOURCE, /**< interrupt of efuse, level, not likely to use*/
|
||||
ETS_LP_RTC_TIMER_INTR_SOURCE,
|
||||
ETS_LP_UART_INTR_SOURCE,
|
||||
ETS_LP_I2C_INTR_SOURCE,
|
||||
@@ -39,17 +38,16 @@ typedef enum {
|
||||
ETS_LP_APM_M0_INTR_SOURCE,
|
||||
ETS_LP_APM_M1_INTR_SOURCE,
|
||||
ETS_HUK_INTR_SOURCE,
|
||||
ETS_FROM_CPU_INTR0_SOURCE,
|
||||
ETS_FROM_CPU_INTR1_SOURCE,
|
||||
ETS_FROM_CPU_INTR2_SOURCE,
|
||||
ETS_FROM_CPU_INTR3_SOURCE,
|
||||
ETS_ASSIST_DEBUG_INTR_SOURCE,
|
||||
ETS_FROM_CPU_INTR0_SOURCE, /**< interrupt0 generated from a CPU, level*/
|
||||
ETS_FROM_CPU_INTR1_SOURCE, /**< interrupt1 generated from a CPU, level*/
|
||||
ETS_FROM_CPU_INTR2_SOURCE, /**< interrupt2 generated from a CPU, level*/
|
||||
ETS_FROM_CPU_INTR3_SOURCE, /**< interrupt3 generated from a CPU, level*/
|
||||
ETS_ASSIST_DEBUG_INTR_SOURCE, /**< interrupt of Assist debug module, LEVEL*/
|
||||
ETS_TRACE_INTR_SOURCE,
|
||||
ETS_CACHE_INTR_SOURCE,
|
||||
ETS_CPU_PERI_TIMEOUT_INTR_SOURCE,
|
||||
ETS_GPIO_INTR_SOURCE,
|
||||
ETS_GPIO_NMI_SOURCE,
|
||||
ETS_GPIO_PAD_COMP_INTR_SOURCE,
|
||||
ETS_GPIO_INTR_SOURCE, /**< interrupt of GPIO, level*/
|
||||
ETS_GPIO_NMI_SOURCE, /**< interrupt of GPIO, NMI*/
|
||||
ETS_PAU_INTR_SOURCE,
|
||||
ETS_HP_PERI_TIMEOUT_INTR_SOURCE,
|
||||
ETS_MODEM_PERI_TIMEOUT_INTR_SOURCE,
|
||||
@@ -57,52 +55,48 @@ typedef enum {
|
||||
ETS_HP_APM_M1_INTR_SOURCE,
|
||||
ETS_HP_APM_M2_INTR_SOURCE,
|
||||
ETS_HP_APM_M3_INTR_SOURCE,
|
||||
ETS_HP_APM_M4_INTR_SOURCE,
|
||||
ETS_LP_APM0_INTR_SOURCE,
|
||||
ETS_MSPI_INTR_SOURCE,
|
||||
ETS_I2S1_INTR_SOURCE,
|
||||
ETS_UHCI0_INTR_SOURCE,
|
||||
ETS_UART0_INTR_SOURCE,
|
||||
ETS_UART1_INTR_SOURCE,
|
||||
ETS_LEDC_INTR_SOURCE,
|
||||
ETS_TWAI0_INTR_SOURCE,
|
||||
ETS_TWAI1_INTR_SOURCE,
|
||||
ETS_USB_INTR_SOURCE,
|
||||
ETS_RMT_INTR_SOURCE,
|
||||
ETS_I2C_EXT0_INTR_SOURCE,
|
||||
ETS_TG0_T0_LEVEL_INTR_SOURCE,
|
||||
ETS_TG0_T1_LEVEL_INTR_SOURCE,
|
||||
ETS_TG0_WDT_LEVEL_INTR_SOURCE,
|
||||
ETS_TG1_T0_LEVEL_INTR_SOURCE,
|
||||
ETS_TG1_T1_LEVEL_INTR_SOURCE,
|
||||
ETS_TG1_WDT_LEVEL_INTR_SOURCE,
|
||||
ETS_SYSTIMER_TARGET0_INTR_SOURCE,
|
||||
ETS_SYSTIMER_TARGET1_INTR_SOURCE,
|
||||
ETS_SYSTIMER_TARGET2_INTR_SOURCE,
|
||||
ETS_APB_ADC_INTR_SOURCE,
|
||||
ETS_PWM_INTR_SOURCE,
|
||||
ETS_I2S1_INTR_SOURCE, /**< interrupt of I2S1, level*/
|
||||
ETS_UHCI0_INTR_SOURCE, /**< interrupt of UHCI0, level*/
|
||||
ETS_UART0_INTR_SOURCE, /**< interrupt of UART0, level*/
|
||||
ETS_UART1_INTR_SOURCE, /**< interrupt of UART1, level*/
|
||||
ETS_LEDC_INTR_SOURCE, /**< interrupt of LED PWM, level*/
|
||||
ETS_TWAI0_INTR_SOURCE, /**< interrupt of can0, level*/
|
||||
ETS_TWAI0_TIMER_INTR_SOURCE, /**< interrupt of can0 timer, level*/
|
||||
ETS_TWAI1_INTR_SOURCE, /**< interrupt of can1, level*/
|
||||
ETS_TWAI1_TIMER_INTR_SOURCE, /**< interrupt of can0 timer, level*/
|
||||
ETS_USB_SERIAL_JTAG_INTR_SOURCE, /**< interrupt of USB, level*/
|
||||
ETS_RMT_INTR_SOURCE, /**< interrupt of remote controller, level*/
|
||||
ETS_I2C_EXT0_INTR_SOURCE, /**< interrupt of I2C controller1, level*/
|
||||
ETS_TG0_T0_LEVEL_INTR_SOURCE, /**< interrupt of TIMER_GROUP0, TIMER0, level*/
|
||||
ETS_TG0_WDT_LEVEL_INTR_SOURCE, /**< interrupt of TIMER_GROUP0, WATCH DOG, level*/
|
||||
ETS_TG1_T0_LEVEL_INTR_SOURCE, /**< interrupt of TIMER_GROUP1, TIMER0, level*/
|
||||
ETS_TG1_WDT_LEVEL_INTR_SOURCE, /**< interrupt of TIMER_GROUP1, WATCHDOG, level*/
|
||||
ETS_SYSTIMER_TARGET0_INTR_SOURCE, /**< interrupt of system timer 0 */
|
||||
ETS_SYSTIMER_TARGET1_INTR_SOURCE, /**< interrupt of system timer 1 */
|
||||
ETS_SYSTIMER_TARGET2_INTR_SOURCE, /**< interrupt of system timer 2 */
|
||||
ETS_APB_ADC_INTR_SOURCE, /**< interrupt of APB ADC, LEVEL*/
|
||||
ETS_MCPWM0_INTR_SOURCE, /**< interrupt of MCPWM0, LEVEL*/
|
||||
ETS_PCNT_INTR_SOURCE,
|
||||
ETS_PARL_IO_TX_INTR_SOURCE,
|
||||
ETS_PARL_IO_RX_INTR_SOURCE,
|
||||
ETS_SLC0_INTR_SOURCE,
|
||||
ETS_SLC1_INTR_SOURCE,
|
||||
ETS_USB_OTG20_INTR_SOURCE,
|
||||
ETS_USB_OTG20_MULTI_PROC_INTR_SOURCE,
|
||||
ETS_USB_OTG20_MISC_INTR_SOURCE,
|
||||
ETS_DMA_IN_CH0_INTR_SOURCE,
|
||||
ETS_DMA_IN_CH1_INTR_SOURCE,
|
||||
ETS_DMA_IN_CH2_INTR_SOURCE,
|
||||
ETS_DMA_OUT_CH0_INTR_SOURCE,
|
||||
ETS_DMA_OUT_CH1_INTR_SOURCE,
|
||||
ETS_DMA_OUT_CH2_INTR_SOURCE,
|
||||
ETS_DMA_IN_CH0_INTR_SOURCE, /**< interrupt of general DMA IN channel 0, LEVEL*/
|
||||
ETS_DMA_IN_CH1_INTR_SOURCE, /**< interrupt of general DMA IN channel 1, LEVEL*/
|
||||
ETS_DMA_IN_CH2_INTR_SOURCE, /**< interrupt of general DMA IN channel 2, LEVEL*/
|
||||
ETS_DMA_OUT_CH0_INTR_SOURCE, /**< interrupt of general DMA OUT channel 0, LEVEL*/
|
||||
ETS_DMA_OUT_CH1_INTR_SOURCE, /**< interrupt of general DMA OUT channel 1, LEVEL*/
|
||||
ETS_DMA_OUT_CH2_INTR_SOURCE, /**< interrupt of general DMA OUT channel 2, LEVEL*/
|
||||
ETS_GPSPI2_INTR_SOURCE,
|
||||
ETS_AES_INTR_SOURCE,
|
||||
ETS_SHA_INTR_SOURCE,
|
||||
ETS_RSA_INTR_SOURCE,
|
||||
ETS_ECC_INTR_SOURCE,
|
||||
ETS_AES_INTR_SOURCE, /**< interrupt of AES accelerator, level*/
|
||||
ETS_SHA_INTR_SOURCE, /**< interrupt of SHA accelerator, level*/
|
||||
ETS_RSA_INTR_SOURCE, /**< interrupt of RSA accelerator, level*/
|
||||
ETS_ECC_INTR_SOURCE, /**< interrupt of ECC accelerator, level*/
|
||||
ETS_ECDSA_INTR_SOURCE,
|
||||
ETS_KM_INTR_SOURCE,
|
||||
ETS_MAX_INTR_SOURCE,
|
||||
} periph_interrput_t;
|
||||
} periph_interrupt_t;
|
||||
|
||||
extern const char * const esp_isr_names[ETS_MAX_INTR_SOURCE];
|
||||
|
||||
|
||||
@@ -1,97 +1,90 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "soc/interrupts.h"
|
||||
|
||||
// TODO: [ESP32C5] IDF-8654 need update for MP version
|
||||
|
||||
const char *const esp_isr_names[] = {
|
||||
[0] = "WIFI_MAC",
|
||||
[1] = "WIFI_MAC_NMI",
|
||||
[2] = "WIFI_PWR",
|
||||
[3] = "WIFI_BB",
|
||||
[4] = "BT_MAC",
|
||||
[5] = "BT_BB",
|
||||
[6] = "BT_BB_NMI",
|
||||
[7] = "LP_TIMER",
|
||||
[8] = "COEX",
|
||||
[9] = "BLE_TIMER",
|
||||
[10] = "BLE_SEC",
|
||||
[11] = "I2C_MASTER",
|
||||
[12] = "ZB_MAC",
|
||||
[13] = "PMU",
|
||||
[14] = "EFUSE",
|
||||
[15] = "LP_RTC_TIMER",
|
||||
[16] = "LP_UART",
|
||||
[17] = "LP_I2C",
|
||||
[18] = "LP_WDT",
|
||||
[19] = "LP_PERI_TIMEOUT",
|
||||
[20] = "LP_APM_M0",
|
||||
[21] = "LP_APM_M1",
|
||||
[22] = "HUK",
|
||||
[23] = "CPU_FROM_CPU_0",
|
||||
[24] = "CPU_FROM_CPU_1",
|
||||
[25] = "CPU_FROM_CPU_2",
|
||||
[26] = "CPU_FROM_CPU_3",
|
||||
[27] = "ASSIST_DEBUG",
|
||||
[28] = "TRACE",
|
||||
[29] = "CACHE",
|
||||
[30] = "CPU_PERI_TIMEOUT",
|
||||
[31] = "GPIO_INTERRUPT_PRO",
|
||||
[32] = "GPIO_INTERRUPT_PRO_NMI",
|
||||
[33] = "GPIO_INTERRUPT_SD",
|
||||
[34] = "PAU",
|
||||
[35] = "HP_PERI_TIMEOUT",
|
||||
[36] = "MODEM_PERI_TIMEOUT",
|
||||
[37] = "HP_APM_M0",
|
||||
[38] = "HP_APM_M1",
|
||||
[39] = "HP_APM_M2",
|
||||
[40] = "HP_APM_M3",
|
||||
[41] = "LP_APM0",
|
||||
[42] = "MSPI",
|
||||
[43] = "I2S1",
|
||||
[44] = "UHCI0",
|
||||
[45] = "UART0",
|
||||
[46] = "UART1",
|
||||
[47] = "LEDC",
|
||||
[48] = "TWAI0",
|
||||
[49] = "TWAI1",
|
||||
[50] = "USB",
|
||||
[51] = "RMT",
|
||||
[52] = "I2C_EXT0",
|
||||
[53] = "TG0_T0",
|
||||
[54] = "TG0_T1",
|
||||
[55] = "TG0_WDT",
|
||||
[56] = "TG1_T0",
|
||||
[57] = "TG1_T1",
|
||||
[58] = "TG1_WDT",
|
||||
[59] = "SYSTIMER_TARGET0",
|
||||
[60] = "SYSTIMER_TARGET1",
|
||||
[61] = "SYSTIMER_TARGET2",
|
||||
[62] = "APB_ADC",
|
||||
[63] = "PWM",
|
||||
[64] = "PCNT",
|
||||
[65] = "PARL_IO_TX",
|
||||
[66] = "PARL_IO_RX",
|
||||
[67] = "SLC0",
|
||||
[68] = "SLC1",
|
||||
[69] = "USB_OTG20",
|
||||
[70] = "USB_OTG20_MULTI_PROC",
|
||||
[71] = "USB_OTG20_MISC",
|
||||
[72] = "DMA_IN_CH0",
|
||||
[73] = "DMA_IN_CH1",
|
||||
[74] = "DMA_IN_CH2",
|
||||
[75] = "DMA_OUT_CH0",
|
||||
[76] = "DMA_OUT_CH1",
|
||||
[77] = "DMA_OUT_CH2",
|
||||
[78] = "GPSPI2",
|
||||
[79] = "AES",
|
||||
[80] = "SHA",
|
||||
[81] = "RSA",
|
||||
[82] = "ECC",
|
||||
[83] = "ECDSA",
|
||||
[84] = "KM",
|
||||
[ETS_WIFI_MAC_INTR_SOURCE] = "WIFI_MAC",
|
||||
[ETS_WIFI_MAC_NMI_SOURCE] = "WIFI_MAC_NMI",
|
||||
[ETS_WIFI_PWR_INTR_SOURCE] = "WIFI_PWR",
|
||||
[ETS_WIFI_BB_INTR_SOURCE] = "WIFI_BB",
|
||||
[ETS_BT_MAC_INTR_SOURCE] = "BT_MAC",
|
||||
[ETS_BT_BB_INTR_SOURCE] = "BT_BB",
|
||||
[ETS_BT_BB_NMI_SOURCE] = "BT_BB_NMI",
|
||||
[ETS_LP_TIMER_INTR_SOURCE] = "LP_TIMER",
|
||||
[ETS_COEX_INTR_SOURCE] = "COEX",
|
||||
[ETS_BLE_TIMER_INTR_SOURCE] = "BLE_TIMER",
|
||||
[ETS_BLE_SEC_INTR_SOURCE] = "BLE_SEC",
|
||||
[ETS_I2C_MASTER_SOURCE] = "I2C_MASTER",
|
||||
[ETS_ZB_MAC_INTR_SOURCE] = "ZB_MAC",
|
||||
[ETS_PMU_INTR_SOURCE] = "PMU",
|
||||
[ETS_EFUSE_INTR_SOURCE] = "EFUSE",
|
||||
[ETS_LP_RTC_TIMER_INTR_SOURCE] = "LP_RTC_TIMER",
|
||||
[ETS_LP_UART_INTR_SOURCE] = "LP_UART",
|
||||
[ETS_LP_I2C_INTR_SOURCE] = "LP_I2C",
|
||||
[ETS_LP_WDT_INTR_SOURCE] = "LP_WDT",
|
||||
[ETS_LP_PERI_TIMEOUT_INTR_SOURCE] = "LP_PERI_TIMEOUT",
|
||||
[ETS_LP_APM_M0_INTR_SOURCE] = "LP_APM_M0",
|
||||
[ETS_LP_APM_M1_INTR_SOURCE] = "LP_APM_M1",
|
||||
[ETS_HUK_INTR_SOURCE] = "HUK",
|
||||
[ETS_FROM_CPU_INTR0_SOURCE] = "FROM_CPU_INTR0",
|
||||
[ETS_FROM_CPU_INTR1_SOURCE] = "FROM_CPU_INTR1",
|
||||
[ETS_FROM_CPU_INTR2_SOURCE] = "FROM_CPU_INTR2",
|
||||
[ETS_FROM_CPU_INTR3_SOURCE] = "FROM_CPU_INTR3",
|
||||
[ETS_ASSIST_DEBUG_INTR_SOURCE] = "ASSIST_DEBUG",
|
||||
[ETS_TRACE_INTR_SOURCE] = "TRACE",
|
||||
[ETS_CACHE_INTR_SOURCE] = "CACHE",
|
||||
[ETS_CPU_PERI_TIMEOUT_INTR_SOURCE] = "CPU_PERI_TIMEOUT",
|
||||
[ETS_GPIO_INTR_SOURCE] = "GPIO_INTR",
|
||||
[ETS_GPIO_NMI_SOURCE] = "GPIO_NMI",
|
||||
[ETS_PAU_INTR_SOURCE] = "PAU",
|
||||
[ETS_HP_PERI_TIMEOUT_INTR_SOURCE] = "HP_PERI_TIMEOUT",
|
||||
[ETS_MODEM_PERI_TIMEOUT_INTR_SOURCE] = "MODEM_PERI_TIMEOUT",
|
||||
[ETS_HP_APM_M0_INTR_SOURCE] = "HP_APM_M0",
|
||||
[ETS_HP_APM_M1_INTR_SOURCE] = "HP_APM_M1",
|
||||
[ETS_HP_APM_M2_INTR_SOURCE] = "HP_APM_M2",
|
||||
[ETS_HP_APM_M3_INTR_SOURCE] = "HP_APM_M3",
|
||||
[ETS_HP_APM_M4_INTR_SOURCE] = "HP_APM_M4",
|
||||
[ETS_LP_APM0_INTR_SOURCE] = "LP_APM0",
|
||||
[ETS_MSPI_INTR_SOURCE] = "MSPI",
|
||||
[ETS_I2S1_INTR_SOURCE] = "I2S1",
|
||||
[ETS_UHCI0_INTR_SOURCE] = "UHCI0",
|
||||
[ETS_UART0_INTR_SOURCE] = "UART0",
|
||||
[ETS_UART1_INTR_SOURCE] = "UART1",
|
||||
[ETS_LEDC_INTR_SOURCE] = "LEDC",
|
||||
[ETS_TWAI0_INTR_SOURCE] = "TWAI0",
|
||||
[ETS_TWAI0_TIMER_INTR_SOURCE] = "TWAI0_TIMER",
|
||||
[ETS_TWAI1_INTR_SOURCE] = "TWAI1",
|
||||
[ETS_TWAI1_TIMER_INTR_SOURCE] = "TWAI1_TIMER",
|
||||
[ETS_USB_SERIAL_JTAG_INTR_SOURCE] = "USB_SERIAL_JTAG",
|
||||
[ETS_RMT_INTR_SOURCE] = "RMT",
|
||||
[ETS_I2C_EXT0_INTR_SOURCE] = "I2C_EXT0",
|
||||
[ETS_TG0_T0_LEVEL_INTR_SOURCE] = "TG0_T0_LEVEL",
|
||||
[ETS_TG0_WDT_LEVEL_INTR_SOURCE] = "TG0_WDT_LEVEL",
|
||||
[ETS_TG1_T0_LEVEL_INTR_SOURCE] = "TG1_T0_LEVEL",
|
||||
[ETS_TG1_WDT_LEVEL_INTR_SOURCE] = "TG1_WDT_LEVEL",
|
||||
[ETS_SYSTIMER_TARGET0_INTR_SOURCE] = "SYSTIMER_TARGET0",
|
||||
[ETS_SYSTIMER_TARGET1_INTR_SOURCE] = "SYSTIMER_TARGET1",
|
||||
[ETS_SYSTIMER_TARGET2_INTR_SOURCE] = "SYSTIMER_TARGET2",
|
||||
[ETS_APB_ADC_INTR_SOURCE] = "APB_ADC",
|
||||
[ETS_MCPWM0_INTR_SOURCE] = "MCPWM0",
|
||||
[ETS_PCNT_INTR_SOURCE] = "PCNT",
|
||||
[ETS_PARL_IO_TX_INTR_SOURCE] = "PARL_IO_TX",
|
||||
[ETS_PARL_IO_RX_INTR_SOURCE] = "PARL_IO_RX",
|
||||
[ETS_DMA_IN_CH0_INTR_SOURCE] = "DMA_IN_CH0",
|
||||
[ETS_DMA_IN_CH1_INTR_SOURCE] = "DMA_IN_CH1",
|
||||
[ETS_DMA_IN_CH2_INTR_SOURCE] = "DMA_IN_CH2",
|
||||
[ETS_DMA_OUT_CH0_INTR_SOURCE] = "DMA_OUT_CH0",
|
||||
[ETS_DMA_OUT_CH1_INTR_SOURCE] = "DMA_OUT_CH1",
|
||||
[ETS_DMA_OUT_CH2_INTR_SOURCE] = "DMA_OUT_CH2",
|
||||
[ETS_GPSPI2_INTR_SOURCE] = "GPSPI2",
|
||||
[ETS_AES_INTR_SOURCE] = "AES",
|
||||
[ETS_SHA_INTR_SOURCE] = "SHA",
|
||||
[ETS_RSA_INTR_SOURCE] = "RSA",
|
||||
[ETS_ECC_INTR_SOURCE] = "ECC",
|
||||
[ETS_ECDSA_INTR_SOURCE] = "ECDSA",
|
||||
[ETS_KM_INTR_SOURCE] = "KM"
|
||||
};
|
||||
|
||||
@@ -335,17 +335,17 @@ extern "C" {
|
||||
#define INTERRUPT_CORE0_CPU_INTR_FROM_CPU_3_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_CPU_INTR_FROM_CPU_3_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP_REG register
|
||||
* BUS_MONITOR_INTR mapping register
|
||||
/** INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP_REG register
|
||||
* ASSIST_DEBUG_INTR mapping register
|
||||
*/
|
||||
#define INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x6c)
|
||||
/** INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
#define INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x6c)
|
||||
/** INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP : R/W; bitpos: [5:0]; default: 0;
|
||||
* Configures the interrupt source into one CPU interrupt.
|
||||
*/
|
||||
#define INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP_M (INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP_V << INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_BUS_MONITOR_INTR_MAP_S 0
|
||||
#define INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP 0x0000003FU
|
||||
#define INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP_M (INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP_V << INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP_S)
|
||||
#define INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP_V 0x0000003FU
|
||||
#define INTERRUPT_CORE0_ASSIST_DEBUG_INTR_MAP_S 0
|
||||
|
||||
/** INTERRUPT_CORE0_TRACE_INTR_MAP_REG register
|
||||
* TRACE_INTR mapping register
|
||||
|
||||
@@ -1,11 +1,25 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
|
||||
#include "soc/clic_reg.h"
|
||||
#include "soc/soc_caps.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ESP32C5 uses the CLIC controller as the interrupt controller (SOC_INT_CLIC_SUPPORTED = y)
|
||||
*/
|
||||
#define INTERRUPT_CURRENT_CORE_INT_THRESH_REG (CLIC_INT_THRESH_REG)
|
||||
#define INTERRUPT_OTHER_CORE_INT_THRESH_REG (CLIC_INT_THRESH_REG + DUALCORE_CLIC_CTRL_OFF)
|
||||
|
||||
/* We only have a single core on the C5, CORE0 */
|
||||
#define INTERRUPT_CORE0_CPU_INT_THRESH_REG INTERRUPT_CURRENT_CORE_INT_THRESH_REG
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -19,7 +18,7 @@ typedef enum {
|
||||
ETS_WIFI_MAC_INTR_SOURCE = 0, /**< interrupt of WiFi MAC, level*/
|
||||
ETS_WIFI_MAC_NMI_SOURCE, /**< interrupt of WiFi MAC, NMI, use if MAC have bug to fix in NMI*/
|
||||
ETS_WIFI_PWR_INTR_SOURCE, /**< */
|
||||
ETS_WIFI_BB_INTR_SOURCE, /**< interrupt of WiFi BB, level, we can do some calibartion*/
|
||||
ETS_WIFI_BB_INTR_SOURCE, /**< interrupt of WiFi BB, level, we can do some calibration*/
|
||||
ETS_BT_MAC_INTR_SOURCE, /**< will be cancelled*/
|
||||
ETS_BT_BB_INTR_SOURCE, /**< interrupt of BT BB, level*/
|
||||
ETS_BT_BB_NMI_SOURCE, /**< interrupt of BT BB, NMI, use if BB have bug to fix in NMI*/
|
||||
@@ -28,7 +27,7 @@ typedef enum {
|
||||
ETS_BLE_TIMER_INTR_SOURCE,
|
||||
ETS_BLE_SEC_INTR_SOURCE,
|
||||
ETS_I2C_MASTER_SOURCE, /**< interrupt of I2C Master, level*/
|
||||
ETS_ZB_MAC_SOURCE,
|
||||
ETS_ZB_MAC_INTR_SOURCE,
|
||||
ETS_PMU_INTR_SOURCE,
|
||||
ETS_EFUSE_INTR_SOURCE, /**< interrupt of efuse, level, not likely to use*/
|
||||
ETS_LP_RTC_TIMER_INTR_SOURCE,
|
||||
@@ -39,8 +38,8 @@ typedef enum {
|
||||
ETS_LP_APM_M0_INTR_SOURCE,
|
||||
ETS_LP_APM_M1_INTR_SOURCE,
|
||||
ETS_HUK_INTR_SOURCE,
|
||||
ETS_FROM_CPU_INTR0_SOURCE, /**< interrupt0 generated from a CPU, level*/ /* Used for FreeRTOS */
|
||||
ETS_FROM_CPU_INTR1_SOURCE, /**< interrupt1 generated from a CPU, level*/ /* Used for FreeRTOS */
|
||||
ETS_FROM_CPU_INTR0_SOURCE, /**< interrupt0 generated from a CPU, level*/
|
||||
ETS_FROM_CPU_INTR1_SOURCE, /**< interrupt1 generated from a CPU, level*/
|
||||
ETS_FROM_CPU_INTR2_SOURCE, /**< interrupt2 generated from a CPU, level*/
|
||||
ETS_FROM_CPU_INTR3_SOURCE, /**< interrupt3 generated from a CPU, level*/
|
||||
ETS_ASSIST_DEBUG_INTR_SOURCE, /**< interrupt of Assist debug module, LEVEL*/
|
||||
@@ -48,7 +47,7 @@ typedef enum {
|
||||
ETS_CACHE_INTR_SOURCE,
|
||||
ETS_CPU_PERI_TIMEOUT_INTR_SOURCE,
|
||||
ETS_GPIO_INTR_SOURCE, /**< interrupt of GPIO, level*/
|
||||
ETS_GPIO_INTR_EXT_SOURCE, /**< interrupt of GPIO, NMI*/
|
||||
ETS_GPIO_NMI_SOURCE, /**< interrupt of GPIO, NMI*/
|
||||
ETS_PAU_INTR_SOURCE,
|
||||
ETS_HP_PERI_TIMEOUT_INTR_SOURCE,
|
||||
ETS_MODEM_PERI_TIMEOUT_INTR_SOURCE,
|
||||
@@ -78,10 +77,7 @@ typedef enum {
|
||||
ETS_SYSTIMER_TARGET0_INTR_SOURCE, /**< interrupt of system timer 0 */
|
||||
ETS_SYSTIMER_TARGET1_INTR_SOURCE, /**< interrupt of system timer 1 */
|
||||
ETS_SYSTIMER_TARGET2_INTR_SOURCE, /**< interrupt of system timer 2 */
|
||||
ETS_SYSTIMER_TARGET0_EDGE_INTR_SOURCE = ETS_SYSTIMER_TARGET0_INTR_SOURCE, /**< use ETS_SYSTIMER_TARGET0_INTR_SOURCE */
|
||||
ETS_SYSTIMER_TARGET1_EDGE_INTR_SOURCE = ETS_SYSTIMER_TARGET1_INTR_SOURCE, /**< use ETS_SYSTIMER_TARGET1_INTR_SOURCE */
|
||||
ETS_SYSTIMER_TARGET2_EDGE_INTR_SOURCE = ETS_SYSTIMER_TARGET2_INTR_SOURCE, /**< use ETS_SYSTIMER_TARGET2_INTR_SOURCE */
|
||||
ETS_APB_ADC_INTR_SOURCE = 62, /**< interrupt of APB ADC, LEVEL*/
|
||||
ETS_APB_ADC_INTR_SOURCE, /**< interrupt of APB ADC, LEVEL*/
|
||||
ETS_MCPWM0_INTR_SOURCE, /**< interrupt of MCPWM0, LEVEL*/
|
||||
ETS_PCNT_INTR_SOURCE,
|
||||
ETS_PARL_IO_TX_INTR_SOURCE,
|
||||
@@ -100,7 +96,7 @@ typedef enum {
|
||||
ETS_ECDSA_INTR_SOURCE,
|
||||
ETS_KM_INTR_SOURCE,
|
||||
ETS_MAX_INTR_SOURCE,
|
||||
} periph_interrput_t;
|
||||
} periph_interrupt_t;
|
||||
|
||||
extern const char * const esp_isr_names[ETS_MAX_INTR_SOURCE];
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -7,84 +7,84 @@
|
||||
#include "soc/interrupts.h"
|
||||
|
||||
const char *const esp_isr_names[] = {
|
||||
[0] = "WIFI_MAC",
|
||||
[1] = "WIFI_MAC_NMI",
|
||||
[2] = "WIFI_PWR",
|
||||
[3] = "WIFI_BB",
|
||||
[4] = "BT_MAC",
|
||||
[5] = "BT_BB",
|
||||
[6] = "BT_BB_NMI",
|
||||
[7] = "LP_TIMER",
|
||||
[8] = "COEX",
|
||||
[9] = "BLE_TIMER",
|
||||
[10] = "BLE_SEC",
|
||||
[11] = "I2C_MASTER",
|
||||
[12] = "ZB_MAC",
|
||||
[13] = "PMU",
|
||||
[14] = "EFUSE",
|
||||
[15] = "LP_RTC_TIMER",
|
||||
[16] = "LP_UART",
|
||||
[17] = "LP_I2C",
|
||||
[18] = "LP_WDT",
|
||||
[19] = "LP_PERI_TIMEOUT",
|
||||
[20] = "LP_APM_M0",
|
||||
[21] = "LP_APM_M1",
|
||||
[22] = "HUK",
|
||||
[23] = "CPU_FROM_CPU_0",
|
||||
[24] = "CPU_FROM_CPU_1",
|
||||
[25] = "CPU_FROM_CPU_2",
|
||||
[26] = "CPU_FROM_CPU_3",
|
||||
[27] = "ASSIST_DEBUG",
|
||||
[28] = "TRACE",
|
||||
[29] = "CACHE",
|
||||
[30] = "CPU_PERI_TIMEOUT",
|
||||
[31] = "GPIO_INTERRUPT_PRO",
|
||||
[32] = "GPIO_INTERRUPT_EXT",
|
||||
[33] = "PAU",
|
||||
[34] = "HP_PERI_TIMEOUT",
|
||||
[35] = "MODEM_PERI_TIMEOUT",
|
||||
[36] = "HP_APM_M0",
|
||||
[37] = "HP_APM_M1",
|
||||
[38] = "HP_APM_M2",
|
||||
[39] = "HP_APM_M3",
|
||||
[40] = "HP_APM_M4",
|
||||
[41] = "LP_APM0",
|
||||
[42] = "MSPI",
|
||||
[43] = "I2S",
|
||||
[44] = "UHCI0",
|
||||
[45] = "UART0",
|
||||
[46] = "UART1",
|
||||
[47] = "LEDC",
|
||||
[48] = "TWAI0",
|
||||
[49] = "TWAI0_TIMER",
|
||||
[50] = "TWAI1",
|
||||
[51] = "TWAI1_TIMER",
|
||||
[52] = "USB_SERIAL_JTAG",
|
||||
[53] = "RMT",
|
||||
[54] = "I2C_EXT0",
|
||||
[55] = "TG0_T0",
|
||||
[56] = "TG0_WDT",
|
||||
[57] = "TG1_T0",
|
||||
[58] = "TG1_WDT",
|
||||
[59] = "SYSTIMER_TARGET0",
|
||||
[60] = "SYSTIMER_TARGET1",
|
||||
[61] = "SYSTIMER_TARGET2",
|
||||
[62] = "APB_ADC",
|
||||
[63] = "PWM",
|
||||
[64] = "PCNT",
|
||||
[65] = "PARL_IO_TX",
|
||||
[66] = "PARL_IO_RX",
|
||||
[67] = "DMA_IN_CH0",
|
||||
[68] = "DMA_IN_CH1",
|
||||
[69] = "DMA_IN_CH2",
|
||||
[70] = "DMA_OUT_CH0",
|
||||
[71] = "DMA_OUT_CH1",
|
||||
[72] = "DMA_OUT_CH2",
|
||||
[73] = "GPSPI2",
|
||||
[74] = "AES",
|
||||
[75] = "SHA",
|
||||
[76] = "RSA",
|
||||
[77] = "ECC",
|
||||
[78] = "ECDSA",
|
||||
[79] = "KM",
|
||||
[ETS_WIFI_MAC_INTR_SOURCE] = "WIFI_MAC",
|
||||
[ETS_WIFI_MAC_NMI_SOURCE] = "WIFI_MAC_NMI",
|
||||
[ETS_WIFI_PWR_INTR_SOURCE] = "WIFI_PWR",
|
||||
[ETS_WIFI_BB_INTR_SOURCE] = "WIFI_BB",
|
||||
[ETS_BT_MAC_INTR_SOURCE] = "BT_MAC",
|
||||
[ETS_BT_BB_INTR_SOURCE] = "BT_BB",
|
||||
[ETS_BT_BB_NMI_SOURCE] = "BT_BB_NMI",
|
||||
[ETS_LP_TIMER_INTR_SOURCE] = "LP_TIMER",
|
||||
[ETS_COEX_INTR_SOURCE] = "COEX",
|
||||
[ETS_BLE_TIMER_INTR_SOURCE] = "BLE_TIMER",
|
||||
[ETS_BLE_SEC_INTR_SOURCE] = "BLE_SEC",
|
||||
[ETS_I2C_MASTER_SOURCE] = "I2C_MASTER",
|
||||
[ETS_ZB_MAC_INTR_SOURCE] = "ZB_MAC",
|
||||
[ETS_PMU_INTR_SOURCE] = "PMU",
|
||||
[ETS_EFUSE_INTR_SOURCE] = "EFUSE",
|
||||
[ETS_LP_RTC_TIMER_INTR_SOURCE] = "LP_RTC_TIMER",
|
||||
[ETS_LP_UART_INTR_SOURCE] = "LP_UART",
|
||||
[ETS_LP_I2C_INTR_SOURCE] = "LP_I2C",
|
||||
[ETS_LP_WDT_INTR_SOURCE] = "LP_WDT",
|
||||
[ETS_LP_PERI_TIMEOUT_INTR_SOURCE] = "LP_PERI_TIMEOUT",
|
||||
[ETS_LP_APM_M0_INTR_SOURCE] = "LP_APM_M0",
|
||||
[ETS_LP_APM_M1_INTR_SOURCE] = "LP_APM_M1",
|
||||
[ETS_HUK_INTR_SOURCE] = "HUK",
|
||||
[ETS_FROM_CPU_INTR0_SOURCE] = "FROM_CPU_INTR0",
|
||||
[ETS_FROM_CPU_INTR1_SOURCE] = "FROM_CPU_INTR1",
|
||||
[ETS_FROM_CPU_INTR2_SOURCE] = "FROM_CPU_INTR2",
|
||||
[ETS_FROM_CPU_INTR3_SOURCE] = "FROM_CPU_INTR3",
|
||||
[ETS_ASSIST_DEBUG_INTR_SOURCE] = "ASSIST_DEBUG",
|
||||
[ETS_TRACE_INTR_SOURCE] = "TRACE",
|
||||
[ETS_CACHE_INTR_SOURCE] = "CACHE",
|
||||
[ETS_CPU_PERI_TIMEOUT_INTR_SOURCE] = "CPU_PERI_TIMEOUT",
|
||||
[ETS_GPIO_INTR_SOURCE] = "GPIO_INTR",
|
||||
[ETS_GPIO_NMI_SOURCE] = "GPIO_NMI",
|
||||
[ETS_PAU_INTR_SOURCE] = "PAU",
|
||||
[ETS_HP_PERI_TIMEOUT_INTR_SOURCE] = "HP_PERI_TIMEOUT",
|
||||
[ETS_MODEM_PERI_TIMEOUT_INTR_SOURCE] = "MODEM_PERI_TIMEOUT",
|
||||
[ETS_HP_APM_M0_INTR_SOURCE] = "HP_APM_M0",
|
||||
[ETS_HP_APM_M1_INTR_SOURCE] = "HP_APM_M1",
|
||||
[ETS_HP_APM_M2_INTR_SOURCE] = "HP_APM_M2",
|
||||
[ETS_HP_APM_M3_INTR_SOURCE] = "HP_APM_M3",
|
||||
[ETS_HP_APM_M4_INTR_SOURCE] = "HP_APM_M4",
|
||||
[ETS_LP_APM0_INTR_SOURCE] = "LP_APM0",
|
||||
[ETS_MSPI_INTR_SOURCE] = "MSPI",
|
||||
[ETS_I2S1_INTR_SOURCE] = "I2S1",
|
||||
[ETS_UHCI0_INTR_SOURCE] = "UHCI0",
|
||||
[ETS_UART0_INTR_SOURCE] = "UART0",
|
||||
[ETS_UART1_INTR_SOURCE] = "UART1",
|
||||
[ETS_LEDC_INTR_SOURCE] = "LEDC",
|
||||
[ETS_TWAI0_INTR_SOURCE] = "TWAI0",
|
||||
[ETS_TWAI0_TIMER_INTR_SOURCE] = "TWAI0_TIMER",
|
||||
[ETS_TWAI1_INTR_SOURCE] = "TWAI1",
|
||||
[ETS_TWAI1_TIMER_INTR_SOURCE] = "TWAI1_TIMER",
|
||||
[ETS_USB_SERIAL_JTAG_INTR_SOURCE] = "USB_SERIAL_JTAG",
|
||||
[ETS_RMT_INTR_SOURCE] = "RMT",
|
||||
[ETS_I2C_EXT0_INTR_SOURCE] = "I2C_EXT0",
|
||||
[ETS_TG0_T0_LEVEL_INTR_SOURCE] = "TG0_T0_LEVEL",
|
||||
[ETS_TG0_WDT_LEVEL_INTR_SOURCE] = "TG0_WDT_LEVEL",
|
||||
[ETS_TG1_T0_LEVEL_INTR_SOURCE] = "TG1_T0_LEVEL",
|
||||
[ETS_TG1_WDT_LEVEL_INTR_SOURCE] = "TG1_WDT_LEVEL",
|
||||
[ETS_SYSTIMER_TARGET0_INTR_SOURCE] = "SYSTIMER_TARGET0",
|
||||
[ETS_SYSTIMER_TARGET1_INTR_SOURCE] = "SYSTIMER_TARGET1",
|
||||
[ETS_SYSTIMER_TARGET2_INTR_SOURCE] = "SYSTIMER_TARGET2",
|
||||
[ETS_APB_ADC_INTR_SOURCE] = "APB_ADC",
|
||||
[ETS_MCPWM0_INTR_SOURCE] = "MCPWM0",
|
||||
[ETS_PCNT_INTR_SOURCE] = "PCNT",
|
||||
[ETS_PARL_IO_TX_INTR_SOURCE] = "PARL_IO_TX",
|
||||
[ETS_PARL_IO_RX_INTR_SOURCE] = "PARL_IO_RX",
|
||||
[ETS_DMA_IN_CH0_INTR_SOURCE] = "DMA_IN_CH0",
|
||||
[ETS_DMA_IN_CH1_INTR_SOURCE] = "DMA_IN_CH1",
|
||||
[ETS_DMA_IN_CH2_INTR_SOURCE] = "DMA_IN_CH2",
|
||||
[ETS_DMA_OUT_CH0_INTR_SOURCE] = "DMA_OUT_CH0",
|
||||
[ETS_DMA_OUT_CH1_INTR_SOURCE] = "DMA_OUT_CH1",
|
||||
[ETS_DMA_OUT_CH2_INTR_SOURCE] = "DMA_OUT_CH2",
|
||||
[ETS_GPSPI2_INTR_SOURCE] = "GPSPI2",
|
||||
[ETS_AES_INTR_SOURCE] = "AES",
|
||||
[ETS_SHA_INTR_SOURCE] = "SHA",
|
||||
[ETS_RSA_INTR_SOURCE] = "RSA",
|
||||
[ETS_ECC_INTR_SOURCE] = "ECC",
|
||||
[ETS_ECDSA_INTR_SOURCE] = "ECDSA",
|
||||
[ETS_KM_INTR_SOURCE] = "KM"
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user