1 /*
2 // Copyright (C) 2022 Beken Corporation
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <common/bk_include.h>
17 #include "interrupt_base.h"
18 #include "icu_driver.h"
19 #include <driver/int_types.h>
20
21 #if CONFIG_INT_STATIS
22 extern int_statis_t g_int_statis_num;
23
bk_get_int_statis(void)24 int_statis_t * bk_get_int_statis(void)
25 {
26 return &g_int_statis_num;
27 }
28
bk_dump_int_statis(int_statis_t * int_statistic)29 bk_err_t bk_dump_int_statis(int_statis_t *int_statistic)
30 {
31 ICU_LOGI(" irq:int_statis:%x\r\n", int_statistic->irq_int_statis);
32 ICU_LOGI(" uart1 int_num=%d\n", int_statistic->irq_int_statis[0]);
33 ICU_LOGI(" uart2 int_num=%d\n", int_statistic->irq_int_statis[1]);
34 ICU_LOGI(" i2c1 int_num=%d\n", int_statistic->irq_int_statis[2]);
35 ICU_LOGI(" irda int_num=%d\n", int_statistic->irq_int_statis[3]);
36 ICU_LOGI(" i2c2 int_num=%d\n", int_statistic->irq_int_statis[5]);
37 ICU_LOGI(" spi int_num=%d\n", int_statistic->irq_int_statis[6]);
38 ICU_LOGI(" gpio int_num=%d\n", int_statistic->irq_int_statis[7]);
39 ICU_LOGI(" timer int_num=%d\n", int_statistic->irq_int_statis[8]);
40 ICU_LOGI(" pwm int_num=%d\n", int_statistic->irq_int_statis[9]);
41 ICU_LOGI(" saradc int_num=%d\n", int_statistic->irq_int_statis[11]);
42 ICU_LOGI(" sdio int_num=%d\n", int_statistic->irq_int_statis[12]);
43 ICU_LOGI(" sercurity int_num=%d\n", int_statistic->irq_int_statis[13]);
44 ICU_LOGI(" LA int_num=%d\n", int_statistic->irq_int_statis[14]);
45 ICU_LOGI(" general_dma int_num=%d\n", int_statistic->irq_int_statis[15]);
46
47 ICU_LOGI(" fiq : int_statis:%x\r\n", int_statistic->fiq_int_statis);
48 ICU_LOGI(" modem int_num=%d\n", int_statistic->fiq_int_statis[0]);
49 ICU_LOGI(" mac_txrx_timer int_num=%d\n", int_statistic->fiq_int_statis[1]);
50 ICU_LOGI(" mac_txrx_misc int_num=%d\n", int_statistic->fiq_int_statis[2]);
51 ICU_LOGI(" mac_rx_triggerint_num=%d\n", int_statistic->fiq_int_statis[3]);
52 ICU_LOGI(" mac_tx_trigger int_num=%d\n", int_statistic->fiq_int_statis[4]);
53 ICU_LOGI(" mac_prot_trigger int_num=%d\n", int_statistic->fiq_int_statis[5]);
54 ICU_LOGI(" mac_general int_num=%d\n", int_statistic->fiq_int_statis[6]);
55 ICU_LOGI(" mac_wakeup int_num=%d\n", int_statistic->fiq_int_statis[10]);
56 ICU_LOGI(" pll_unlock int_num=%d\n", int_statistic->fiq_int_statis[12]);
57 ICU_LOGI(" btdm int_num=%d\n", int_statistic->fiq_int_statis[13]);
58 ICU_LOGI(" ble int_num=%d\n", int_statistic->fiq_int_statis[14]);
59 ICU_LOGI(" bt int_num=%d\n", int_statistic->fiq_int_statis[15]);
60
61 return BK_OK;
62 }
63 #endif
64
65