1 /*
2 * Copyright (c) 2020 - 2024 Renesas Electronics Corporation and/or its affiliates
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6 
7 #ifndef BSP_GROUP_IRQ_H
8 #define BSP_GROUP_IRQ_H
9 
10 /** Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */
11 FSP_HEADER
12 
13 /*******************************************************************************************************************//**
14  * @addtogroup BSP_MCU
15  *
16  * @{
17  **********************************************************************************************************************/
18 
19 /***********************************************************************************************************************
20  * Macro definitions
21  **********************************************************************************************************************/
22 
23 /***********************************************************************************************************************
24  * Typedef definitions
25  **********************************************************************************************************************/
26 
27 #ifndef BSP_OVERRIDE_GROUP_IRQ_T
28 
29 /** Which interrupts can have callbacks registered. */
30 typedef enum e_bsp_grp_irq
31 {
32     BSP_GRP_IRQ_IWDT_ERROR      = 0,   ///< IWDT underflow/refresh error has occurred
33     BSP_GRP_IRQ_WDT_ERROR       = 1,   ///< WDT underflow/refresh error has occurred
34     BSP_GRP_IRQ_LVD1            = 2,   ///< Voltage monitoring 1 interrupt
35     BSP_GRP_IRQ_LVD2            = 3,   ///< Voltage monitoring 2 interrupt
36     BSP_GRP_IRQ_VBATT           = 4,   ///< VBATT monitor interrupt
37     BSP_GRP_IRQ_OSC_STOP_DETECT = 6,   ///< Oscillation stop is detected
38     BSP_GRP_IRQ_NMI_PIN         = 7,   ///< NMI Pin interrupt
39     BSP_GRP_IRQ_RAM_PARITY      = 8,   ///< RAM Parity Error
40     BSP_GRP_IRQ_RAM_ECC         = 9,   ///< RAM ECC Error
41     BSP_GRP_IRQ_MPU_BUS_SLAVE   = 10,  ///< MPU Bus Slave Error
42     BSP_GRP_IRQ_MPU_BUS_MASTER  = 11,  ///< MPU Bus Master Error
43     BSP_GRP_IRQ_MPU_STACK       = 12,  ///< MPU Stack Error
44     BSP_GRP_IRQ_TRUSTZONE       = 13,  ///< MPU Stack Error
45     BSP_GRP_IRQ_CACHE_PARITY    = 15,  ///< MPU Stack Error
46 } bsp_grp_irq_t;
47 
48 #endif
49 
50 /* Callback type. */
51 typedef void (* bsp_grp_irq_cb_t)(bsp_grp_irq_t irq);
52 
53 /** @} (end addtogroup BSP_MCU) */
54 
55 /***********************************************************************************************************************
56  * Exported global variables
57  **********************************************************************************************************************/
58 
59 /***********************************************************************************************************************
60  * Exported global functions (to be accessed by other files)
61  **********************************************************************************************************************/
62 
63 /* Public functions defined in bsp.h */
64 void bsp_group_interrupt_open(void);   // Used internally by BSP
65 
66 /** Common macro for FSP header files. There is also a corresponding FSP_HEADER macro at the top of this file. */
67 FSP_FOOTER
68 
69 #endif
70