KT25-1014_AC695x_BTE_SDK310/apps/soundbox/board/br23/irq_config.c
2025-10-14 16:57:01 +08:00

98 lines
2.5 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "system/includes.h"
static const u8 irq_pro_list[MAX_IRQ_ENTRY_NUM] = {
[IRQ_EMUEXCPT_IDX ] = 0,
[IRQ_EXCEPTION_IDX ] = 7,
[IRQ_SYSCALL_IDX ] = 0,
[IRQ_TICK_TMR_IDX ] = 1,
[IRQ_TIME0_IDX ] = 5,//ir
[IRQ_TIME1_IDX ] = 3,
#if TCFG_LED7_RUN_RAM
[IRQ_TIME2_IDX ] = 6,//总中断关闭不关闭优先级6的中断、扫屏led7
#else
[IRQ_TIME2_IDX ] = 5,//总中断关闭不关闭优先级5的中断、扫屏led7
#endif
[IRQ_TIME3_IDX ] = 3,
[IRQ_USB_SOF_IDX ] = 1,
[IRQ_USB_CTRL_IDX ] = 3,
[IRQ_RTC_WDT_IDX ] = 0,
[IRQ_ALINK0_IDX ] = 3,
[IRQ_AUDIO_IDX ] = 2,
[IRQ_PORT_IDX ] = 0,
[IRQ_SPI0_IDX ] = 0,
[IRQ_SPI1_IDX ] = 0,
[IRQ_SD0_IDX ] = 3,
[IRQ_SD1_IDX ] = 3,
[IRQ_UART0_IDX ] = 3,
[IRQ_UART1_IDX ] = 3,
[IRQ_UART2_IDX ] = 0,
[IRQ_PAP_IDX ] = 0,
[IRQ_IIC_IDX ] = 0,
[IRQ_SARADC_IDX ] = 0,
[IRQ_PDM_LINK_IDX ] = 1,
[IRQ_RDEC0_IDX ] = 1,
[IRQ_LRCT_IDX ] = 2,
[IRQ_BREDR_IDX ] = 2,
[IRQ_BT_CLKN_IDX ] = 2,
[IRQ_BT_DBG_IDX ] = 0,
[IRQ_WL_LOFC_IDX ] = 2,
[IRQ_SRC_IDX ] = 1,
[IRQ_FFT_IDX ] = 1,
[IRQ_EQ_IDX ] = 1,
[IRQ_LP_TIMER0_IDX ] = 3,
[IRQ_LP_TIMER1_IDX ] = 3,
[IRQ_ALINK1_IDX ] = 3,
[IRQ_OSA_IDX ] = 0,
[IRQ_BLE_RX_IDX ] = 2,
[IRQ_BLE_EVENT_IDX ] = 2,
[IRQ_AES_IDX ] = 0,
[IRQ_MCTMRX_IDX ] = 0,
[IRQ_CHX_PWM_IDX ] = 0,
[IRQ_FMRX_IDX ] = 0,
[IRQ_SPI2_IDX ] = 0,
[IRQ_SBC_IDX ] = 1,
[IRQ_GPC_IDX ] = 0,
[IRQ_FMTX_IDX ] = 4,
[IRQ_DCP_IDX ] = 1,
[IRQ_RDEC1_IDX ] = 1,
[IRQ_RDEC2_IDX ] = 1,
[IRQ_SPDIF_IDX ] = 2,
[IRQ_PWM_LED_IDX ] = 1,
[IRQ_CTM_IDX ] = 1,
[IRQ_SOFT0_IDX ] = 0,
[IRQ_SOFT1_IDX ] = 0,
[IRQ_SOFT2_IDX ] = 0,
[IRQ_SOFT3_IDX ] = 0,
};
void irq_disable_t()
{
u8 i;
for (i = 0; i < MAX_IRQ_ENTRY_NUM; i++) {
irq_disable(i);
}
}
void irq_enable_t()
{
u8 i;
for (i = 0; i < MAX_IRQ_ENTRY_NUM; i++) {
irq_enable(i);
}
}
u8 irq_priority_get(u8 index)
{
/* printf("irq index = %d\n", index); */
///测试如果有问题, 请先直接该函数返回0xff,即可以还原之前中断优先级配置
if (index >= MAX_IRQ_ENTRY_NUM) {
return 0xff;
}
return irq_pro_list[index];
}