1 /* 2 * Header file for PIC32CX1025SG61128 3 * 4 * Copyright (c) 2023 Microchip Technology Inc. and its subsidiaries. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 */ 19 20 /* File generated from device description file (ATDF) version 2023-03-17T09:48:59Z */ 21 #ifndef _PIC32CX1025SG61128_H_ 22 #define _PIC32CX1025SG61128_H_ 23 24 /* Header version uses Semantic Versioning 2.0.0 (https://semver.org/) */ 25 #define HEADER_FORMAT_VERSION "2.1.1" 26 27 #define HEADER_FORMAT_VERSION_MAJOR (2) 28 #define HEADER_FORMAT_VERSION_MINOR (1) 29 #define HEADER_FORMAT_VERSION_PATCH (1) 30 31 /* PIC32CX1025SG61128 definitions 32 This file defines all structures and symbols for PIC32CX1025SG61128: 33 - registers and bitfields 34 - peripheral base address 35 - peripheral ID 36 - PIO definitions 37 */ 38 39 #ifdef __cplusplus 40 extern "C" { 41 #endif 42 43 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) 44 # include <stdint.h> 45 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */ 46 47 #if !defined(SKIP_INTEGER_LITERALS) 48 # if defined(_UINT8_) || defined(_UINT16_) || defined(_UINT32_) 49 # error "Integer constant value macros already defined elsewhere" 50 # endif 51 52 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) 53 /* Macros that deal with sizes of integer constants for C/C++ */ 54 # define _UINT8_(x) ((uint8_t)(x)) /* C code: 8-bits unsigned integer constant value */ 55 # define _UINT16_(x) ((uint16_t)(x)) /* C code: 16-bits unsigned integer constant value */ 56 # define _UINT32_(x) ((uint32_t)(x)) /* C code: 32-bits unsigned integer constant value */ 57 58 #else /* Assembler */ 59 60 # define _UINT8_(x) x /* Assembler: 8-bits unsigned integer constant value */ 61 # define _UINT16_(x) x /* Assembler: 16-bits unsigned integer constant value */ 62 # define _UINT32_(x) x /* Assembler: 32-bits unsigned integer constant value */ 63 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */ 64 #endif /* SKIP_INTEGER_LITERALS */ 65 66 /* ************************************************************************** */ 67 /* CMSIS DEFINITIONS FOR PIC32CX1025SG61128 */ 68 /* ************************************************************************** */ 69 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) 70 /* Interrupt Number Definition */ 71 typedef enum IRQn 72 { 73 /****** CORTEX-M4 Processor Exceptions Numbers ******************************/ 74 Reset_IRQn = -15, /* -15 Reset Vector, invoked on Power up and warm reset */ 75 NonMaskableInt_IRQn = -14, /* -14 Non maskable Interrupt, cannot be stopped or preempted */ 76 HardFault_IRQn = -13, /* -13 Hard Fault, all classes of Fault */ 77 MemoryManagement_IRQn = -12, /* -12 Memory Management, MPU mismatch, including Access Violation and No Match */ 78 BusFault_IRQn = -11, /* -11 Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory related Fault */ 79 UsageFault_IRQn = -10, /* -10 Usage Fault, i.e. Undef Instruction, Illegal State Transition */ 80 SVCall_IRQn = -5, /* -5 System Service Call via SVC instruction */ 81 DebugMonitor_IRQn = -4, /* -4 Debug Monitor */ 82 PendSV_IRQn = -2, /* -2 Pendable request for system service */ 83 SysTick_IRQn = -1, /* -1 System Tick Timer */ 84 85 /****** PIC32CX1025SG61128 specific Interrupt Numbers ***********************************/ 86 PM_IRQn = 0, /* 0 Power Manager (PM) */ 87 MCLK_IRQn = 1, /* 1 Main Clock (MCLK) */ 88 OSCCTRL_XOSC0_IRQn = 2, /* 2 Oscillators Control (OSCCTRL) */ 89 OSCCTRL_XOSC1_IRQn = 3, /* 3 Oscillators Control (OSCCTRL) */ 90 OSCCTRL_DFLL_IRQn = 4, /* 4 Oscillators Control (OSCCTRL) */ 91 OSCCTRL_DPLL0_IRQn = 5, /* 5 Oscillators Control (OSCCTRL) */ 92 OSCCTRL_DPLL1_IRQn = 6, /* 6 Oscillators Control (OSCCTRL) */ 93 OSC32KCTRL_IRQn = 7, /* 7 32kHz Oscillators Control (OSC32KCTRL) */ 94 SUPC_OTHER_IRQn = 8, /* 8 Supply Controller (SUPC) */ 95 SUPC_BODDET_IRQn = 9, /* 9 Supply Controller (SUPC) */ 96 WDT_IRQn = 10, /* 10 Watchdog Timer (WDT) */ 97 RTC_IRQn = 11, /* 11 Real-Time Counter (RTC) */ 98 EIC_EXTINT_0_IRQn = 12, /* 12 External Interrupt Controller (EIC) */ 99 EIC_EXTINT_1_IRQn = 13, /* 13 External Interrupt Controller (EIC) */ 100 EIC_EXTINT_2_IRQn = 14, /* 14 External Interrupt Controller (EIC) */ 101 EIC_EXTINT_3_IRQn = 15, /* 15 External Interrupt Controller (EIC) */ 102 EIC_EXTINT_4_IRQn = 16, /* 16 External Interrupt Controller (EIC) */ 103 EIC_EXTINT_5_IRQn = 17, /* 17 External Interrupt Controller (EIC) */ 104 EIC_EXTINT_6_IRQn = 18, /* 18 External Interrupt Controller (EIC) */ 105 EIC_EXTINT_7_IRQn = 19, /* 19 External Interrupt Controller (EIC) */ 106 EIC_EXTINT_8_IRQn = 20, /* 20 External Interrupt Controller (EIC) */ 107 EIC_EXTINT_9_IRQn = 21, /* 21 External Interrupt Controller (EIC) */ 108 EIC_EXTINT_10_IRQn = 22, /* 22 External Interrupt Controller (EIC) */ 109 EIC_EXTINT_11_IRQn = 23, /* 23 External Interrupt Controller (EIC) */ 110 EIC_EXTINT_12_IRQn = 24, /* 24 External Interrupt Controller (EIC) */ 111 EIC_EXTINT_13_IRQn = 25, /* 25 External Interrupt Controller (EIC) */ 112 EIC_EXTINT_14_IRQn = 26, /* 26 External Interrupt Controller (EIC) */ 113 EIC_EXTINT_15_IRQn = 27, /* 27 External Interrupt Controller (EIC) */ 114 FREQM_IRQn = 28, /* 28 Frequency Meter (FREQM) */ 115 NVMCTRL_0_IRQn = 29, /* 29 Non-Volatile Memory Controller (NVMCTRL) */ 116 NVMCTRL_1_IRQn = 30, /* 30 Non-Volatile Memory Controller (NVMCTRL) */ 117 DMAC_0_IRQn = 31, /* 31 Direct Memory Access Controller (DMAC) */ 118 DMAC_1_IRQn = 32, /* 32 Direct Memory Access Controller (DMAC) */ 119 DMAC_2_IRQn = 33, /* 33 Direct Memory Access Controller (DMAC) */ 120 DMAC_3_IRQn = 34, /* 34 Direct Memory Access Controller (DMAC) */ 121 DMAC_OTHER_IRQn = 35, /* 35 Direct Memory Access Controller (DMAC) */ 122 EVSYS_0_IRQn = 36, /* 36 Event System Interface (EVSYS) */ 123 EVSYS_1_IRQn = 37, /* 37 Event System Interface (EVSYS) */ 124 EVSYS_2_IRQn = 38, /* 38 Event System Interface (EVSYS) */ 125 EVSYS_3_IRQn = 39, /* 39 Event System Interface (EVSYS) */ 126 EVSYS_OTHER_IRQn = 40, /* 40 Event System Interface (EVSYS) */ 127 PAC_IRQn = 41, /* 41 Peripheral Access Controller (PAC) */ 128 RAMECC_IRQn = 45, /* 45 RAM ECC (RAMECC) */ 129 SERCOM0_0_IRQn = 46, /* 46 Serial Communication Interface (SERCOM0) */ 130 SERCOM0_1_IRQn = 47, /* 47 Serial Communication Interface (SERCOM0) */ 131 SERCOM0_2_IRQn = 48, /* 48 Serial Communication Interface (SERCOM0) */ 132 SERCOM0_OTHER_IRQn = 49, /* 49 Serial Communication Interface (SERCOM0) */ 133 SERCOM1_0_IRQn = 50, /* 50 Serial Communication Interface (SERCOM1) */ 134 SERCOM1_1_IRQn = 51, /* 51 Serial Communication Interface (SERCOM1) */ 135 SERCOM1_2_IRQn = 52, /* 52 Serial Communication Interface (SERCOM1) */ 136 SERCOM1_OTHER_IRQn = 53, /* 53 Serial Communication Interface (SERCOM1) */ 137 SERCOM2_0_IRQn = 54, /* 54 Serial Communication Interface (SERCOM2) */ 138 SERCOM2_1_IRQn = 55, /* 55 Serial Communication Interface (SERCOM2) */ 139 SERCOM2_2_IRQn = 56, /* 56 Serial Communication Interface (SERCOM2) */ 140 SERCOM2_OTHER_IRQn = 57, /* 57 Serial Communication Interface (SERCOM2) */ 141 SERCOM3_0_IRQn = 58, /* 58 Serial Communication Interface (SERCOM3) */ 142 SERCOM3_1_IRQn = 59, /* 59 Serial Communication Interface (SERCOM3) */ 143 SERCOM3_2_IRQn = 60, /* 60 Serial Communication Interface (SERCOM3) */ 144 SERCOM3_OTHER_IRQn = 61, /* 61 Serial Communication Interface (SERCOM3) */ 145 SERCOM4_0_IRQn = 62, /* 62 Serial Communication Interface (SERCOM4) */ 146 SERCOM4_1_IRQn = 63, /* 63 Serial Communication Interface (SERCOM4) */ 147 SERCOM4_2_IRQn = 64, /* 64 Serial Communication Interface (SERCOM4) */ 148 SERCOM4_OTHER_IRQn = 65, /* 65 Serial Communication Interface (SERCOM4) */ 149 SERCOM5_0_IRQn = 66, /* 66 Serial Communication Interface (SERCOM5) */ 150 SERCOM5_1_IRQn = 67, /* 67 Serial Communication Interface (SERCOM5) */ 151 SERCOM5_2_IRQn = 68, /* 68 Serial Communication Interface (SERCOM5) */ 152 SERCOM5_OTHER_IRQn = 69, /* 69 Serial Communication Interface (SERCOM5) */ 153 SERCOM6_0_IRQn = 70, /* 70 Serial Communication Interface (SERCOM6) */ 154 SERCOM6_1_IRQn = 71, /* 71 Serial Communication Interface (SERCOM6) */ 155 SERCOM6_2_IRQn = 72, /* 72 Serial Communication Interface (SERCOM6) */ 156 SERCOM6_OTHER_IRQn = 73, /* 73 Serial Communication Interface (SERCOM6) */ 157 SERCOM7_0_IRQn = 74, /* 74 Serial Communication Interface (SERCOM7) */ 158 SERCOM7_1_IRQn = 75, /* 75 Serial Communication Interface (SERCOM7) */ 159 SERCOM7_2_IRQn = 76, /* 76 Serial Communication Interface (SERCOM7) */ 160 SERCOM7_OTHER_IRQn = 77, /* 77 Serial Communication Interface (SERCOM7) */ 161 CAN0_IRQn = 78, /* 78 Control Area Network (CAN0) */ 162 CAN1_IRQn = 79, /* 79 Control Area Network (CAN1) */ 163 USB_OTHER_IRQn = 80, /* 80 Universal Serial Bus (USB) */ 164 USB_SOF_HSOF_IRQn = 81, /* 81 Universal Serial Bus (USB) */ 165 USB_TRCPT0_IRQn = 82, /* 82 Universal Serial Bus (USB) */ 166 USB_TRCPT1_IRQn = 83, /* 83 Universal Serial Bus (USB) */ 167 GMAC_IRQn = 84, /* 84 Ethernet MAC (GMAC) */ 168 TCC0_OTHER_IRQn = 85, /* 85 Timer Counter Control (TCC0) */ 169 TCC0_MC0_IRQn = 86, /* 86 Timer Counter Control (TCC0) */ 170 TCC0_MC1_IRQn = 87, /* 87 Timer Counter Control (TCC0) */ 171 TCC0_MC2_IRQn = 88, /* 88 Timer Counter Control (TCC0) */ 172 TCC0_MC3_IRQn = 89, /* 89 Timer Counter Control (TCC0) */ 173 TCC0_MC4_IRQn = 90, /* 90 Timer Counter Control (TCC0) */ 174 TCC0_MC5_IRQn = 91, /* 91 Timer Counter Control (TCC0) */ 175 TCC1_OTHER_IRQn = 92, /* 92 Timer Counter Control (TCC1) */ 176 TCC1_MC0_IRQn = 93, /* 93 Timer Counter Control (TCC1) */ 177 TCC1_MC1_IRQn = 94, /* 94 Timer Counter Control (TCC1) */ 178 TCC1_MC2_IRQn = 95, /* 95 Timer Counter Control (TCC1) */ 179 TCC1_MC3_IRQn = 96, /* 96 Timer Counter Control (TCC1) */ 180 TCC2_OTHER_IRQn = 97, /* 97 Timer Counter Control (TCC2) */ 181 TCC2_MC0_IRQn = 98, /* 98 Timer Counter Control (TCC2) */ 182 TCC2_MC1_IRQn = 99, /* 99 Timer Counter Control (TCC2) */ 183 TCC2_MC2_IRQn = 100, /* 100 Timer Counter Control (TCC2) */ 184 TCC3_OTHER_IRQn = 101, /* 101 Timer Counter Control (TCC3) */ 185 TCC3_MC0_IRQn = 102, /* 102 Timer Counter Control (TCC3) */ 186 TCC3_MC1_IRQn = 103, /* 103 Timer Counter Control (TCC3) */ 187 TCC4_OTHER_IRQn = 104, /* 104 Timer Counter Control (TCC4) */ 188 TCC4_MC0_IRQn = 105, /* 105 Timer Counter Control (TCC4) */ 189 TCC4_MC1_IRQn = 106, /* 106 Timer Counter Control (TCC4) */ 190 TC0_IRQn = 107, /* 107 Basic Timer Counter (TC0) */ 191 TC1_IRQn = 108, /* 108 Basic Timer Counter (TC1) */ 192 TC2_IRQn = 109, /* 109 Basic Timer Counter (TC2) */ 193 TC3_IRQn = 110, /* 110 Basic Timer Counter (TC3) */ 194 TC4_IRQn = 111, /* 111 Basic Timer Counter (TC4) */ 195 TC5_IRQn = 112, /* 112 Basic Timer Counter (TC5) */ 196 TC6_IRQn = 113, /* 113 Basic Timer Counter (TC6) */ 197 TC7_IRQn = 114, /* 114 Basic Timer Counter (TC7) */ 198 PDEC_OTHER_IRQn = 115, /* 115 Quadrature Decodeur (PDEC) */ 199 PDEC_MC0_IRQn = 116, /* 116 Quadrature Decodeur (PDEC) */ 200 PDEC_MC1_IRQn = 117, /* 117 Quadrature Decodeur (PDEC) */ 201 ADC0_OTHER_IRQn = 118, /* 118 Analog Digital Converter (ADC0) */ 202 ADC0_RESRDY_IRQn = 119, /* 119 Analog Digital Converter (ADC0) */ 203 ADC1_OTHER_IRQn = 120, /* 120 Analog Digital Converter (ADC1) */ 204 ADC1_RESRDY_IRQn = 121, /* 121 Analog Digital Converter (ADC1) */ 205 AC_IRQn = 122, /* 122 Analog Comparators (AC) */ 206 DAC_OTHER_IRQn = 123, /* 123 Digital-to-Analog Converter (DAC) */ 207 DAC_EMPTY_0_IRQn = 124, /* 124 Digital-to-Analog Converter (DAC) */ 208 DAC_EMPTY_1_IRQn = 125, /* 125 Digital-to-Analog Converter (DAC) */ 209 I2S_IRQn = 128, /* 128 Inter-IC Sound Interface (I2S) */ 210 PCC_IRQn = 129, /* 129 Parallel Capture Controller (PCC) */ 211 AES_IRQn = 130, /* 130 Advanced Encryption Standard (AES) */ 212 TRNG_IRQn = 131, /* 131 True Random Generator (TRNG) */ 213 ICM_IRQn = 132, /* 132 Integrity Check Monitor (ICM) */ 214 PUKCC_IRQn = 133, /* 133 PUblic-Key Cryptography Controller (PUKCC) */ 215 QSPI_IRQn = 134, /* 134 Quad SPI interface (QSPI) */ 216 SDHC0_IRQn = 135, /* 135 SD/MMC Host Controller (SDHC0) */ 217 SDHC1_IRQn = 136, /* 136 SD/MMC Host Controller (SDHC1) */ 218 219 PERIPH_MAX_IRQn = 136 /* Max peripheral ID */ 220 } IRQn_Type; 221 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */ 222 223 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) 224 typedef struct _DeviceVectors 225 { 226 /* Stack pointer */ 227 void* pvStack; 228 /* CORTEX-M4 handlers */ 229 void* pfnReset_Handler; /* -15 Reset Vector, invoked on Power up and warm reset */ 230 void* pfnNonMaskableInt_Handler; /* -14 Non maskable Interrupt, cannot be stopped or preempted */ 231 void* pfnHardFault_Handler; /* -13 Hard Fault, all classes of Fault */ 232 void* pfnMemoryManagement_Handler; /* -12 Memory Management, MPU mismatch, including Access Violation and No Match */ 233 void* pfnBusFault_Handler; /* -11 Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory related Fault */ 234 void* pfnUsageFault_Handler; /* -10 Usage Fault, i.e. Undef Instruction, Illegal State Transition */ 235 void* pvReservedC9; 236 void* pvReservedC8; 237 void* pvReservedC7; 238 void* pvReservedC6; 239 void* pfnSVCall_Handler; /* -5 System Service Call via SVC instruction */ 240 void* pfnDebugMonitor_Handler; /* -4 Debug Monitor */ 241 void* pvReservedC3; 242 void* pfnPendSV_Handler; /* -2 Pendable request for system service */ 243 void* pfnSysTick_Handler; /* -1 System Tick Timer */ 244 245 /* Peripheral handlers */ 246 void* pfnPM_Handler; /* 0 Power Manager (PM) */ 247 void* pfnMCLK_Handler; /* 1 Main Clock (MCLK) */ 248 void* pfnOSCCTRL_XOSC0_Handler; /* 2 Oscillators Control (OSCCTRL) */ 249 void* pfnOSCCTRL_XOSC1_Handler; /* 3 Oscillators Control (OSCCTRL) */ 250 void* pfnOSCCTRL_DFLL_Handler; /* 4 Oscillators Control (OSCCTRL) */ 251 void* pfnOSCCTRL_DPLL0_Handler; /* 5 Oscillators Control (OSCCTRL) */ 252 void* pfnOSCCTRL_DPLL1_Handler; /* 6 Oscillators Control (OSCCTRL) */ 253 void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control (OSC32KCTRL) */ 254 void* pfnSUPC_OTHER_Handler; /* 8 Supply Controller (SUPC) */ 255 void* pfnSUPC_BODDET_Handler; /* 9 Supply Controller (SUPC) */ 256 void* pfnWDT_Handler; /* 10 Watchdog Timer (WDT) */ 257 void* pfnRTC_Handler; /* 11 Real-Time Counter (RTC) */ 258 void* pfnEIC_EXTINT_0_Handler; /* 12 External Interrupt Controller (EIC) */ 259 void* pfnEIC_EXTINT_1_Handler; /* 13 External Interrupt Controller (EIC) */ 260 void* pfnEIC_EXTINT_2_Handler; /* 14 External Interrupt Controller (EIC) */ 261 void* pfnEIC_EXTINT_3_Handler; /* 15 External Interrupt Controller (EIC) */ 262 void* pfnEIC_EXTINT_4_Handler; /* 16 External Interrupt Controller (EIC) */ 263 void* pfnEIC_EXTINT_5_Handler; /* 17 External Interrupt Controller (EIC) */ 264 void* pfnEIC_EXTINT_6_Handler; /* 18 External Interrupt Controller (EIC) */ 265 void* pfnEIC_EXTINT_7_Handler; /* 19 External Interrupt Controller (EIC) */ 266 void* pfnEIC_EXTINT_8_Handler; /* 20 External Interrupt Controller (EIC) */ 267 void* pfnEIC_EXTINT_9_Handler; /* 21 External Interrupt Controller (EIC) */ 268 void* pfnEIC_EXTINT_10_Handler; /* 22 External Interrupt Controller (EIC) */ 269 void* pfnEIC_EXTINT_11_Handler; /* 23 External Interrupt Controller (EIC) */ 270 void* pfnEIC_EXTINT_12_Handler; /* 24 External Interrupt Controller (EIC) */ 271 void* pfnEIC_EXTINT_13_Handler; /* 25 External Interrupt Controller (EIC) */ 272 void* pfnEIC_EXTINT_14_Handler; /* 26 External Interrupt Controller (EIC) */ 273 void* pfnEIC_EXTINT_15_Handler; /* 27 External Interrupt Controller (EIC) */ 274 void* pfnFREQM_Handler; /* 28 Frequency Meter (FREQM) */ 275 void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller (NVMCTRL) */ 276 void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller (NVMCTRL) */ 277 void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller (DMAC) */ 278 void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller (DMAC) */ 279 void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller (DMAC) */ 280 void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller (DMAC) */ 281 void* pfnDMAC_OTHER_Handler; /* 35 Direct Memory Access Controller (DMAC) */ 282 void* pfnEVSYS_0_Handler; /* 36 Event System Interface (EVSYS) */ 283 void* pfnEVSYS_1_Handler; /* 37 Event System Interface (EVSYS) */ 284 void* pfnEVSYS_2_Handler; /* 38 Event System Interface (EVSYS) */ 285 void* pfnEVSYS_3_Handler; /* 39 Event System Interface (EVSYS) */ 286 void* pfnEVSYS_OTHER_Handler; /* 40 Event System Interface (EVSYS) */ 287 void* pfnPAC_Handler; /* 41 Peripheral Access Controller (PAC) */ 288 void* pvReserved42; 289 void* pvReserved43; 290 void* pvReserved44; 291 void* pfnRAMECC_Handler; /* 45 RAM ECC (RAMECC) */ 292 void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface (SERCOM0) */ 293 void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface (SERCOM0) */ 294 void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface (SERCOM0) */ 295 void* pfnSERCOM0_OTHER_Handler; /* 49 Serial Communication Interface (SERCOM0) */ 296 void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface (SERCOM1) */ 297 void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface (SERCOM1) */ 298 void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface (SERCOM1) */ 299 void* pfnSERCOM1_OTHER_Handler; /* 53 Serial Communication Interface (SERCOM1) */ 300 void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface (SERCOM2) */ 301 void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface (SERCOM2) */ 302 void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface (SERCOM2) */ 303 void* pfnSERCOM2_OTHER_Handler; /* 57 Serial Communication Interface (SERCOM2) */ 304 void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface (SERCOM3) */ 305 void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface (SERCOM3) */ 306 void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface (SERCOM3) */ 307 void* pfnSERCOM3_OTHER_Handler; /* 61 Serial Communication Interface (SERCOM3) */ 308 void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface (SERCOM4) */ 309 void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface (SERCOM4) */ 310 void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface (SERCOM4) */ 311 void* pfnSERCOM4_OTHER_Handler; /* 65 Serial Communication Interface (SERCOM4) */ 312 void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface (SERCOM5) */ 313 void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface (SERCOM5) */ 314 void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface (SERCOM5) */ 315 void* pfnSERCOM5_OTHER_Handler; /* 69 Serial Communication Interface (SERCOM5) */ 316 void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface (SERCOM6) */ 317 void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface (SERCOM6) */ 318 void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface (SERCOM6) */ 319 void* pfnSERCOM6_OTHER_Handler; /* 73 Serial Communication Interface (SERCOM6) */ 320 void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface (SERCOM7) */ 321 void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface (SERCOM7) */ 322 void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface (SERCOM7) */ 323 void* pfnSERCOM7_OTHER_Handler; /* 77 Serial Communication Interface (SERCOM7) */ 324 void* pfnCAN0_Handler; /* 78 Control Area Network (CAN0) */ 325 void* pfnCAN1_Handler; /* 79 Control Area Network (CAN1) */ 326 void* pfnUSB_OTHER_Handler; /* 80 Universal Serial Bus (USB) */ 327 void* pfnUSB_SOF_HSOF_Handler; /* 81 Universal Serial Bus (USB) */ 328 void* pfnUSB_TRCPT0_Handler; /* 82 Universal Serial Bus (USB) */ 329 void* pfnUSB_TRCPT1_Handler; /* 83 Universal Serial Bus (USB) */ 330 void* pfnGMAC_Handler; /* 84 Ethernet MAC (GMAC) */ 331 void* pfnTCC0_OTHER_Handler; /* 85 Timer Counter Control (TCC0) */ 332 void* pfnTCC0_MC0_Handler; /* 86 Timer Counter Control (TCC0) */ 333 void* pfnTCC0_MC1_Handler; /* 87 Timer Counter Control (TCC0) */ 334 void* pfnTCC0_MC2_Handler; /* 88 Timer Counter Control (TCC0) */ 335 void* pfnTCC0_MC3_Handler; /* 89 Timer Counter Control (TCC0) */ 336 void* pfnTCC0_MC4_Handler; /* 90 Timer Counter Control (TCC0) */ 337 void* pfnTCC0_MC5_Handler; /* 91 Timer Counter Control (TCC0) */ 338 void* pfnTCC1_OTHER_Handler; /* 92 Timer Counter Control (TCC1) */ 339 void* pfnTCC1_MC0_Handler; /* 93 Timer Counter Control (TCC1) */ 340 void* pfnTCC1_MC1_Handler; /* 94 Timer Counter Control (TCC1) */ 341 void* pfnTCC1_MC2_Handler; /* 95 Timer Counter Control (TCC1) */ 342 void* pfnTCC1_MC3_Handler; /* 96 Timer Counter Control (TCC1) */ 343 void* pfnTCC2_OTHER_Handler; /* 97 Timer Counter Control (TCC2) */ 344 void* pfnTCC2_MC0_Handler; /* 98 Timer Counter Control (TCC2) */ 345 void* pfnTCC2_MC1_Handler; /* 99 Timer Counter Control (TCC2) */ 346 void* pfnTCC2_MC2_Handler; /* 100 Timer Counter Control (TCC2) */ 347 void* pfnTCC3_OTHER_Handler; /* 101 Timer Counter Control (TCC3) */ 348 void* pfnTCC3_MC0_Handler; /* 102 Timer Counter Control (TCC3) */ 349 void* pfnTCC3_MC1_Handler; /* 103 Timer Counter Control (TCC3) */ 350 void* pfnTCC4_OTHER_Handler; /* 104 Timer Counter Control (TCC4) */ 351 void* pfnTCC4_MC0_Handler; /* 105 Timer Counter Control (TCC4) */ 352 void* pfnTCC4_MC1_Handler; /* 106 Timer Counter Control (TCC4) */ 353 void* pfnTC0_Handler; /* 107 Basic Timer Counter (TC0) */ 354 void* pfnTC1_Handler; /* 108 Basic Timer Counter (TC1) */ 355 void* pfnTC2_Handler; /* 109 Basic Timer Counter (TC2) */ 356 void* pfnTC3_Handler; /* 110 Basic Timer Counter (TC3) */ 357 void* pfnTC4_Handler; /* 111 Basic Timer Counter (TC4) */ 358 void* pfnTC5_Handler; /* 112 Basic Timer Counter (TC5) */ 359 void* pfnTC6_Handler; /* 113 Basic Timer Counter (TC6) */ 360 void* pfnTC7_Handler; /* 114 Basic Timer Counter (TC7) */ 361 void* pfnPDEC_OTHER_Handler; /* 115 Quadrature Decodeur (PDEC) */ 362 void* pfnPDEC_MC0_Handler; /* 116 Quadrature Decodeur (PDEC) */ 363 void* pfnPDEC_MC1_Handler; /* 117 Quadrature Decodeur (PDEC) */ 364 void* pfnADC0_OTHER_Handler; /* 118 Analog Digital Converter (ADC0) */ 365 void* pfnADC0_RESRDY_Handler; /* 119 Analog Digital Converter (ADC0) */ 366 void* pfnADC1_OTHER_Handler; /* 120 Analog Digital Converter (ADC1) */ 367 void* pfnADC1_RESRDY_Handler; /* 121 Analog Digital Converter (ADC1) */ 368 void* pfnAC_Handler; /* 122 Analog Comparators (AC) */ 369 void* pfnDAC_OTHER_Handler; /* 123 Digital-to-Analog Converter (DAC) */ 370 void* pfnDAC_EMPTY_0_Handler; /* 124 Digital-to-Analog Converter (DAC) */ 371 void* pfnDAC_EMPTY_1_Handler; /* 125 Digital-to-Analog Converter (DAC) */ 372 void* pvReserved126; 373 void* pvReserved127; 374 void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface (I2S) */ 375 void* pfnPCC_Handler; /* 129 Parallel Capture Controller (PCC) */ 376 void* pfnAES_Handler; /* 130 Advanced Encryption Standard (AES) */ 377 void* pfnTRNG_Handler; /* 131 True Random Generator (TRNG) */ 378 void* pfnICM_Handler; /* 132 Integrity Check Monitor (ICM) */ 379 void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller (PUKCC) */ 380 void* pfnQSPI_Handler; /* 134 Quad SPI interface (QSPI) */ 381 void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller (SDHC0) */ 382 void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller (SDHC1) */ 383 } DeviceVectors; 384 385 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */ 386 387 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) 388 #if !defined DONT_USE_PREDEFINED_CORE_HANDLERS 389 /* CORTEX-M4 exception handlers */ 390 void Reset_Handler ( void ); 391 void NonMaskableInt_Handler ( void ); 392 void HardFault_Handler ( void ); 393 void MemoryManagement_Handler ( void ); 394 void BusFault_Handler ( void ); 395 void UsageFault_Handler ( void ); 396 void SVCall_Handler ( void ); 397 void DebugMonitor_Handler ( void ); 398 void PendSV_Handler ( void ); 399 void SysTick_Handler ( void ); 400 #endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */ 401 402 #if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS 403 /* Peripherals interrupt handlers */ 404 void PM_Handler ( void ); 405 void MCLK_Handler ( void ); 406 void OSCCTRL_XOSC0_Handler ( void ); 407 void OSCCTRL_XOSC1_Handler ( void ); 408 void OSCCTRL_DFLL_Handler ( void ); 409 void OSCCTRL_DPLL0_Handler ( void ); 410 void OSCCTRL_DPLL1_Handler ( void ); 411 void OSC32KCTRL_Handler ( void ); 412 void SUPC_OTHER_Handler ( void ); 413 void SUPC_BODDET_Handler ( void ); 414 void WDT_Handler ( void ); 415 void RTC_Handler ( void ); 416 void EIC_EXTINT_0_Handler ( void ); 417 void EIC_EXTINT_1_Handler ( void ); 418 void EIC_EXTINT_2_Handler ( void ); 419 void EIC_EXTINT_3_Handler ( void ); 420 void EIC_EXTINT_4_Handler ( void ); 421 void EIC_EXTINT_5_Handler ( void ); 422 void EIC_EXTINT_6_Handler ( void ); 423 void EIC_EXTINT_7_Handler ( void ); 424 void EIC_EXTINT_8_Handler ( void ); 425 void EIC_EXTINT_9_Handler ( void ); 426 void EIC_EXTINT_10_Handler ( void ); 427 void EIC_EXTINT_11_Handler ( void ); 428 void EIC_EXTINT_12_Handler ( void ); 429 void EIC_EXTINT_13_Handler ( void ); 430 void EIC_EXTINT_14_Handler ( void ); 431 void EIC_EXTINT_15_Handler ( void ); 432 void FREQM_Handler ( void ); 433 void NVMCTRL_0_Handler ( void ); 434 void NVMCTRL_1_Handler ( void ); 435 void DMAC_0_Handler ( void ); 436 void DMAC_1_Handler ( void ); 437 void DMAC_2_Handler ( void ); 438 void DMAC_3_Handler ( void ); 439 void DMAC_OTHER_Handler ( void ); 440 void EVSYS_0_Handler ( void ); 441 void EVSYS_1_Handler ( void ); 442 void EVSYS_2_Handler ( void ); 443 void EVSYS_3_Handler ( void ); 444 void EVSYS_OTHER_Handler ( void ); 445 void PAC_Handler ( void ); 446 void RAMECC_Handler ( void ); 447 void SERCOM0_0_Handler ( void ); 448 void SERCOM0_1_Handler ( void ); 449 void SERCOM0_2_Handler ( void ); 450 void SERCOM0_OTHER_Handler ( void ); 451 void SERCOM1_0_Handler ( void ); 452 void SERCOM1_1_Handler ( void ); 453 void SERCOM1_2_Handler ( void ); 454 void SERCOM1_OTHER_Handler ( void ); 455 void SERCOM2_0_Handler ( void ); 456 void SERCOM2_1_Handler ( void ); 457 void SERCOM2_2_Handler ( void ); 458 void SERCOM2_OTHER_Handler ( void ); 459 void SERCOM3_0_Handler ( void ); 460 void SERCOM3_1_Handler ( void ); 461 void SERCOM3_2_Handler ( void ); 462 void SERCOM3_OTHER_Handler ( void ); 463 void SERCOM4_0_Handler ( void ); 464 void SERCOM4_1_Handler ( void ); 465 void SERCOM4_2_Handler ( void ); 466 void SERCOM4_OTHER_Handler ( void ); 467 void SERCOM5_0_Handler ( void ); 468 void SERCOM5_1_Handler ( void ); 469 void SERCOM5_2_Handler ( void ); 470 void SERCOM5_OTHER_Handler ( void ); 471 void SERCOM6_0_Handler ( void ); 472 void SERCOM6_1_Handler ( void ); 473 void SERCOM6_2_Handler ( void ); 474 void SERCOM6_OTHER_Handler ( void ); 475 void SERCOM7_0_Handler ( void ); 476 void SERCOM7_1_Handler ( void ); 477 void SERCOM7_2_Handler ( void ); 478 void SERCOM7_OTHER_Handler ( void ); 479 void CAN0_Handler ( void ); 480 void CAN1_Handler ( void ); 481 void USB_OTHER_Handler ( void ); 482 void USB_SOF_HSOF_Handler ( void ); 483 void USB_TRCPT0_Handler ( void ); 484 void USB_TRCPT1_Handler ( void ); 485 void GMAC_Handler ( void ); 486 void TCC0_OTHER_Handler ( void ); 487 void TCC0_MC0_Handler ( void ); 488 void TCC0_MC1_Handler ( void ); 489 void TCC0_MC2_Handler ( void ); 490 void TCC0_MC3_Handler ( void ); 491 void TCC0_MC4_Handler ( void ); 492 void TCC0_MC5_Handler ( void ); 493 void TCC1_OTHER_Handler ( void ); 494 void TCC1_MC0_Handler ( void ); 495 void TCC1_MC1_Handler ( void ); 496 void TCC1_MC2_Handler ( void ); 497 void TCC1_MC3_Handler ( void ); 498 void TCC2_OTHER_Handler ( void ); 499 void TCC2_MC0_Handler ( void ); 500 void TCC2_MC1_Handler ( void ); 501 void TCC2_MC2_Handler ( void ); 502 void TCC3_OTHER_Handler ( void ); 503 void TCC3_MC0_Handler ( void ); 504 void TCC3_MC1_Handler ( void ); 505 void TCC4_OTHER_Handler ( void ); 506 void TCC4_MC0_Handler ( void ); 507 void TCC4_MC1_Handler ( void ); 508 void TC0_Handler ( void ); 509 void TC1_Handler ( void ); 510 void TC2_Handler ( void ); 511 void TC3_Handler ( void ); 512 void TC4_Handler ( void ); 513 void TC5_Handler ( void ); 514 void TC6_Handler ( void ); 515 void TC7_Handler ( void ); 516 void PDEC_OTHER_Handler ( void ); 517 void PDEC_MC0_Handler ( void ); 518 void PDEC_MC1_Handler ( void ); 519 void ADC0_OTHER_Handler ( void ); 520 void ADC0_RESRDY_Handler ( void ); 521 void ADC1_OTHER_Handler ( void ); 522 void ADC1_RESRDY_Handler ( void ); 523 void AC_Handler ( void ); 524 void DAC_OTHER_Handler ( void ); 525 void DAC_EMPTY_0_Handler ( void ); 526 void DAC_EMPTY_1_Handler ( void ); 527 void I2S_Handler ( void ); 528 void PCC_Handler ( void ); 529 void AES_Handler ( void ); 530 void TRNG_Handler ( void ); 531 void ICM_Handler ( void ); 532 void PUKCC_Handler ( void ); 533 void QSPI_Handler ( void ); 534 void SDHC0_Handler ( void ); 535 void SDHC1_Handler ( void ); 536 #endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */ 537 #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */ 538 539 /* Configuration of the CORTEX-M4 Processor and Core Peripherals */ 540 #define __CM4_REV 0x0001 /* Cortex-M4 Core Revision */ 541 #define __DEBUG_LVL 3 /* Debug Level */ 542 #define __FPU_PRESENT 1 /* FPU present or not */ 543 #define __MPU_PRESENT 1 /* MPU present or not */ 544 #define __NVIC_PRIO_BITS 3 /* Number of Bits used for Priority Levels */ 545 #define __TRACE_LVL 2 /* Trace Level */ 546 #define __VTOR_PRESENT 1 /* Vector Table Offset Register present or not */ 547 #define __Vendor_SysTickConfig 0 /* Set to 1 if different SysTick Config is used */ 548 #define __ARCH_ARM 1 549 #define __ARCH_ARM_CORTEX_M 1 550 551 /* CMSIS includes */ 552 #include "core_cm4.h" 553 #if defined USE_CMSIS_INIT 554 #include "system_pic32cxsg61.h" 555 #endif /* USE_CMSIS_INIT */ 556 557 /* ************************************************************************** */ 558 /* SOFTWARE PERIPHERAL API DEFINITION FOR PIC32CX1025SG61128 */ 559 /* ************************************************************************** */ 560 #include "component/ac.h" 561 #include "component/adc.h" 562 #include "component/aes.h" 563 #include "component/can.h" 564 #include "component/ccl.h" 565 #include "component/cmcc.h" 566 #include "component/dac.h" 567 #include "component/dmac.h" 568 #include "component/dsu.h" 569 #include "component/eic.h" 570 #include "component/evsys.h" 571 #include "component/freqm.h" 572 #include "component/fuses.h" 573 #include "component/gclk.h" 574 #include "component/gmac.h" 575 #include "component/hmatrixb.h" 576 #include "component/i2s.h" 577 #include "component/icm.h" 578 #include "component/mclk.h" 579 #include "component/nvmctrl.h" 580 #include "component/osc32kctrl.h" 581 #include "component/oscctrl.h" 582 #include "component/pac.h" 583 #include "component/pcc.h" 584 #include "component/pdec.h" 585 #include "component/pm.h" 586 #include "component/port.h" 587 #include "component/pukcc.h" 588 #include "component/qspi.h" 589 #include "component/ramecc.h" 590 #include "component/rstc.h" 591 #include "component/rtc.h" 592 #include "component/sdhc.h" 593 #include "component/sercom.h" 594 #include "component/supc.h" 595 #include "component/tc.h" 596 #include "component/tcc.h" 597 #include "component/trng.h" 598 #include "component/usb.h" 599 #include "component/wdt.h" 600 601 /* ************************************************************************** */ 602 /* INSTANCE DEFINITIONS FOR PIC32CX1025SG61128 */ 603 /* ************************************************************************** */ 604 #include "instance/ac.h" 605 #include "instance/adc0.h" 606 #include "instance/adc1.h" 607 #include "instance/aes.h" 608 #include "instance/can0.h" 609 #include "instance/can1.h" 610 #include "instance/ccl.h" 611 #include "instance/cmcc.h" 612 #include "instance/dac.h" 613 #include "instance/dmac.h" 614 #include "instance/dsu.h" 615 #include "instance/eic.h" 616 #include "instance/evsys.h" 617 #include "instance/freqm.h" 618 #include "instance/fuses.h" 619 #include "instance/gclk.h" 620 #include "instance/gmac.h" 621 #include "instance/hmatrix.h" 622 #include "instance/i2s.h" 623 #include "instance/icm.h" 624 #include "instance/mclk.h" 625 #include "instance/nvmctrl.h" 626 #include "instance/osc32kctrl.h" 627 #include "instance/oscctrl.h" 628 #include "instance/pac.h" 629 #include "instance/pcc.h" 630 #include "instance/pdec.h" 631 #include "instance/pm.h" 632 #include "instance/port.h" 633 #include "instance/qspi.h" 634 #include "instance/ramecc.h" 635 #include "instance/rstc.h" 636 #include "instance/rtc.h" 637 #include "instance/sdhc0.h" 638 #include "instance/sdhc1.h" 639 #include "instance/sercom0.h" 640 #include "instance/sercom1.h" 641 #include "instance/sercom2.h" 642 #include "instance/sercom3.h" 643 #include "instance/sercom4.h" 644 #include "instance/sercom5.h" 645 #include "instance/sercom6.h" 646 #include "instance/sercom7.h" 647 #include "instance/supc.h" 648 #include "instance/tc0.h" 649 #include "instance/tc1.h" 650 #include "instance/tc2.h" 651 #include "instance/tc3.h" 652 #include "instance/tc4.h" 653 #include "instance/tc5.h" 654 #include "instance/tc6.h" 655 #include "instance/tc7.h" 656 #include "instance/tcc0.h" 657 #include "instance/tcc1.h" 658 #include "instance/tcc2.h" 659 #include "instance/tcc3.h" 660 #include "instance/tcc4.h" 661 #include "instance/trng.h" 662 #include "instance/usb.h" 663 #include "instance/wdt.h" 664 665 /* ************************************************************************** */ 666 /* PERIPHERAL ID DEFINITIONS FOR PIC32CX1025SG61128 */ 667 /* ************************************************************************** */ 668 #define ID_PAC ( 0) /* Instance index for PAC (PAC) */ 669 #define ID_PM ( 1) /* Instance index for PM (PM) */ 670 #define ID_MCLK ( 2) /* Instance index for MCLK (MCLK) */ 671 #define ID_RSTC ( 3) /* Instance index for RSTC (RSTC) */ 672 #define ID_OSCCTRL ( 4) /* Instance index for OSCCTRL (OSCCTRL) */ 673 #define ID_OSC32KCTRL ( 5) /* Instance index for OSC32KCTRL (OSC32KCTRL) */ 674 #define ID_SUPC ( 6) /* Instance index for SUPC (SUPC) */ 675 #define ID_GCLK ( 7) /* Instance index for GCLK (GCLK) */ 676 #define ID_WDT ( 8) /* Instance index for WDT (WDT) */ 677 #define ID_RTC ( 9) /* Instance index for RTC (RTC) */ 678 #define ID_EIC ( 10) /* Instance index for EIC (EIC) */ 679 #define ID_FREQM ( 11) /* Instance index for FREQM (FREQM) */ 680 #define ID_SERCOM0 ( 12) /* Instance index for SERCOM0 (SERCOM0) */ 681 #define ID_SERCOM1 ( 13) /* Instance index for SERCOM1 (SERCOM1) */ 682 #define ID_TC0 ( 14) /* Instance index for TC0 (TC0) */ 683 #define ID_TC1 ( 15) /* Instance index for TC1 (TC1) */ 684 #define ID_USB ( 32) /* Instance index for USB (USB) */ 685 #define ID_DSU ( 33) /* Instance index for DSU (DSU) */ 686 #define ID_NVMCTRL ( 34) /* Instance index for NVMCTRL (NVMCTRL) */ 687 #define ID_CMCC ( 35) /* Instance index for CMCC (CMCC) */ 688 #define ID_PORT ( 36) /* Instance index for PORT (PORT) */ 689 #define ID_DMAC ( 37) /* Instance index for DMAC (DMAC) */ 690 #define ID_HMATRIX ( 38) /* Instance index for HMATRIX (HMATRIX) */ 691 #define ID_EVSYS ( 39) /* Instance index for EVSYS (EVSYS) */ 692 #define ID_SERCOM2 ( 41) /* Instance index for SERCOM2 (SERCOM2) */ 693 #define ID_SERCOM3 ( 42) /* Instance index for SERCOM3 (SERCOM3) */ 694 #define ID_TCC0 ( 43) /* Instance index for TCC0 (TCC0) */ 695 #define ID_TCC1 ( 44) /* Instance index for TCC1 (TCC1) */ 696 #define ID_TC2 ( 45) /* Instance index for TC2 (TC2) */ 697 #define ID_TC3 ( 46) /* Instance index for TC3 (TC3) */ 698 #define ID_RAMECC ( 48) /* Instance index for RAMECC (RAMECC) */ 699 #define ID_CAN0 ( 64) /* Instance index for CAN0 (CAN0) */ 700 #define ID_CAN1 ( 65) /* Instance index for CAN1 (CAN1) */ 701 #define ID_GMAC ( 66) /* Instance index for GMAC (GMAC) */ 702 #define ID_TCC2 ( 67) /* Instance index for TCC2 (TCC2) */ 703 #define ID_TCC3 ( 68) /* Instance index for TCC3 (TCC3) */ 704 #define ID_TC4 ( 69) /* Instance index for TC4 (TC4) */ 705 #define ID_TC5 ( 70) /* Instance index for TC5 (TC5) */ 706 #define ID_PDEC ( 71) /* Instance index for PDEC (PDEC) */ 707 #define ID_AC ( 72) /* Instance index for AC (AC) */ 708 #define ID_AES ( 73) /* Instance index for AES (AES) */ 709 #define ID_TRNG ( 74) /* Instance index for TRNG (TRNG) */ 710 #define ID_ICM ( 75) /* Integrity Check Monitor (ICM) */ 711 #define ID_PUKCC ( 76) /* Instance index for PUKCC (PUKCC) */ 712 #define ID_QSPI ( 77) /* Instance index for QSPI (QSPI) */ 713 #define ID_CCL ( 78) /* Instance index for CCL (CCL) */ 714 #define ID_SERCOM4 ( 96) /* Instance index for SERCOM4 (SERCOM4) */ 715 #define ID_SERCOM5 ( 97) /* Instance index for SERCOM5 (SERCOM5) */ 716 #define ID_SERCOM6 ( 98) /* Instance index for SERCOM6 (SERCOM6) */ 717 #define ID_SERCOM7 ( 99) /* Instance index for SERCOM7 (SERCOM7) */ 718 #define ID_TCC4 (100) /* Instance index for TCC4 (TCC4) */ 719 #define ID_TC6 (101) /* Instance index for TC6 (TC6) */ 720 #define ID_TC7 (102) /* Instance index for TC7 (TC7) */ 721 #define ID_ADC0 (103) /* Instance index for ADC0 (ADC0) */ 722 #define ID_ADC1 (104) /* Instance index for ADC1 (ADC1) */ 723 #define ID_DAC (105) /* Instance index for DAC (DAC) */ 724 #define ID_I2S (106) /* Instance index for I2S (I2S) */ 725 #define ID_PCC (107) /* Instance index for PCC (PCC) */ 726 727 #define ID_PERIPH_MAX (107) /* Number of peripheral IDs */ 728 729 /* ************************************************************************** */ 730 /* REGISTER STRUCTURE ADDRESS DEFINITIONS FOR PIC32CX1025SG61128 */ 731 /* ************************************************************************** */ 732 #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) 733 #define AC_REGS ((ac_registers_t*)0x42002000) /* AC Registers Address */ 734 #define ADC0_REGS ((adc_registers_t*)0x43001c00) /* ADC0 Registers Address */ 735 #define ADC1_REGS ((adc_registers_t*)0x43002000) /* ADC1 Registers Address */ 736 #define AES_REGS ((aes_registers_t*)0x42002400) /* AES Registers Address */ 737 #define CAN0_REGS ((can_registers_t*)0x42000000) /* CAN0 Registers Address */ 738 #define CAN1_REGS ((can_registers_t*)0x42000400) /* CAN1 Registers Address */ 739 #define CCL_REGS ((ccl_registers_t*)0x42003800) /* CCL Registers Address */ 740 #define CMCC_REGS ((cmcc_registers_t*)0x41006000) /* CMCC Registers Address */ 741 #define DAC_REGS ((dac_registers_t*)0x43002400) /* DAC Registers Address */ 742 #define DMAC_REGS ((dmac_registers_t*)0x4100a000) /* DMAC Registers Address */ 743 #define DSU_REGS ((dsu_registers_t*)0x41002000) /* DSU Registers Address */ 744 #define EIC_REGS ((eic_registers_t*)0x40002800) /* EIC Registers Address */ 745 #define EVSYS_REGS ((evsys_registers_t*)0x4100e000) /* EVSYS Registers Address */ 746 #define FREQM_REGS ((freqm_registers_t*)0x40002c00) /* FREQM Registers Address */ 747 #define GCLK_REGS ((gclk_registers_t*)0x40001c00) /* GCLK Registers Address */ 748 #define GMAC_REGS ((gmac_registers_t*)0x42000800) /* GMAC Registers Address */ 749 #define HMATRIX_REGS ((hmatrixb_registers_t*)0x4100c000) /* HMATRIX Registers Address */ 750 #define ICM_REGS ((icm_registers_t*)0x42002c00) /* ICM Registers Address */ 751 #define I2S_REGS ((i2s_registers_t*)0x43002800) /* I2S Registers Address */ 752 #define MCLK_REGS ((mclk_registers_t*)0x40000800) /* MCLK Registers Address */ 753 #define NVMCTRL_REGS ((nvmctrl_registers_t*)0x41004000) /* NVMCTRL Registers Address */ 754 #define SW0_FUSES_REGS ((fuses_sw0_fuses_registers_t*)0x00800080) /* FUSES Registers Address */ 755 #define USER_FUSES_REGS ((fuses_user_fuses_registers_t*)0x00804000) /* FUSES Registers Address */ 756 #define OSCCTRL_REGS ((oscctrl_registers_t*)0x40001000) /* OSCCTRL Registers Address */ 757 #define OSC32KCTRL_REGS ((osc32kctrl_registers_t*)0x40001400) /* OSC32KCTRL Registers Address */ 758 #define PAC_REGS ((pac_registers_t*)0x40000000) /* PAC Registers Address */ 759 #define PCC_REGS ((pcc_registers_t*)0x43002c00) /* PCC Registers Address */ 760 #define PDEC_REGS ((pdec_registers_t*)0x42001c00) /* PDEC Registers Address */ 761 #define PM_REGS ((pm_registers_t*)0x40000400) /* PM Registers Address */ 762 #define PORT_REGS ((port_registers_t*)0x41008000) /* PORT Registers Address */ 763 #define QSPI_REGS ((qspi_registers_t*)0x42003400) /* QSPI Registers Address */ 764 #define RAMECC_REGS ((ramecc_registers_t*)0x41020000) /* RAMECC Registers Address */ 765 #define RSTC_REGS ((rstc_registers_t*)0x40000c00) /* RSTC Registers Address */ 766 #define RTC_REGS ((rtc_registers_t*)0x40002400) /* RTC Registers Address */ 767 #define SDHC0_REGS ((sdhc_registers_t*)0x45000000) /* SDHC0 Registers Address */ 768 #define SDHC1_REGS ((sdhc_registers_t*)0x46000000) /* SDHC1 Registers Address */ 769 #define SERCOM0_REGS ((sercom_registers_t*)0x40003000) /* SERCOM0 Registers Address */ 770 #define SERCOM1_REGS ((sercom_registers_t*)0x40003400) /* SERCOM1 Registers Address */ 771 #define SERCOM2_REGS ((sercom_registers_t*)0x41012000) /* SERCOM2 Registers Address */ 772 #define SERCOM3_REGS ((sercom_registers_t*)0x41014000) /* SERCOM3 Registers Address */ 773 #define SERCOM4_REGS ((sercom_registers_t*)0x43000000) /* SERCOM4 Registers Address */ 774 #define SERCOM5_REGS ((sercom_registers_t*)0x43000400) /* SERCOM5 Registers Address */ 775 #define SERCOM6_REGS ((sercom_registers_t*)0x43000800) /* SERCOM6 Registers Address */ 776 #define SERCOM7_REGS ((sercom_registers_t*)0x43000c00) /* SERCOM7 Registers Address */ 777 #define SUPC_REGS ((supc_registers_t*)0x40001800) /* SUPC Registers Address */ 778 #define TC0_REGS ((tc_registers_t*)0x40003800) /* TC0 Registers Address */ 779 #define TC1_REGS ((tc_registers_t*)0x40003c00) /* TC1 Registers Address */ 780 #define TC2_REGS ((tc_registers_t*)0x4101a000) /* TC2 Registers Address */ 781 #define TC3_REGS ((tc_registers_t*)0x4101c000) /* TC3 Registers Address */ 782 #define TC4_REGS ((tc_registers_t*)0x42001400) /* TC4 Registers Address */ 783 #define TC5_REGS ((tc_registers_t*)0x42001800) /* TC5 Registers Address */ 784 #define TC6_REGS ((tc_registers_t*)0x43001400) /* TC6 Registers Address */ 785 #define TC7_REGS ((tc_registers_t*)0x43001800) /* TC7 Registers Address */ 786 #define TCC0_REGS ((tcc_registers_t*)0x41016000) /* TCC0 Registers Address */ 787 #define TCC1_REGS ((tcc_registers_t*)0x41018000) /* TCC1 Registers Address */ 788 #define TCC2_REGS ((tcc_registers_t*)0x42000c00) /* TCC2 Registers Address */ 789 #define TCC3_REGS ((tcc_registers_t*)0x42001000) /* TCC3 Registers Address */ 790 #define TCC4_REGS ((tcc_registers_t*)0x43001000) /* TCC4 Registers Address */ 791 #define TRNG_REGS ((trng_registers_t*)0x42002800) /* TRNG Registers Address */ 792 #define USB_REGS ((usb_registers_t*)0x41000000) /* USB Registers Address */ 793 #define WDT_REGS ((wdt_registers_t*)0x40002000) /* WDT Registers Address */ 794 #endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */ 795 796 /* ************************************************************************** */ 797 /* BASE ADDRESS DEFINITIONS FOR PIC32CX1025SG61128 */ 798 /* ************************************************************************** */ 799 #define AC_BASE_ADDRESS _UINT32_(0x42002000) /* AC Base Address */ 800 #define ADC0_BASE_ADDRESS _UINT32_(0x43001c00) /* ADC0 Base Address */ 801 #define ADC1_BASE_ADDRESS _UINT32_(0x43002000) /* ADC1 Base Address */ 802 #define AES_BASE_ADDRESS _UINT32_(0x42002400) /* AES Base Address */ 803 #define CAN0_BASE_ADDRESS _UINT32_(0x42000000) /* CAN0 Base Address */ 804 #define CAN1_BASE_ADDRESS _UINT32_(0x42000400) /* CAN1 Base Address */ 805 #define CCL_BASE_ADDRESS _UINT32_(0x42003800) /* CCL Base Address */ 806 #define CMCC_BASE_ADDRESS _UINT32_(0x41006000) /* CMCC Base Address */ 807 #define DAC_BASE_ADDRESS _UINT32_(0x43002400) /* DAC Base Address */ 808 #define DMAC_BASE_ADDRESS _UINT32_(0x4100a000) /* DMAC Base Address */ 809 #define DSU_BASE_ADDRESS _UINT32_(0x41002000) /* DSU Base Address */ 810 #define EIC_BASE_ADDRESS _UINT32_(0x40002800) /* EIC Base Address */ 811 #define EVSYS_BASE_ADDRESS _UINT32_(0x4100e000) /* EVSYS Base Address */ 812 #define FREQM_BASE_ADDRESS _UINT32_(0x40002c00) /* FREQM Base Address */ 813 #define GCLK_BASE_ADDRESS _UINT32_(0x40001c00) /* GCLK Base Address */ 814 #define GMAC_BASE_ADDRESS _UINT32_(0x42000800) /* GMAC Base Address */ 815 #define HMATRIX_BASE_ADDRESS _UINT32_(0x4100c000) /* HMATRIX Base Address */ 816 #define ICM_BASE_ADDRESS _UINT32_(0x42002c00) /* ICM Base Address */ 817 #define I2S_BASE_ADDRESS _UINT32_(0x43002800) /* I2S Base Address */ 818 #define MCLK_BASE_ADDRESS _UINT32_(0x40000800) /* MCLK Base Address */ 819 #define NVMCTRL_BASE_ADDRESS _UINT32_(0x41004000) /* NVMCTRL Base Address */ 820 #define SW0_FUSES_BASE_ADDRESS _UINT32_(0x00800080) /* FUSES Base Address */ 821 #define USER_FUSES_BASE_ADDRESS _UINT32_(0x00804000) /* FUSES Base Address */ 822 #define OSCCTRL_BASE_ADDRESS _UINT32_(0x40001000) /* OSCCTRL Base Address */ 823 #define OSC32KCTRL_BASE_ADDRESS _UINT32_(0x40001400) /* OSC32KCTRL Base Address */ 824 #define PAC_BASE_ADDRESS _UINT32_(0x40000000) /* PAC Base Address */ 825 #define PCC_BASE_ADDRESS _UINT32_(0x43002c00) /* PCC Base Address */ 826 #define PDEC_BASE_ADDRESS _UINT32_(0x42001c00) /* PDEC Base Address */ 827 #define PM_BASE_ADDRESS _UINT32_(0x40000400) /* PM Base Address */ 828 #define PORT_BASE_ADDRESS _UINT32_(0x41008000) /* PORT Base Address */ 829 #define QSPI_BASE_ADDRESS _UINT32_(0x42003400) /* QSPI Base Address */ 830 #define RAMECC_BASE_ADDRESS _UINT32_(0x41020000) /* RAMECC Base Address */ 831 #define RSTC_BASE_ADDRESS _UINT32_(0x40000c00) /* RSTC Base Address */ 832 #define RTC_BASE_ADDRESS _UINT32_(0x40002400) /* RTC Base Address */ 833 #define SDHC0_BASE_ADDRESS _UINT32_(0x45000000) /* SDHC0 Base Address */ 834 #define SDHC1_BASE_ADDRESS _UINT32_(0x46000000) /* SDHC1 Base Address */ 835 #define SERCOM0_BASE_ADDRESS _UINT32_(0x40003000) /* SERCOM0 Base Address */ 836 #define SERCOM1_BASE_ADDRESS _UINT32_(0x40003400) /* SERCOM1 Base Address */ 837 #define SERCOM2_BASE_ADDRESS _UINT32_(0x41012000) /* SERCOM2 Base Address */ 838 #define SERCOM3_BASE_ADDRESS _UINT32_(0x41014000) /* SERCOM3 Base Address */ 839 #define SERCOM4_BASE_ADDRESS _UINT32_(0x43000000) /* SERCOM4 Base Address */ 840 #define SERCOM5_BASE_ADDRESS _UINT32_(0x43000400) /* SERCOM5 Base Address */ 841 #define SERCOM6_BASE_ADDRESS _UINT32_(0x43000800) /* SERCOM6 Base Address */ 842 #define SERCOM7_BASE_ADDRESS _UINT32_(0x43000c00) /* SERCOM7 Base Address */ 843 #define SUPC_BASE_ADDRESS _UINT32_(0x40001800) /* SUPC Base Address */ 844 #define TC0_BASE_ADDRESS _UINT32_(0x40003800) /* TC0 Base Address */ 845 #define TC1_BASE_ADDRESS _UINT32_(0x40003c00) /* TC1 Base Address */ 846 #define TC2_BASE_ADDRESS _UINT32_(0x4101a000) /* TC2 Base Address */ 847 #define TC3_BASE_ADDRESS _UINT32_(0x4101c000) /* TC3 Base Address */ 848 #define TC4_BASE_ADDRESS _UINT32_(0x42001400) /* TC4 Base Address */ 849 #define TC5_BASE_ADDRESS _UINT32_(0x42001800) /* TC5 Base Address */ 850 #define TC6_BASE_ADDRESS _UINT32_(0x43001400) /* TC6 Base Address */ 851 #define TC7_BASE_ADDRESS _UINT32_(0x43001800) /* TC7 Base Address */ 852 #define TCC0_BASE_ADDRESS _UINT32_(0x41016000) /* TCC0 Base Address */ 853 #define TCC1_BASE_ADDRESS _UINT32_(0x41018000) /* TCC1 Base Address */ 854 #define TCC2_BASE_ADDRESS _UINT32_(0x42000c00) /* TCC2 Base Address */ 855 #define TCC3_BASE_ADDRESS _UINT32_(0x42001000) /* TCC3 Base Address */ 856 #define TCC4_BASE_ADDRESS _UINT32_(0x43001000) /* TCC4 Base Address */ 857 #define TRNG_BASE_ADDRESS _UINT32_(0x42002800) /* TRNG Base Address */ 858 #define USB_BASE_ADDRESS _UINT32_(0x41000000) /* USB Base Address */ 859 #define WDT_BASE_ADDRESS _UINT32_(0x40002000) /* WDT Base Address */ 860 861 /* ************************************************************************** */ 862 /* PIO DEFINITIONS FOR PIC32CX1025SG61128 */ 863 /* ************************************************************************** */ 864 #include "pio/pic32cx1025sg61128.h" 865 866 /* ************************************************************************** */ 867 /* MEMORY MAPPING DEFINITIONS FOR PIC32CX1025SG61128 */ 868 /* ************************************************************************** */ 869 #define FLASH_SIZE _UINT32_(0x00100000) /* 1024kB Memory segment type: flash */ 870 #define FLASH_PAGE_SIZE _UINT32_( 512) 871 #define FLASH_NB_OF_PAGES _UINT32_( 2048) 872 873 #define SW0_SIZE _UINT32_(0x00000008) /* 0kB Memory segment type: fuses */ 874 #define USER_PAGE_SIZE _UINT32_(0x00000200) /* 0kB Memory segment type: user_page */ 875 #define USER_PAGE_PAGE_SIZE _UINT32_( 512) 876 #define USER_PAGE_NB_OF_PAGES _UINT32_( 1) 877 878 #define CMCC_SIZE _UINT32_(0x01000000) /* 16384kB Memory segment type: io */ 879 #define CMCC_DATARAM_SIZE _UINT32_(0x00001000) /* 4kB Memory segment type: io */ 880 #define CMCC_TAGRAM_SIZE _UINT32_(0x00000400) /* 1kB Memory segment type: io */ 881 #define CMCC_VALIDRAM_SIZE _UINT32_(0x00000040) /* 0kB Memory segment type: io */ 882 #define QSPI_SIZE _UINT32_(0x01000000) /* 16384kB Memory segment type: other */ 883 #define HSRAM_SIZE _UINT32_(0x00040000) /* 256kB Memory segment type: ram */ 884 #define HSRAM_ETB_SIZE _UINT32_(0x00008000) /* 32kB Memory segment type: ram */ 885 #define HSRAM_RET1_SIZE _UINT32_(0x00008000) /* 32kB Memory segment type: ram */ 886 #define HPB0_SIZE _UINT32_(0x00004400) /* 17kB Memory segment type: io */ 887 #define HPB1_SIZE _UINT32_(0x00022000) /* 136kB Memory segment type: io */ 888 #define HPB2_SIZE _UINT32_(0x00003c00) /* 15kB Memory segment type: io */ 889 #define HPB3_SIZE _UINT32_(0x00003000) /* 12kB Memory segment type: io */ 890 #define SEEPROM_SIZE _UINT32_(0x00020000) /* 128kB Memory segment type: io */ 891 #define SDHC0_SIZE _UINT32_(0x00000c00) /* 3kB Memory segment type: io */ 892 #define SDHC1_SIZE _UINT32_(0x00000c00) /* 3kB Memory segment type: io */ 893 #define BKUPRAM_SIZE _UINT32_(0x00002000) /* 8kB Memory segment type: ram */ 894 #define PPB_SIZE _UINT32_(0x00100000) /* 1024kB Memory segment type: io */ 895 #define SCS_SIZE _UINT32_(0x00001000) /* 4kB Memory segment type: io */ 896 897 #define FLASH_ADDR _UINT32_(0x00000000) /* FLASH base address (type: flash)*/ 898 #define SW0_ADDR _UINT32_(0x00800080) /* SW0 base address (type: fuses)*/ 899 #define USER_PAGE_ADDR _UINT32_(0x00804000) /* USER_PAGE base address (type: user_page)*/ 900 #define CMCC_ADDR _UINT32_(0x03000000) /* CMCC base address (type: io)*/ 901 #define CMCC_DATARAM_ADDR _UINT32_(0x03000000) /* CMCC_DATARAM base address (type: io)*/ 902 #define CMCC_TAGRAM_ADDR _UINT32_(0x03001000) /* CMCC_TAGRAM base address (type: io)*/ 903 #define CMCC_VALIDRAM_ADDR _UINT32_(0x03002000) /* CMCC_VALIDRAM base address (type: io)*/ 904 #define QSPI_ADDR _UINT32_(0x04000000) /* QSPI base address (type: other)*/ 905 #define HSRAM_ADDR _UINT32_(0x20000000) /* HSRAM base address (type: ram)*/ 906 #define HSRAM_ETB_ADDR _UINT32_(0x20000000) /* HSRAM_ETB base address (type: ram)*/ 907 #define HSRAM_RET1_ADDR _UINT32_(0x20000000) /* HSRAM_RET1 base address (type: ram)*/ 908 #define HPB0_ADDR _UINT32_(0x40000000) /* HPB0 base address (type: io)*/ 909 #define HPB1_ADDR _UINT32_(0x41000000) /* HPB1 base address (type: io)*/ 910 #define HPB2_ADDR _UINT32_(0x42000000) /* HPB2 base address (type: io)*/ 911 #define HPB3_ADDR _UINT32_(0x43000000) /* HPB3 base address (type: io)*/ 912 #define SEEPROM_ADDR _UINT32_(0x44000000) /* SEEPROM base address (type: io)*/ 913 #define SDHC0_ADDR _UINT32_(0x45000000) /* SDHC0 base address (type: io)*/ 914 #define SDHC1_ADDR _UINT32_(0x46000000) /* SDHC1 base address (type: io)*/ 915 #define BKUPRAM_ADDR _UINT32_(0x47000000) /* BKUPRAM base address (type: ram)*/ 916 #define PPB_ADDR _UINT32_(0xe0000000) /* PPB base address (type: io)*/ 917 #define SCS_ADDR _UINT32_(0xe000e000) /* SCS base address (type: io)*/ 918 919 /* ************************************************************************** */ 920 /* DEVICE SIGNATURES FOR PIC32CX1025SG61128 */ 921 /* ************************************************************************** */ 922 #define CHIP_DSU_DID _UINT32_(0X61820500) 923 924 /* ************************************************************************** */ 925 /* ELECTRICAL DEFINITIONS FOR PIC32CX1025SG61128 */ 926 /* ************************************************************************** */ 927 928 /* ************************************************************************** */ 929 /* Event Generator IDs for C32CX1025SG61128 */ 930 /* ************************************************************************** */ 931 #define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL_0 1 /* ID for OSCCTRL event generator XOSC_FAIL_0 */ 932 #define EVENT_ID_GEN_OSCCTRL_XOSC_FAIL_1 2 /* ID for OSCCTRL event generator XOSC_FAIL_1 */ 933 #define EVENT_ID_GEN_OSC32KCTRL_XOSC32K_FAIL 3 /* ID for OSC32KCTRL event generator XOSC32K_FAIL */ 934 #define EVENT_ID_GEN_RTC_PER_0 4 /* ID for RTC event generator PER_0 */ 935 #define EVENT_ID_GEN_RTC_PER_1 5 /* ID for RTC event generator PER_1 */ 936 #define EVENT_ID_GEN_RTC_PER_2 6 /* ID for RTC event generator PER_2 */ 937 #define EVENT_ID_GEN_RTC_PER_3 7 /* ID for RTC event generator PER_3 */ 938 #define EVENT_ID_GEN_RTC_PER_4 8 /* ID for RTC event generator PER_4 */ 939 #define EVENT_ID_GEN_RTC_PER_5 9 /* ID for RTC event generator PER_5 */ 940 #define EVENT_ID_GEN_RTC_PER_6 10 /* ID for RTC event generator PER_6 */ 941 #define EVENT_ID_GEN_RTC_PER_7 11 /* ID for RTC event generator PER_7 */ 942 #define EVENT_ID_GEN_RTC_CMP_0 12 /* ID for RTC event generator CMP_0 */ 943 #define EVENT_ID_GEN_RTC_CMP_1 13 /* ID for RTC event generator CMP_1 */ 944 #define EVENT_ID_GEN_RTC_CMP_2 14 /* ID for RTC event generator CMP_2 */ 945 #define EVENT_ID_GEN_RTC_CMP_3 15 /* ID for RTC event generator CMP_3 */ 946 #define EVENT_ID_GEN_RTC_TAMPER 16 /* ID for RTC event generator TAMPER */ 947 #define EVENT_ID_GEN_RTC_OVF 17 /* ID for RTC event generator OVF */ 948 #define EVENT_ID_GEN_EIC_EXTINT_0 18 /* ID for EIC event generator EXTINT_0 */ 949 #define EVENT_ID_GEN_EIC_EXTINT_1 19 /* ID for EIC event generator EXTINT_1 */ 950 #define EVENT_ID_GEN_EIC_EXTINT_2 20 /* ID for EIC event generator EXTINT_2 */ 951 #define EVENT_ID_GEN_EIC_EXTINT_3 21 /* ID for EIC event generator EXTINT_3 */ 952 #define EVENT_ID_GEN_EIC_EXTINT_4 22 /* ID for EIC event generator EXTINT_4 */ 953 #define EVENT_ID_GEN_EIC_EXTINT_5 23 /* ID for EIC event generator EXTINT_5 */ 954 #define EVENT_ID_GEN_EIC_EXTINT_6 24 /* ID for EIC event generator EXTINT_6 */ 955 #define EVENT_ID_GEN_EIC_EXTINT_7 25 /* ID for EIC event generator EXTINT_7 */ 956 #define EVENT_ID_GEN_EIC_EXTINT_8 26 /* ID for EIC event generator EXTINT_8 */ 957 #define EVENT_ID_GEN_EIC_EXTINT_9 27 /* ID for EIC event generator EXTINT_9 */ 958 #define EVENT_ID_GEN_EIC_EXTINT_10 28 /* ID for EIC event generator EXTINT_10 */ 959 #define EVENT_ID_GEN_EIC_EXTINT_11 29 /* ID for EIC event generator EXTINT_11 */ 960 #define EVENT_ID_GEN_EIC_EXTINT_12 30 /* ID for EIC event generator EXTINT_12 */ 961 #define EVENT_ID_GEN_EIC_EXTINT_13 31 /* ID for EIC event generator EXTINT_13 */ 962 #define EVENT_ID_GEN_EIC_EXTINT_14 32 /* ID for EIC event generator EXTINT_14 */ 963 #define EVENT_ID_GEN_EIC_EXTINT_15 33 /* ID for EIC event generator EXTINT_15 */ 964 #define EVENT_ID_GEN_DMAC_CH_0 34 /* ID for DMAC event generator CH_0 */ 965 #define EVENT_ID_GEN_DMAC_CH_1 35 /* ID for DMAC event generator CH_1 */ 966 #define EVENT_ID_GEN_DMAC_CH_2 36 /* ID for DMAC event generator CH_2 */ 967 #define EVENT_ID_GEN_DMAC_CH_3 37 /* ID for DMAC event generator CH_3 */ 968 #define EVENT_ID_GEN_PAC_ACCERR 38 /* ID for PAC event generator ACCERR */ 969 #define EVENT_ID_GEN_TCC0_OVF 41 /* ID for TCC0 event generator OVF */ 970 #define EVENT_ID_GEN_TCC0_TRG 42 /* ID for TCC0 event generator TRG */ 971 #define EVENT_ID_GEN_TCC0_CNT 43 /* ID for TCC0 event generator CNT */ 972 #define EVENT_ID_GEN_TCC0_MC_0 44 /* ID for TCC0 event generator MC_0 */ 973 #define EVENT_ID_GEN_TCC0_MC_1 45 /* ID for TCC0 event generator MC_1 */ 974 #define EVENT_ID_GEN_TCC0_MC_2 46 /* ID for TCC0 event generator MC_2 */ 975 #define EVENT_ID_GEN_TCC0_MC_3 47 /* ID for TCC0 event generator MC_3 */ 976 #define EVENT_ID_GEN_TCC0_MC_4 48 /* ID for TCC0 event generator MC_4 */ 977 #define EVENT_ID_GEN_TCC0_MC_5 49 /* ID for TCC0 event generator MC_5 */ 978 #define EVENT_ID_GEN_TCC1_OVF 50 /* ID for TCC1 event generator OVF */ 979 #define EVENT_ID_GEN_TCC1_TRG 51 /* ID for TCC1 event generator TRG */ 980 #define EVENT_ID_GEN_TCC1_CNT 52 /* ID for TCC1 event generator CNT */ 981 #define EVENT_ID_GEN_TCC1_MC_0 53 /* ID for TCC1 event generator MC_0 */ 982 #define EVENT_ID_GEN_TCC1_MC_1 54 /* ID for TCC1 event generator MC_1 */ 983 #define EVENT_ID_GEN_TCC1_MC_2 55 /* ID for TCC1 event generator MC_2 */ 984 #define EVENT_ID_GEN_TCC1_MC_3 56 /* ID for TCC1 event generator MC_3 */ 985 #define EVENT_ID_GEN_TCC2_OVF 57 /* ID for TCC2 event generator OVF */ 986 #define EVENT_ID_GEN_TCC2_TRG 58 /* ID for TCC2 event generator TRG */ 987 #define EVENT_ID_GEN_TCC2_CNT 59 /* ID for TCC2 event generator CNT */ 988 #define EVENT_ID_GEN_TCC2_MC_0 60 /* ID for TCC2 event generator MC_0 */ 989 #define EVENT_ID_GEN_TCC2_MC_1 61 /* ID for TCC2 event generator MC_1 */ 990 #define EVENT_ID_GEN_TCC2_MC_2 62 /* ID for TCC2 event generator MC_2 */ 991 #define EVENT_ID_GEN_TCC3_OVF 63 /* ID for TCC3 event generator OVF */ 992 #define EVENT_ID_GEN_TCC3_TRG 64 /* ID for TCC3 event generator TRG */ 993 #define EVENT_ID_GEN_TCC3_CNT 65 /* ID for TCC3 event generator CNT */ 994 #define EVENT_ID_GEN_TCC3_MC_0 66 /* ID for TCC3 event generator MC_0 */ 995 #define EVENT_ID_GEN_TCC3_MC_1 67 /* ID for TCC3 event generator MC_1 */ 996 #define EVENT_ID_GEN_TCC4_OVF 68 /* ID for TCC4 event generator OVF */ 997 #define EVENT_ID_GEN_TCC4_TRG 69 /* ID for TCC4 event generator TRG */ 998 #define EVENT_ID_GEN_TCC4_CNT 70 /* ID for TCC4 event generator CNT */ 999 #define EVENT_ID_GEN_TCC4_MC_0 71 /* ID for TCC4 event generator MC_0 */ 1000 #define EVENT_ID_GEN_TCC4_MC_1 72 /* ID for TCC4 event generator MC_1 */ 1001 #define EVENT_ID_GEN_TC0_OVF 73 /* ID for TC0 event generator OVF */ 1002 #define EVENT_ID_GEN_TC0_MC_0 74 /* ID for TC0 event generator MC_0 */ 1003 #define EVENT_ID_GEN_TC0_MC_1 75 /* ID for TC0 event generator MC_1 */ 1004 #define EVENT_ID_GEN_TC1_OVF 76 /* ID for TC1 event generator OVF */ 1005 #define EVENT_ID_GEN_TC1_MC_0 77 /* ID for TC1 event generator MC_0 */ 1006 #define EVENT_ID_GEN_TC1_MC_1 78 /* ID for TC1 event generator MC_1 */ 1007 #define EVENT_ID_GEN_TC2_OVF 79 /* ID for TC2 event generator OVF */ 1008 #define EVENT_ID_GEN_TC2_MC_0 80 /* ID for TC2 event generator MC_0 */ 1009 #define EVENT_ID_GEN_TC2_MC_1 81 /* ID for TC2 event generator MC_1 */ 1010 #define EVENT_ID_GEN_TC3_OVF 82 /* ID for TC3 event generator OVF */ 1011 #define EVENT_ID_GEN_TC3_MC_0 83 /* ID for TC3 event generator MC_0 */ 1012 #define EVENT_ID_GEN_TC3_MC_1 84 /* ID for TC3 event generator MC_1 */ 1013 #define EVENT_ID_GEN_TC4_OVF 85 /* ID for TC4 event generator OVF */ 1014 #define EVENT_ID_GEN_TC4_MC_0 86 /* ID for TC4 event generator MC_0 */ 1015 #define EVENT_ID_GEN_TC4_MC_1 87 /* ID for TC4 event generator MC_1 */ 1016 #define EVENT_ID_GEN_TC5_OVF 88 /* ID for TC5 event generator OVF */ 1017 #define EVENT_ID_GEN_TC5_MC_0 89 /* ID for TC5 event generator MC_0 */ 1018 #define EVENT_ID_GEN_TC5_MC_1 90 /* ID for TC5 event generator MC_1 */ 1019 #define EVENT_ID_GEN_TC6_OVF 91 /* ID for TC6 event generator OVF */ 1020 #define EVENT_ID_GEN_TC6_MC_0 92 /* ID for TC6 event generator MC_0 */ 1021 #define EVENT_ID_GEN_TC6_MC_1 93 /* ID for TC6 event generator MC_1 */ 1022 #define EVENT_ID_GEN_TC7_OVF 94 /* ID for TC7 event generator OVF */ 1023 #define EVENT_ID_GEN_TC7_MC_0 95 /* ID for TC7 event generator MC_0 */ 1024 #define EVENT_ID_GEN_TC7_MC_1 96 /* ID for TC7 event generator MC_1 */ 1025 #define EVENT_ID_GEN_PDEC_OVF 97 /* ID for PDEC event generator OVF */ 1026 #define EVENT_ID_GEN_PDEC_ERR 98 /* ID for PDEC event generator ERR */ 1027 #define EVENT_ID_GEN_PDEC_DIR 99 /* ID for PDEC event generator DIR */ 1028 #define EVENT_ID_GEN_PDEC_VLC 100 /* ID for PDEC event generator VLC */ 1029 #define EVENT_ID_GEN_PDEC_MC_0 101 /* ID for PDEC event generator MC_0 */ 1030 #define EVENT_ID_GEN_PDEC_MC_1 102 /* ID for PDEC event generator MC_1 */ 1031 #define EVENT_ID_GEN_ADC0_RESRDY 103 /* ID for ADC0 event generator RESRDY */ 1032 #define EVENT_ID_GEN_ADC0_WINMON 104 /* ID for ADC0 event generator WINMON */ 1033 #define EVENT_ID_GEN_ADC1_RESRDY 105 /* ID for ADC1 event generator RESRDY */ 1034 #define EVENT_ID_GEN_ADC1_WINMON 106 /* ID for ADC1 event generator WINMON */ 1035 #define EVENT_ID_GEN_AC_COMP_0 107 /* ID for AC event generator COMP_0 */ 1036 #define EVENT_ID_GEN_AC_COMP_1 108 /* ID for AC event generator COMP_1 */ 1037 #define EVENT_ID_GEN_AC_WIN_0 109 /* ID for AC event generator WIN_0 */ 1038 #define EVENT_ID_GEN_DAC_EMPTY_0 110 /* ID for DAC event generator EMPTY_0 */ 1039 #define EVENT_ID_GEN_DAC_EMPTY_1 111 /* ID for DAC event generator EMPTY_1 */ 1040 #define EVENT_ID_GEN_GMAC_TSU_CMP 114 /* ID for GMAC event generator TSU_CMP */ 1041 #define EVENT_ID_GEN_TRNG_READY 115 /* ID for TRNG event generator READY */ 1042 #define EVENT_ID_GEN_CCL_LUTOUT_0 116 /* ID for CCL event generator LUTOUT_0 */ 1043 #define EVENT_ID_GEN_CCL_LUTOUT_1 117 /* ID for CCL event generator LUTOUT_1 */ 1044 #define EVENT_ID_GEN_CCL_LUTOUT_2 118 /* ID for CCL event generator LUTOUT_2 */ 1045 #define EVENT_ID_GEN_CCL_LUTOUT_3 119 /* ID for CCL event generator LUTOUT_3 */ 1046 1047 /* ************************************************************************** */ 1048 /* Event User IDs for C32CX1025SG61128 */ 1049 /* ************************************************************************** */ 1050 #define EVENT_ID_USER_RTC_TAMPER 0 /* ID for RTC event user TAMPER */ 1051 #define EVENT_ID_USER_PORT_EV_0 1 /* ID for PORT event user EV_0 */ 1052 #define EVENT_ID_USER_PORT_EV_1 2 /* ID for PORT event user EV_1 */ 1053 #define EVENT_ID_USER_PORT_EV_2 3 /* ID for PORT event user EV_2 */ 1054 #define EVENT_ID_USER_PORT_EV_3 4 /* ID for PORT event user EV_3 */ 1055 #define EVENT_ID_USER_DMAC_CH_0 5 /* ID for DMAC event user CH_0 */ 1056 #define EVENT_ID_USER_DMAC_CH_1 6 /* ID for DMAC event user CH_1 */ 1057 #define EVENT_ID_USER_DMAC_CH_2 7 /* ID for DMAC event user CH_2 */ 1058 #define EVENT_ID_USER_DMAC_CH_3 8 /* ID for DMAC event user CH_3 */ 1059 #define EVENT_ID_USER_DMAC_CH_4 9 /* ID for DMAC event user CH_4 */ 1060 #define EVENT_ID_USER_DMAC_CH_5 10 /* ID for DMAC event user CH_5 */ 1061 #define EVENT_ID_USER_DMAC_CH_6 11 /* ID for DMAC event user CH_6 */ 1062 #define EVENT_ID_USER_DMAC_CH_7 12 /* ID for DMAC event user CH_7 */ 1063 #define EVENT_ID_USER_CM4_TRACE_START 14 /* ID for CM4 event user TRACE_START */ 1064 #define EVENT_ID_USER_CM4_TRACE_STOP 15 /* ID for CM4 event user TRACE_STOP */ 1065 #define EVENT_ID_USER_CM4_TRACE_TRIG 16 /* ID for CM4 event user TRACE_TRIG */ 1066 #define EVENT_ID_USER_TCC0_EV_0 17 /* ID for TCC0 event user EV_0 */ 1067 #define EVENT_ID_USER_TCC0_EV_1 18 /* ID for TCC0 event user EV_1 */ 1068 #define EVENT_ID_USER_TCC0_MC_0 19 /* ID for TCC0 event user MC_0 */ 1069 #define EVENT_ID_USER_TCC0_MC_1 20 /* ID for TCC0 event user MC_1 */ 1070 #define EVENT_ID_USER_TCC0_MC_2 21 /* ID for TCC0 event user MC_2 */ 1071 #define EVENT_ID_USER_TCC0_MC_3 22 /* ID for TCC0 event user MC_3 */ 1072 #define EVENT_ID_USER_TCC0_MC_4 23 /* ID for TCC0 event user MC_4 */ 1073 #define EVENT_ID_USER_TCC0_MC_5 24 /* ID for TCC0 event user MC_5 */ 1074 #define EVENT_ID_USER_TCC1_EV_0 25 /* ID for TCC1 event user EV_0 */ 1075 #define EVENT_ID_USER_TCC1_EV_1 26 /* ID for TCC1 event user EV_1 */ 1076 #define EVENT_ID_USER_TCC1_MC_0 27 /* ID for TCC1 event user MC_0 */ 1077 #define EVENT_ID_USER_TCC1_MC_1 28 /* ID for TCC1 event user MC_1 */ 1078 #define EVENT_ID_USER_TCC1_MC_2 29 /* ID for TCC1 event user MC_2 */ 1079 #define EVENT_ID_USER_TCC1_MC_3 30 /* ID for TCC1 event user MC_3 */ 1080 #define EVENT_ID_USER_TCC2_EV_0 31 /* ID for TCC2 event user EV_0 */ 1081 #define EVENT_ID_USER_TCC2_EV_1 32 /* ID for TCC2 event user EV_1 */ 1082 #define EVENT_ID_USER_TCC2_MC_0 33 /* ID for TCC2 event user MC_0 */ 1083 #define EVENT_ID_USER_TCC2_MC_1 34 /* ID for TCC2 event user MC_1 */ 1084 #define EVENT_ID_USER_TCC2_MC_2 35 /* ID for TCC2 event user MC_2 */ 1085 #define EVENT_ID_USER_TCC3_EV_0 36 /* ID for TCC3 event user EV_0 */ 1086 #define EVENT_ID_USER_TCC3_EV_1 37 /* ID for TCC3 event user EV_1 */ 1087 #define EVENT_ID_USER_TCC3_MC_0 38 /* ID for TCC3 event user MC_0 */ 1088 #define EVENT_ID_USER_TCC3_MC_1 39 /* ID for TCC3 event user MC_1 */ 1089 #define EVENT_ID_USER_TCC4_EV_0 40 /* ID for TCC4 event user EV_0 */ 1090 #define EVENT_ID_USER_TCC4_EV_1 41 /* ID for TCC4 event user EV_1 */ 1091 #define EVENT_ID_USER_TCC4_MC_0 42 /* ID for TCC4 event user MC_0 */ 1092 #define EVENT_ID_USER_TCC4_MC_1 43 /* ID for TCC4 event user MC_1 */ 1093 #define EVENT_ID_USER_TC0_EVU 44 /* ID for TC0 event user EVU */ 1094 #define EVENT_ID_USER_TC1_EVU 45 /* ID for TC1 event user EVU */ 1095 #define EVENT_ID_USER_TC2_EVU 46 /* ID for TC2 event user EVU */ 1096 #define EVENT_ID_USER_TC3_EVU 47 /* ID for TC3 event user EVU */ 1097 #define EVENT_ID_USER_TC4_EVU 48 /* ID for TC4 event user EVU */ 1098 #define EVENT_ID_USER_TC5_EVU 49 /* ID for TC5 event user EVU */ 1099 #define EVENT_ID_USER_TC6_EVU 50 /* ID for TC6 event user EVU */ 1100 #define EVENT_ID_USER_TC7_EVU 51 /* ID for TC7 event user EVU */ 1101 #define EVENT_ID_USER_PDEC_EVU_0 52 /* ID for PDEC event user EVU_0 */ 1102 #define EVENT_ID_USER_PDEC_EVU_1 53 /* ID for PDEC event user EVU_1 */ 1103 #define EVENT_ID_USER_PDEC_EVU_2 54 /* ID for PDEC event user EVU_2 */ 1104 #define EVENT_ID_USER_ADC0_START 55 /* ID for ADC0 event user START */ 1105 #define EVENT_ID_USER_ADC0_SYNC 56 /* ID for ADC0 event user SYNC */ 1106 #define EVENT_ID_USER_ADC1_START 57 /* ID for ADC1 event user START */ 1107 #define EVENT_ID_USER_ADC1_SYNC 58 /* ID for ADC1 event user SYNC */ 1108 #define EVENT_ID_USER_AC_SOC_0 59 /* ID for AC event user SOC_0 */ 1109 #define EVENT_ID_USER_AC_SOC_1 60 /* ID for AC event user SOC_1 */ 1110 #define EVENT_ID_USER_DAC_START_0 61 /* ID for DAC event user START_0 */ 1111 #define EVENT_ID_USER_DAC_START_1 62 /* ID for DAC event user START_1 */ 1112 #define EVENT_ID_USER_CCL_LUTIN_0 63 /* ID for CCL event user LUTIN_0 */ 1113 #define EVENT_ID_USER_CCL_LUTIN_1 64 /* ID for CCL event user LUTIN_1 */ 1114 #define EVENT_ID_USER_CCL_LUTIN_2 65 /* ID for CCL event user LUTIN_2 */ 1115 #define EVENT_ID_USER_CCL_LUTIN_3 66 /* ID for CCL event user LUTIN_3 */ 1116 1117 #ifdef __cplusplus 1118 } 1119 #endif 1120 1121 #endif /* _PIC32CX1025SG61128_H_ */ 1122 1123