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