1 /*
2  * Copyright (c) 2017-2019 Arm Limited
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /*
8  * This file is derivative of CMSIS V5.01 Device\_Template_Vendor\Vendor\Device\Include\Device.h
9  */
10 
11 #ifndef SYSTEM_CMSDK_MUSCA_B1_H
12 #define SYSTEM_CMSDK_MUSCA_B1_H
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 /* =========================================================================================================================== */
19 /* ================                                Interrupt Number Definition                                ================ */
20 /* =========================================================================================================================== */
21 
22 typedef enum IRQn {
23 /* ===========================================  Core Specific Interrupt Numbers  ============================================= */
24   NonMaskableInt_IRQn       = -14,              /*  -14 Non Maskable Interrupt                                                 */
25   HardFault_IRQn            = -13,              /*  -13 HardFault Interrupt                                                    */
26   MemoryManagement_IRQn     = -12,              /*  -12 Memory Management Interrupt                                            */
27   BusFault_IRQn             = -11,              /*  -11 Bus Fault Interrupt                                                    */
28   UsageFault_IRQn           = -10,              /*  -10 Usage Fault Interrupt                                                  */
29   SecureFault_IRQn          =  -9,              /*  -9 Secure Fault Interrupt                                                  */
30   SVCall_IRQn               =  -5,              /*  -5 SV Call Interrupt                                                       */
31   DebugMonitor_IRQn         =  -4,              /*  -4 Debug Monitor Interrupt                                                 */
32   PendSV_IRQn               =  -2,              /*  -2 Pend SV Interrupt                                                       */
33   SysTick_IRQn              =  -1,              /*  -1 System Tick Interrupt                                                   */
34 
35 /* ========================================  Musca Specific SSE-200 Interrupt Numbers  ====================================== */
36   NS_WATCHDOG_RESET_IRQn    = 0,                 /*   Non-Secure Watchdog Reset Request Interrupt                              */
37   NS_WATCHDOG_IRQn          = 1,                 /*   Non-Secure Watchdog Interrupt                                            */
38   S32K_TIMER_IRQn           = 2,                 /*   S32K Timer Interrupt                                                     */
39   TIMER0_IRQn               = 3,                 /*   CMSDK Timer 0 Interrupt                                                  */
40   TIMER1_IRQn               = 4,                 /*   CMSDK Timer 1 Interrupt                                                  */
41   DUALTIMER_IRQn            = 5,                 /*   CMSDK Dual Timer Interrupt                                               */
42   MHU0_IRQn                 = 6,                 /*   Message Handling Unit 0 Interrupt                                        */
43   MHU1_IRQn                 = 7,                 /*   Message Handling Unit 1 Interrupt                                        */
44   CRYPTOCELL_IRQn           = 8,                 /*   CryptoCell-312 Interrupt                                                 */
45   S_MPC_COMBINED_IRQn       = 9,                 /*   Secure Combined MPC Interrupt                                            */
46   S_PPC_COMBINED_IRQn       = 10,                /*   Secure Combined PPC Interrupt                                            */
47   S_MSC_COMBINED_IRQn       = 11,                /*   Secure Combined MSC Interrupt                                            */
48   S_BRIDGE_ERR_IRQn         = 12,                /*   Secure Bridge Error Combined Interrupt                                   */
49   I_CACHE_INV_ERR_IRQn      = 13,                /*   Instruction Cache Invalidation Interrupt                                 */
50   /* Reserved               = 14,                     Reserved                                                                 */
51   SYS_PPU_IRQn              = 15,                /*   System PPU Interrupt                                                     */
52   CPU0_PPU_IRQn             = 16,                /*   CPU0 PPU Interrupt                                                       */
53   CPU1_PPU_IRQn             = 17,                /*   CPU1 PPU Interrupt                                                       */
54   CPU0_DGB_PPU_IRQn         = 18,                /*   CPU0 Debug PPU Interrupt                                                 */
55   CPU1_DGB_PPU_IRQn         = 19,                /*   CPU1 Debug PPU Interrupt                                                 */
56   CRYPTOCELL_PPU_IRQn       = 20,                /*   CryptoCell PPU Interrupt                                                 */
57   /* Reserved               = 21,                     Reserved                                                                 */
58   RAM0_PPU_IRQn             = 22,                /*   RAM 0 PPU Interrupt                                                      */
59   RAM1_PPU_IRQn             = 23,                /*   RAM 1 PPU Interrupt                                                      */
60   RAM2_PPU_IRQn             = 24,                /*   RAM 2 PPU Interrupt                                                      */
61   RAM3_PPU_IRQn             = 25,                /*   RAM 3 PPU Interrupt                                                      */
62   DEBUG_PPU_IRQn            = 26,                /*   Debug PPU Interrupt                                                      */
63   /* Reserved               = 27,                     Reserved                                                                 */
64   CPU0_CTI_IRQn             = 28,                /*   CPU0 CTI Interrupt                                                       */
65   CPU1_CTI_IRQn             = 29,                /*   CPU1 CTI Interrupt                                                       */
66   /* Reserved               = 30,                     Reserved                                                                 */
67   /* Reserved               = 31,                     Reserved                                                                 */
68 /* ==========================================  Musca Specific Expansion Interrupt Numbers  =================================== */
69   /* None                   = 32,                     Not used. Tied to 0                                                      */
70   GpTimer_IRQn              = 33,                /*   General Purpose Timer Interrupt                                          */
71   I2C0_IRQn                 = 34,                /*   I2C0 Interrupt                                                           */
72   I2C1_IRQn                 = 35,                /*   I2C1 Interrupt                                                           */
73   I2S_IRQn                  = 36,                /*   I2S Interrupt                                                            */
74   SPI_IRQn                  = 37,                /*   SPI Interrupt                                                            */
75   QSPI_IRQn                 = 38,                /*   QSPI Interrupt                                                           */
76   UART0_Rx_IRQn             = 39,                /*   UART0 receive FIFO interrupt                                             */
77   UART0_Tx_IRQn             = 40,                /*   UART0 transmit FIFO interrupt                                            */
78   UART0_RxTimeout_IRQn      = 41,                /*   UART0 receive timeout interrupt                                          */
79   UART0_ModemStatus_IRQn    = 42,                /*   UART0 modem status interrupt                                             */
80   UART0_Error_IRQn          = 43,                /*   UART0 error interrupt                                                    */
81   UART0_IRQn                = 44,                /*   UART0 interrupt                                                          */
82   UART1_Rx_IRQn             = 45,                /*   UART1 receive FIFO interrupt                                             */
83   UART1_Tx_IRQn             = 46,                /*   UART1 transmit FIFO interrupt                                            */
84   UART1_RxTimeout_IRQn      = 47,                /*   UART1 receive timeout interrupt                                          */
85   UART1_ModemStatus_IRQn    = 48,                /*   UART1 modem status interrupt                                             */
86   UART1_Error_IRQn          = 49,                /*   UART1 error interrupt                                                    */
87   UART1_IRQn                = 50,                /*   UART1 interrupt                                                          */
88   GPIO_0_IRQn               = 51,                /*   GPIO 0 interrupt                                                         */
89   GPIO_1_IRQn               = 52,                /*   GPIO 1 interrupt                                                         */
90   GPIO_2_IRQn               = 53,                /*   GPIO 2 interrupt                                                         */
91   GPIO_3_IRQn               = 54,                /*   GPIO 3 interrupt                                                         */
92   GPIO_4_IRQn               = 55,                /*   GPIO 4 interrupt                                                         */
93   GPIO_5_IRQn               = 56,                /*   GPIO 5 interrupt                                                         */
94   GPIO_6_IRQn               = 57,                /*   GPIO 6 interrupt                                                         */
95   GPIO_7_IRQn               = 58,                /*   GPIO 7 interrupt                                                         */
96   GPIO_8_IRQn               = 59,                /*   GPIO 8 interrupt                                                         */
97   GPIO_9_IRQn               = 60,                /*   GPIO 9 interrupt                                                         */
98   GPIO_10_IRQn              = 61,                /*   GPIO 10 interrupt                                                        */
99   GPIO_11_IRQn              = 62,                /*   GPIO 11 interrupt                                                        */
100   GPIO_12_IRQn              = 63,                /*   GPIO 12 interrupt                                                        */
101   GPIO_13_IRQn              = 64,                /*   GPIO 13 interrupt                                                        */
102   GPIO_14_IRQn              = 65,                /*   GPIO 14 interrupt                                                        */
103   GPIO_15_IRQn              = 66,                /*   GPIO 15 interrupt                                                        */
104   Combined_IRQn             = 67,                /*   Combined interrupt                                                       */
105   PVT_IRQn                  = 68,                /*   PVT sensor interrupt                                                     */
106   /* Reserved               = 69,                     Reserved                                                                 */
107   PWM_0_IRQn                = 70,                /*   PWM0 interrupt                                                           */
108   RTC_IRQn                  = 71,                /*   RTC interrupt                                                            */
109   GpTimer0_IRQn             = 72,                /*   General Purpose Timer0 Interrupt                                         */
110   GpTimer1_IRQn             = 73,                /*   General Purpose Timer1 Interrupt                                         */
111   PWM_1_IRQn                = 74,                /*   PWM1 interrupt                                                           */
112   PWM_2_IRQn                = 75,                /*   PWM2 interrupt                                                           */
113   IOMUX_IRQn                = 76,                /*   IOMUX interrupt                                                          */
114 } IRQn_Type;
115 
116 
117 
118 /* =========================================================================================================================== */
119 /* ================                           Processor and Core Peripheral Section                           ================ */
120 /* =========================================================================================================================== */
121 
122 /* --------  Configuration of the Cortex-M33 Processor and Core Peripherals  ------ */
123 #define __CM33_REV                0x0000U   /* Core revision r0p1 */
124 #define __SAUREGION_PRESENT       1U        /* SAU regions present */
125 #define __MPU_PRESENT             1U        /* MPU present */
126 #define __VTOR_PRESENT            1U        /* VTOR present */
127 #define __NVIC_PRIO_BITS          3U        /* Number of Bits used for Priority Levels */
128 #define __Vendor_SysTickConfig    0U        /* Set to 1 if different SysTick Config is used */
129 
130 /* CORE 0 doesn't have FPU or DSP */
131 #define __FPU_PRESENT             0U        /* no FPU present */
132 #define __DSP_PRESENT             0U        /* no DSP extension present */
133 
134 #ifdef __cplusplus
135 }
136 #endif
137 
138 #include <core_cm33.h>                           /*!< ARM Cortex-M33 processor and core peripherals */
139 
140 #endif  /* SYSTEM_CMSDK_MUSCA_B1_H */
141