1 /* 2 * Copyright (c) 2024 Microchip 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef _MICROCHIP_PIC32CXSG_CAN_COMPONENT_FIXUP_H_ 8 #define _MICROCHIP_PIC32CXSG_CAN_COMPONENT_FIXUP_H_ 9 10 /* -------- CAN_RXBE_0 : (CAN Offset: 0x00) (R/W 32) Rx Buffer Element 0 -------- */ 11 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 12 typedef union { 13 struct { 14 uint32_t ID:29; /*!< bit: 0..28 Identifier */ 15 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ 16 uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ 17 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ 18 } bit; /*!< Structure used for bit access */ 19 uint32_t reg; /*!< Type used for register access */ 20 } CAN_RXBE_0_Type; 21 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 22 23 /* -------- CAN_RXBE_1 : (CAN Offset: 0x04) (R/W 32) Rx Buffer Element 1 -------- */ 24 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 25 typedef union { 26 struct { 27 uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ 28 uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ 29 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ 30 uint32_t FDF:1; /*!< bit: 21 FD Format */ 31 uint32_t :2; /*!< bit: 22..23 Reserved */ 32 uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ 33 uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ 34 } bit; /*!< Structure used for bit access */ 35 uint32_t reg; /*!< Type used for register access */ 36 } CAN_RXBE_1_Type; 37 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 38 39 /* -------- CAN_RXBE_DATA : (CAN Offset: 0x08) (R/W 32) Rx Buffer Element Data -------- */ 40 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 41 typedef union { 42 struct { 43 uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ 44 uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ 45 uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ 46 uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ 47 } bit; /*!< Structure used for bit access */ 48 uint32_t reg; /*!< Type used for register access */ 49 } CAN_RXBE_DATA_Type; 50 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 51 52 /* -------- CAN_RXF0E_0 : (CAN Offset: 0x00) (R/W 32) Rx FIFO 0 Element 0 -------- */ 53 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 54 typedef union { 55 struct { 56 uint32_t ID:29; /*!< bit: 0..28 Identifier */ 57 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ 58 uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ 59 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ 60 } bit; /*!< Structure used for bit access */ 61 uint32_t reg; /*!< Type used for register access */ 62 } CAN_RXF0E_0_Type; 63 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 64 65 /* -------- CAN_RXF0E_1 : (CAN Offset: 0x04) (R/W 32) Rx FIFO 0 Element 1 -------- */ 66 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 67 typedef union { 68 struct { 69 uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ 70 uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ 71 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ 72 uint32_t FDF:1; /*!< bit: 21 FD Format */ 73 uint32_t :2; /*!< bit: 22..23 Reserved */ 74 uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ 75 uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ 76 } bit; /*!< Structure used for bit access */ 77 uint32_t reg; /*!< Type used for register access */ 78 } CAN_RXF0E_1_Type; 79 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 80 81 /* -------- CAN_RXF0E_DATA : (CAN Offset: 0x08) (R/W 32) Rx FIFO 0 Element Data -------- */ 82 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 83 typedef union { 84 struct { 85 uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ 86 uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ 87 uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ 88 uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ 89 } bit; /*!< Structure used for bit access */ 90 uint32_t reg; /*!< Type used for register access */ 91 } CAN_RXF0E_DATA_Type; 92 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 93 94 /* -------- CAN_RXF1E_0 : (CAN Offset: 0x00) (R/W 32) Rx FIFO 1 Element 0 -------- */ 95 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 96 typedef union { 97 struct { 98 uint32_t ID:29; /*!< bit: 0..28 Identifier */ 99 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ 100 uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ 101 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ 102 } bit; /*!< Structure used for bit access */ 103 uint32_t reg; /*!< Type used for register access */ 104 } CAN_RXF1E_0_Type; 105 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 106 107 /* -------- CAN_RXF1E_1 : (CAN Offset: 0x04) (R/W 32) Rx FIFO 1 Element 1 -------- */ 108 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 109 typedef union { 110 struct { 111 uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ 112 uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ 113 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ 114 uint32_t FDF:1; /*!< bit: 21 FD Format */ 115 uint32_t :2; /*!< bit: 22..23 Reserved */ 116 uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ 117 uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ 118 } bit; /*!< Structure used for bit access */ 119 uint32_t reg; /*!< Type used for register access */ 120 } CAN_RXF1E_1_Type; 121 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 122 123 /* -------- CAN_RXF1E_DATA : (CAN Offset: 0x08) (R/W 32) Rx FIFO 1 Element Data -------- */ 124 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 125 typedef union { 126 struct { 127 uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ 128 uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ 129 uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ 130 uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ 131 } bit; /*!< Structure used for bit access */ 132 uint32_t reg; /*!< Type used for register access */ 133 } CAN_RXF1E_DATA_Type; 134 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 135 136 /* -------- CAN_TXBE_0 : (CAN Offset: 0x00) (R/W 32) Tx Buffer Element 0 -------- */ 137 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 138 typedef union { 139 struct { 140 uint32_t ID:29; /*!< bit: 0..28 Identifier */ 141 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ 142 uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ 143 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ 144 } bit; /*!< Structure used for bit access */ 145 uint32_t reg; /*!< Type used for register access */ 146 } CAN_TXBE_0_Type; 147 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 148 149 /* -------- CAN_TXBE_1 : (CAN Offset: 0x04) (R/W 32) Tx Buffer Element 1 -------- */ 150 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 151 typedef union { 152 struct { 153 uint32_t :16; /*!< bit: 0..15 Reserved */ 154 uint32_t DLC:4; /*!< bit: 16..19 Identifier */ 155 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ 156 uint32_t FDF:1; /*!< bit: 21 FD Format */ 157 uint32_t :1; /*!< bit: 22 Reserved */ 158 uint32_t EFC:1; /*!< bit: 23 Event FIFO Control */ 159 uint32_t MM:8; /*!< bit: 24..31 Message Marker */ 160 } bit; /*!< Structure used for bit access */ 161 uint32_t reg; /*!< Type used for register access */ 162 } CAN_TXBE_1_Type; 163 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 164 165 /* -------- CAN_TXBE_DATA : (CAN Offset: 0x08) (R/W 32) Tx Buffer Element Data -------- */ 166 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 167 typedef union { 168 struct { 169 uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ 170 uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ 171 uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ 172 uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ 173 } bit; /*!< Structure used for bit access */ 174 uint32_t reg; /*!< Type used for register access */ 175 } CAN_TXBE_DATA_Type; 176 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 177 178 /* -------- CAN_TXEFE_0 : (CAN Offset: 0x00) (R/W 32) Tx Event FIFO Element 0 -------- */ 179 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 180 typedef union { 181 struct { 182 uint32_t ID:29; /*!< bit: 0..28 Identifier */ 183 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ 184 uint32_t XTD:1; /*!< bit: 30 Extended Indentifier */ 185 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ 186 } bit; /*!< Structure used for bit access */ 187 uint32_t reg; /*!< Type used for register access */ 188 } CAN_TXEFE_0_Type; 189 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 190 191 /* -------- CAN_TXEFE_1 : (CAN Offset: 0x04) (R/W 32) Tx Event FIFO Element 1 -------- */ 192 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 193 typedef union { 194 struct { 195 uint32_t TXTS:16; /*!< bit: 0..15 Tx Timestamp */ 196 uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ 197 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ 198 uint32_t FDF:1; /*!< bit: 21 FD Format */ 199 uint32_t ET:2; /*!< bit: 22..23 Event Type */ 200 uint32_t MM:8; /*!< bit: 24..31 Message Marker */ 201 } bit; /*!< Structure used for bit access */ 202 uint32_t reg; /*!< Type used for register access */ 203 } CAN_TXEFE_1_Type; 204 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 205 206 /* -------- CAN_SIDFE_0 : (CAN Offset: 0x00) (R/W 32) Standard Message ID Filter Element 0 -------- */ 207 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 208 typedef union { 209 struct { 210 uint32_t SFID2:11; /*!< bit: 0..10 Standard Filter ID 2 */ 211 uint32_t :5; /*!< bit: 11..15 Reserved */ 212 uint32_t SFID1:11; /*!< bit: 16..26 Standard Filter ID 1 */ 213 uint32_t SFEC:3; /*!< bit: 27..29 Standard Filter Element Configuration */ 214 uint32_t SFT:2; /*!< bit: 30..31 Standard Filter Type */ 215 } bit; /*!< Structure used for bit access */ 216 uint32_t reg; /*!< Type used for register access */ 217 } CAN_SIDFE_0_Type; 218 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 219 220 /* -------- CAN_XIDFE_0 : (CAN Offset: 0x00) (R/W 32) Extended Message ID Filter Element 0 -------- */ 221 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 222 typedef union { 223 struct { 224 uint32_t EFID1:29; /*!< bit: 0..28 Extended Filter ID 1 */ 225 uint32_t EFEC:3; /*!< bit: 29..31 Extended Filter Element Configuration */ 226 } bit; /*!< Structure used for bit access */ 227 uint32_t reg; /*!< Type used for register access */ 228 } CAN_XIDFE_0_Type; 229 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 230 231 /* -------- CAN_XIDFE_1 : (CAN Offset: 0x04) (R/W 32) Extended Message ID Filter Element 1 -------- */ 232 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 233 typedef union { 234 struct { 235 uint32_t EFID2:29; /*!< bit: 0..28 Extended Filter ID 2 */ 236 uint32_t :1; /*!< bit: 29 Reserved */ 237 uint32_t EFT:2; /*!< bit: 30..31 Extended Filter Type */ 238 } bit; /*!< Structure used for bit access */ 239 uint32_t reg; /*!< Type used for register access */ 240 } CAN_XIDFE_1_Type; 241 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 242 243 /* -------- CAN_CREL : (CAN Offset: 0x00) ( R/ 32) Core Release -------- */ 244 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 245 typedef union { 246 struct { 247 uint32_t :20; /*!< bit: 0..19 Reserved */ 248 uint32_t SUBSTEP:4; /*!< bit: 20..23 Sub-step of Core Release */ 249 uint32_t STEP:4; /*!< bit: 24..27 Step of Core Release */ 250 uint32_t REL:4; /*!< bit: 28..31 Core Release */ 251 } bit; /*!< Structure used for bit access */ 252 uint32_t reg; /*!< Type used for register access */ 253 } CAN_CREL_Type; 254 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 255 256 /* -------- CAN_ENDN : (CAN Offset: 0x04) ( R/ 32) Endian -------- */ 257 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 258 typedef union { 259 struct { 260 uint32_t ETV:32; /*!< bit: 0..31 Endianness Test Value */ 261 } bit; /*!< Structure used for bit access */ 262 uint32_t reg; /*!< Type used for register access */ 263 } CAN_ENDN_Type; 264 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 265 /* -------- CAN_MRCFG : (CAN Offset: 0x08) (R/W 32) Message RAM Configuration -------- */ 266 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 267 typedef union { 268 struct { 269 uint32_t QOS:2; /*!< bit: 0.. 1 Quality of Service */ 270 uint32_t :30; /*!< bit: 2..31 Reserved */ 271 } bit; /*!< Structure used for bit access */ 272 uint32_t reg; /*!< Type used for register access */ 273 } CAN_MRCFG_Type; 274 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 275 276 /* -------- CAN_DBTP : (CAN Offset: 0x0C) (R/W 32) Fast Bit Timing and Prescaler -------- */ 277 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 278 typedef union { 279 struct { 280 uint32_t DSJW:4; /*!< bit: 0.. 3 Data (Re)Synchronization Jump Width */ 281 uint32_t DTSEG2:4; /*!< bit: 4.. 7 Data time segment after sample point */ 282 uint32_t DTSEG1:5; /*!< bit: 8..12 Data time segment before sample point */ 283 uint32_t :3; /*!< bit: 13..15 Reserved */ 284 uint32_t DBRP:5; /*!< bit: 16..20 Data Baud Rate Prescaler */ 285 uint32_t :2; /*!< bit: 21..22 Reserved */ 286 uint32_t TDC:1; /*!< bit: 23 Tranceiver Delay Compensation */ 287 uint32_t :8; /*!< bit: 24..31 Reserved */ 288 } bit; /*!< Structure used for bit access */ 289 uint32_t reg; /*!< Type used for register access */ 290 } CAN_DBTP_Type; 291 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 292 /* -------- CAN_TEST : (CAN Offset: 0x10) (R/W 32) Test -------- */ 293 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 294 typedef union { 295 struct { 296 uint32_t :4; /*!< bit: 0.. 3 Reserved */ 297 uint32_t LBCK:1; /*!< bit: 4 Loop Back Mode */ 298 uint32_t TX:2; /*!< bit: 5.. 6 Control of Transmit Pin */ 299 uint32_t RX:1; /*!< bit: 7 Receive Pin */ 300 uint32_t :24; /*!< bit: 8..31 Reserved */ 301 } bit; /*!< Structure used for bit access */ 302 uint32_t reg; /*!< Type used for register access */ 303 } CAN_TEST_Type; 304 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 305 306 /* -------- CAN_RWD : (CAN Offset: 0x14) (R/W 32) RAM Watchdog -------- */ 307 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 308 typedef union { 309 struct { 310 uint32_t WDC:8; /*!< bit: 0.. 7 Watchdog Configuration */ 311 uint32_t WDV:8; /*!< bit: 8..15 Watchdog Value */ 312 uint32_t :16; /*!< bit: 16..31 Reserved */ 313 } bit; /*!< Structure used for bit access */ 314 uint32_t reg; /*!< Type used for register access */ 315 } CAN_RWD_Type; 316 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 317 318 /* -------- CAN_CCCR : (CAN Offset: 0x18) (R/W 32) CC Control -------- */ 319 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 320 typedef union { 321 struct { 322 uint32_t INIT:1; /*!< bit: 0 Initialization */ 323 uint32_t CCE:1; /*!< bit: 1 Configuration Change Enable */ 324 uint32_t ASM:1; /*!< bit: 2 ASM Restricted Operation Mode */ 325 uint32_t CSA:1; /*!< bit: 3 Clock Stop Acknowledge */ 326 uint32_t CSR:1; /*!< bit: 4 Clock Stop Request */ 327 uint32_t MON:1; /*!< bit: 5 Bus Monitoring Mode */ 328 uint32_t DAR:1; /*!< bit: 6 Disable Automatic Retransmission */ 329 uint32_t TEST:1; /*!< bit: 7 Test Mode Enable */ 330 uint32_t FDOE:1; /*!< bit: 8 FD Operation Enable */ 331 uint32_t BRSE:1; /*!< bit: 9 Bit Rate Switch Enable */ 332 uint32_t :2; /*!< bit: 10..11 Reserved */ 333 uint32_t PXHD:1; /*!< bit: 12 Protocol Exception Handling Disable */ 334 uint32_t EFBI:1; /*!< bit: 13 Edge Filtering during Bus Integration */ 335 uint32_t TXP:1; /*!< bit: 14 Transmit Pause */ 336 uint32_t NISO:1; /*!< bit: 15 Non ISO Operation */ 337 uint32_t :16; /*!< bit: 16..31 Reserved */ 338 } bit; /*!< Structure used for bit access */ 339 uint32_t reg; /*!< Type used for register access */ 340 } CAN_CCCR_Type; 341 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 342 /* -------- CAN_NBTP : (CAN Offset: 0x1C) (R/W 32) Nominal Bit Timing and Prescaler -------- */ 343 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 344 typedef union { 345 struct { 346 uint32_t NTSEG2:7; /*!< bit: 0.. 6 Nominal Time segment after sample point */ 347 uint32_t :1; /*!< bit: 7 Reserved */ 348 uint32_t NTSEG1:8; /*!< bit: 8..15 Nominal Time segment before sample point */ 349 uint32_t NBRP:9; /*!< bit: 16..24 Nominal Baud Rate Prescaler */ 350 uint32_t NSJW:7; /*!< bit: 25..31 Nominal (Re)Synchronization Jump Width */ 351 } bit; /*!< Structure used for bit access */ 352 uint32_t reg; /*!< Type used for register access */ 353 } CAN_NBTP_Type; 354 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 355 356 /* -------- CAN_TSCC : (CAN Offset: 0x20) (R/W 32) Timestamp Counter Configuration -------- */ 357 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 358 typedef union { 359 struct { 360 uint32_t TSS:2; /*!< bit: 0.. 1 Timestamp Select */ 361 uint32_t :14; /*!< bit: 2..15 Reserved */ 362 uint32_t TCP:4; /*!< bit: 16..19 Timestamp Counter Prescaler */ 363 uint32_t :12; /*!< bit: 20..31 Reserved */ 364 } bit; /*!< Structure used for bit access */ 365 uint32_t reg; /*!< Type used for register access */ 366 } CAN_TSCC_Type; 367 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 368 369 /* -------- CAN_TSCV : (CAN Offset: 0x24) ( R/ 32) Timestamp Counter Value -------- */ 370 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 371 typedef union { 372 struct { 373 uint32_t TSC:16; /*!< bit: 0..15 Timestamp Counter */ 374 uint32_t :16; /*!< bit: 16..31 Reserved */ 375 } bit; /*!< Structure used for bit access */ 376 uint32_t reg; /*!< Type used for register access */ 377 } CAN_TSCV_Type; 378 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 379 380 /* -------- CAN_TOCC : (CAN Offset: 0x28) (R/W 32) Timeout Counter Configuration -------- */ 381 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 382 typedef union { 383 struct { 384 uint32_t ETOC:1; /*!< bit: 0 Enable Timeout Counter */ 385 uint32_t TOS:2; /*!< bit: 1.. 2 Timeout Select */ 386 uint32_t :13; /*!< bit: 3..15 Reserved */ 387 uint32_t TOP:16; /*!< bit: 16..31 Timeout Period */ 388 } bit; /*!< Structure used for bit access */ 389 uint32_t reg; /*!< Type used for register access */ 390 } CAN_TOCC_Type; 391 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 392 393 /* -------- CAN_TOCV : (CAN Offset: 0x2C) (R/W 32) Timeout Counter Value -------- */ 394 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 395 typedef union { 396 struct { 397 uint32_t TOC:16; /*!< bit: 0..15 Timeout Counter */ 398 uint32_t :16; /*!< bit: 16..31 Reserved */ 399 } bit; /*!< Structure used for bit access */ 400 uint32_t reg; /*!< Type used for register access */ 401 } CAN_TOCV_Type; 402 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 403 /* -------- CAN_ECR : (CAN Offset: 0x40) ( R/ 32) Error Counter -------- */ 404 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 405 typedef union { 406 struct { 407 uint32_t TEC:8; /*!< bit: 0.. 7 Transmit Error Counter */ 408 uint32_t REC:7; /*!< bit: 8..14 Receive Error Counter */ 409 uint32_t RP:1; /*!< bit: 15 Receive Error Passive */ 410 uint32_t CEL:8; /*!< bit: 16..23 CAN Error Logging */ 411 uint32_t :8; /*!< bit: 24..31 Reserved */ 412 } bit; /*!< Structure used for bit access */ 413 uint32_t reg; /*!< Type used for register access */ 414 } CAN_ECR_Type; 415 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 416 /* -------- CAN_PSR : (CAN Offset: 0x44) ( R/ 32) Protocol Status -------- */ 417 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 418 typedef union { 419 struct { 420 uint32_t LEC:3; /*!< bit: 0.. 2 Last Error Code */ 421 uint32_t ACT:2; /*!< bit: 3.. 4 Activity */ 422 uint32_t EP:1; /*!< bit: 5 Error Passive */ 423 uint32_t EW:1; /*!< bit: 6 Warning Status */ 424 uint32_t BO:1; /*!< bit: 7 Bus_Off Status */ 425 uint32_t DLEC:3; /*!< bit: 8..10 Data Phase Last Error Code */ 426 uint32_t RESI:1; /*!< bit: 11 ESI flag of last received CAN FD Message */ 427 uint32_t RBRS:1; /*!< bit: 12 BRS flag of last received CAN FD Message */ 428 uint32_t RFDF:1; /*!< bit: 13 Received a CAN FD Message */ 429 uint32_t PXE:1; /*!< bit: 14 Protocol Exception Event */ 430 uint32_t :1; /*!< bit: 15 Reserved */ 431 uint32_t TDCV:7; /*!< bit: 16..22 Transmitter Delay Compensation Value */ 432 uint32_t :9; /*!< bit: 23..31 Reserved */ 433 } bit; /*!< Structure used for bit access */ 434 uint32_t reg; /*!< Type used for register access */ 435 } CAN_PSR_Type; 436 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 437 /* -------- CAN_TDCR : (CAN Offset: 0x48) (R/W 32) Extended ID Filter Configuration -------- */ 438 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 439 typedef union { 440 struct { 441 uint32_t TDCF:7; /*!< bit: 0.. 6 Transmitter Delay Compensation Filter Length */ 442 uint32_t :1; /*!< bit: 7 Reserved */ 443 uint32_t TDCO:7; /*!< bit: 8..14 Transmitter Delay Compensation Offset */ 444 uint32_t :17; /*!< bit: 15..31 Reserved */ 445 } bit; /*!< Structure used for bit access */ 446 uint32_t reg; /*!< Type used for register access */ 447 } CAN_TDCR_Type; 448 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 449 /* -------- CAN_IR : (CAN Offset: 0x50) (R/W 32) Interrupt -------- */ 450 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 451 typedef union { 452 struct { 453 uint32_t RF0N:1; /*!< bit: 0 Rx FIFO 0 New Message */ 454 uint32_t RF0W:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached */ 455 uint32_t RF0F:1; /*!< bit: 2 Rx FIFO 0 Full */ 456 uint32_t RF0L:1; /*!< bit: 3 Rx FIFO 0 Message Lost */ 457 uint32_t RF1N:1; /*!< bit: 4 Rx FIFO 1 New Message */ 458 uint32_t RF1W:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached */ 459 uint32_t RF1F:1; /*!< bit: 6 Rx FIFO 1 FIFO Full */ 460 uint32_t RF1L:1; /*!< bit: 7 Rx FIFO 1 Message Lost */ 461 uint32_t HPM:1; /*!< bit: 8 High Priority Message */ 462 uint32_t TC:1; /*!< bit: 9 Timestamp Completed */ 463 uint32_t TCF:1; /*!< bit: 10 Transmission Cancellation Finished */ 464 uint32_t TFE:1; /*!< bit: 11 Tx FIFO Empty */ 465 uint32_t TEFN:1; /*!< bit: 12 Tx Event FIFO New Entry */ 466 uint32_t TEFW:1; /*!< bit: 13 Tx Event FIFO Watermark Reached */ 467 uint32_t TEFF:1; /*!< bit: 14 Tx Event FIFO Full */ 468 uint32_t TEFL:1; /*!< bit: 15 Tx Event FIFO Element Lost */ 469 uint32_t TSW:1; /*!< bit: 16 Timestamp Wraparound */ 470 uint32_t MRAF:1; /*!< bit: 17 Message RAM Access Failure */ 471 uint32_t TOO:1; /*!< bit: 18 Timeout Occurred */ 472 uint32_t DRX:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer */ 473 uint32_t BEC:1; /*!< bit: 20 Bit Error Corrected */ 474 uint32_t BEU:1; /*!< bit: 21 Bit Error Uncorrected */ 475 uint32_t ELO:1; /*!< bit: 22 Error Logging Overflow */ 476 uint32_t EP:1; /*!< bit: 23 Error Passive */ 477 uint32_t EW:1; /*!< bit: 24 Warning Status */ 478 uint32_t BO:1; /*!< bit: 25 Bus_Off Status */ 479 uint32_t WDI:1; /*!< bit: 26 Watchdog Interrupt */ 480 uint32_t PEA:1; /*!< bit: 27 Protocol Error in Arbitration Phase */ 481 uint32_t PED:1; /*!< bit: 28 Protocol Error in Data Phase */ 482 uint32_t ARA:1; /*!< bit: 29 Access to Reserved Address */ 483 uint32_t :2; /*!< bit: 30..31 Reserved */ 484 } bit; /*!< Structure used for bit access */ 485 uint32_t reg; /*!< Type used for register access */ 486 } CAN_IR_Type; 487 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 488 489 /* -------- CAN_IE : (CAN Offset: 0x54) (R/W 32) Interrupt Enable -------- */ 490 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 491 typedef union { 492 struct { 493 uint32_t RF0NE:1; /*!< bit: 0 Rx FIFO 0 New Message Interrupt Enable */ 494 uint32_t RF0WE:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached Interrupt Enable */ 495 uint32_t RF0FE:1; /*!< bit: 2 Rx FIFO 0 Full Interrupt Enable */ 496 uint32_t RF0LE:1; /*!< bit: 3 Rx FIFO 0 Message Lost Interrupt Enable */ 497 uint32_t RF1NE:1; /*!< bit: 4 Rx FIFO 1 New Message Interrupt Enable */ 498 uint32_t RF1WE:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached Interrupt Enable */ 499 uint32_t RF1FE:1; /*!< bit: 6 Rx FIFO 1 FIFO Full Interrupt Enable */ 500 uint32_t RF1LE:1; /*!< bit: 7 Rx FIFO 1 Message Lost Interrupt Enable */ 501 uint32_t HPME:1; /*!< bit: 8 High Priority Message Interrupt Enable */ 502 uint32_t TCE:1; /*!< bit: 9 Timestamp Completed Interrupt Enable */ 503 uint32_t TCFE:1; /*!< bit: 10 Transmission Cancellation Finished Interrupt Enable */ 504 uint32_t TFEE:1; /*!< bit: 11 Tx FIFO Empty Interrupt Enable */ 505 uint32_t TEFNE:1; /*!< bit: 12 Tx Event FIFO New Entry Interrupt Enable */ 506 uint32_t TEFWE:1; /*!< bit: 13 Tx Event FIFO Watermark Reached Interrupt Enable */ 507 uint32_t TEFFE:1; /*!< bit: 14 Tx Event FIFO Full Interrupt Enable */ 508 uint32_t TEFLE:1; /*!< bit: 15 Tx Event FIFO Element Lost Interrupt Enable */ 509 uint32_t TSWE:1; /*!< bit: 16 Timestamp Wraparound Interrupt Enable */ 510 uint32_t MRAFE:1; /*!< bit: 17 Message RAM Access Failure Interrupt Enable */ 511 uint32_t TOOE:1; /*!< bit: 18 Timeout Occurred Interrupt Enable */ 512 uint32_t DRXE:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer Interrupt Enable */ 513 uint32_t BECE:1; /*!< bit: 20 Bit Error Corrected Interrupt Enable */ 514 uint32_t BEUE:1; /*!< bit: 21 Bit Error Uncorrected Interrupt Enable */ 515 uint32_t ELOE:1; /*!< bit: 22 Error Logging Overflow Interrupt Enable */ 516 uint32_t EPE:1; /*!< bit: 23 Error Passive Interrupt Enable */ 517 uint32_t EWE:1; /*!< bit: 24 Warning Status Interrupt Enable */ 518 uint32_t BOE:1; /*!< bit: 25 Bus_Off Status Interrupt Enable */ 519 uint32_t WDIE:1; /*!< bit: 26 Watchdog Interrupt Interrupt Enable */ 520 uint32_t PEAE:1; /*!< bit: 27 Protocol Error in Arbitration Phase Enable */ 521 uint32_t PEDE:1; /*!< bit: 28 Protocol Error in Data Phase Enable */ 522 uint32_t ARAE:1; /*!< bit: 29 Access to Reserved Address Enable */ 523 uint32_t :2; /*!< bit: 30..31 Reserved */ 524 } bit; /*!< Structure used for bit access */ 525 uint32_t reg; /*!< Type used for register access */ 526 } CAN_IE_Type; 527 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 528 /* -------- CAN_ILS : (CAN Offset: 0x58) (R/W 32) Interrupt Line Select -------- */ 529 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 530 typedef union { 531 struct { 532 uint32_t RF0NL:1; /*!< bit: 0 Rx FIFO 0 New Message Interrupt Line */ 533 uint32_t RF0WL:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached Interrupt Line */ 534 uint32_t RF0FL:1; /*!< bit: 2 Rx FIFO 0 Full Interrupt Line */ 535 uint32_t RF0LL:1; /*!< bit: 3 Rx FIFO 0 Message Lost Interrupt Line */ 536 uint32_t RF1NL:1; /*!< bit: 4 Rx FIFO 1 New Message Interrupt Line */ 537 uint32_t RF1WL:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached Interrupt Line */ 538 uint32_t RF1FL:1; /*!< bit: 6 Rx FIFO 1 FIFO Full Interrupt Line */ 539 uint32_t RF1LL:1; /*!< bit: 7 Rx FIFO 1 Message Lost Interrupt Line */ 540 uint32_t HPML:1; /*!< bit: 8 High Priority Message Interrupt Line */ 541 uint32_t TCL:1; /*!< bit: 9 Timestamp Completed Interrupt Line */ 542 uint32_t TCFL:1; /*!< bit: 10 Transmission Cancellation Finished Interrupt Line */ 543 uint32_t TFEL:1; /*!< bit: 11 Tx FIFO Empty Interrupt Line */ 544 uint32_t TEFNL:1; /*!< bit: 12 Tx Event FIFO New Entry Interrupt Line */ 545 uint32_t TEFWL:1; /*!< bit: 13 Tx Event FIFO Watermark Reached Interrupt Line */ 546 uint32_t TEFFL:1; /*!< bit: 14 Tx Event FIFO Full Interrupt Line */ 547 uint32_t TEFLL:1; /*!< bit: 15 Tx Event FIFO Element Lost Interrupt Line */ 548 uint32_t TSWL:1; /*!< bit: 16 Timestamp Wraparound Interrupt Line */ 549 uint32_t MRAFL:1; /*!< bit: 17 Message RAM Access Failure Interrupt Line */ 550 uint32_t TOOL:1; /*!< bit: 18 Timeout Occurred Interrupt Line */ 551 uint32_t DRXL:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer Interrupt Line */ 552 uint32_t BECL:1; /*!< bit: 20 Bit Error Corrected Interrupt Line */ 553 uint32_t BEUL:1; /*!< bit: 21 Bit Error Uncorrected Interrupt Line */ 554 uint32_t ELOL:1; /*!< bit: 22 Error Logging Overflow Interrupt Line */ 555 uint32_t EPL:1; /*!< bit: 23 Error Passive Interrupt Line */ 556 uint32_t EWL:1; /*!< bit: 24 Warning Status Interrupt Line */ 557 uint32_t BOL:1; /*!< bit: 25 Bus_Off Status Interrupt Line */ 558 uint32_t WDIL:1; /*!< bit: 26 Watchdog Interrupt Interrupt Line */ 559 uint32_t PEAL:1; /*!< bit: 27 Protocol Error in Arbitration Phase Line */ 560 uint32_t PEDL:1; /*!< bit: 28 Protocol Error in Data Phase Line */ 561 uint32_t ARAL:1; /*!< bit: 29 Access to Reserved Address Line */ 562 uint32_t :2; /*!< bit: 30..31 Reserved */ 563 } bit; /*!< Structure used for bit access */ 564 uint32_t reg; /*!< Type used for register access */ 565 } CAN_ILS_Type; 566 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 567 568 /* -------- CAN_ILE : (CAN Offset: 0x5C) (R/W 32) Interrupt Line Enable -------- */ 569 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 570 typedef union { 571 struct { 572 uint32_t EINT0:1; /*!< bit: 0 Enable Interrupt Line 0 */ 573 uint32_t EINT1:1; /*!< bit: 1 Enable Interrupt Line 1 */ 574 uint32_t :30; /*!< bit: 2..31 Reserved */ 575 } bit; /*!< Structure used for bit access */ 576 uint32_t reg; /*!< Type used for register access */ 577 } CAN_ILE_Type; 578 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 579 580 /* -------- CAN_GFC : (CAN Offset: 0x80) (R/W 32) Global Filter Configuration -------- */ 581 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 582 typedef union { 583 struct { 584 uint32_t RRFE:1; /*!< bit: 0 Reject Remote Frames Extended */ 585 uint32_t RRFS:1; /*!< bit: 1 Reject Remote Frames Standard */ 586 uint32_t ANFE:2; /*!< bit: 2.. 3 Accept Non-matching Frames Extended */ 587 uint32_t ANFS:2; /*!< bit: 4.. 5 Accept Non-matching Frames Standard */ 588 uint32_t :26; /*!< bit: 6..31 Reserved */ 589 } bit; /*!< Structure used for bit access */ 590 uint32_t reg; /*!< Type used for register access */ 591 } CAN_GFC_Type; 592 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 593 594 /* -------- CAN_SIDFC : (CAN Offset: 0x84) (R/W 32) Standard ID Filter Configuration -------- */ 595 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 596 typedef union { 597 struct { 598 uint32_t FLSSA:16; /*!< bit: 0..15 Filter List Standard Start Address */ 599 uint32_t LSS:8; /*!< bit: 16..23 List Size Standard */ 600 uint32_t :8; /*!< bit: 24..31 Reserved */ 601 } bit; /*!< Structure used for bit access */ 602 uint32_t reg; /*!< Type used for register access */ 603 } CAN_SIDFC_Type; 604 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 605 606 /* -------- CAN_XIDFC : (CAN Offset: 0x88) (R/W 32) Extended ID Filter Configuration -------- */ 607 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 608 typedef union { 609 struct { 610 uint32_t FLESA:16; /*!< bit: 0..15 Filter List Extended Start Address */ 611 uint32_t LSE:7; /*!< bit: 16..22 List Size Extended */ 612 uint32_t :9; /*!< bit: 23..31 Reserved */ 613 } bit; /*!< Structure used for bit access */ 614 uint32_t reg; /*!< Type used for register access */ 615 } CAN_XIDFC_Type; 616 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 617 618 /* -------- CAN_XIDAM : (CAN Offset: 0x90) (R/W 32) Extended ID AND Mask -------- */ 619 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 620 typedef union { 621 struct { 622 uint32_t EIDM:29; /*!< bit: 0..28 Extended ID Mask */ 623 uint32_t :3; /*!< bit: 29..31 Reserved */ 624 } bit; /*!< Structure used for bit access */ 625 uint32_t reg; /*!< Type used for register access */ 626 } CAN_XIDAM_Type; 627 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 628 629 /* -------- CAN_HPMS : (CAN Offset: 0x94) ( R/ 32) High Priority Message Status -------- */ 630 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 631 typedef union { 632 struct { 633 uint32_t BIDX:6; /*!< bit: 0.. 5 Buffer Index */ 634 uint32_t MSI:2; /*!< bit: 6.. 7 Message Storage Indicator */ 635 uint32_t FIDX:7; /*!< bit: 8..14 Filter Index */ 636 uint32_t FLST:1; /*!< bit: 15 Filter List */ 637 uint32_t :16; /*!< bit: 16..31 Reserved */ 638 } bit; /*!< Structure used for bit access */ 639 uint32_t reg; /*!< Type used for register access */ 640 } CAN_HPMS_Type; 641 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 642 643 /* -------- CAN_NDAT1 : (CAN Offset: 0x98) (R/W 32) New Data 1 -------- */ 644 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 645 typedef union { 646 struct { 647 uint32_t ND0:1; /*!< bit: 0 New Data 0 */ 648 uint32_t ND1:1; /*!< bit: 1 New Data 1 */ 649 uint32_t ND2:1; /*!< bit: 2 New Data 2 */ 650 uint32_t ND3:1; /*!< bit: 3 New Data 3 */ 651 uint32_t ND4:1; /*!< bit: 4 New Data 4 */ 652 uint32_t ND5:1; /*!< bit: 5 New Data 5 */ 653 uint32_t ND6:1; /*!< bit: 6 New Data 6 */ 654 uint32_t ND7:1; /*!< bit: 7 New Data 7 */ 655 uint32_t ND8:1; /*!< bit: 8 New Data 8 */ 656 uint32_t ND9:1; /*!< bit: 9 New Data 9 */ 657 uint32_t ND10:1; /*!< bit: 10 New Data 10 */ 658 uint32_t ND11:1; /*!< bit: 11 New Data 11 */ 659 uint32_t ND12:1; /*!< bit: 12 New Data 12 */ 660 uint32_t ND13:1; /*!< bit: 13 New Data 13 */ 661 uint32_t ND14:1; /*!< bit: 14 New Data 14 */ 662 uint32_t ND15:1; /*!< bit: 15 New Data 15 */ 663 uint32_t ND16:1; /*!< bit: 16 New Data 16 */ 664 uint32_t ND17:1; /*!< bit: 17 New Data 17 */ 665 uint32_t ND18:1; /*!< bit: 18 New Data 18 */ 666 uint32_t ND19:1; /*!< bit: 19 New Data 19 */ 667 uint32_t ND20:1; /*!< bit: 20 New Data 20 */ 668 uint32_t ND21:1; /*!< bit: 21 New Data 21 */ 669 uint32_t ND22:1; /*!< bit: 22 New Data 22 */ 670 uint32_t ND23:1; /*!< bit: 23 New Data 23 */ 671 uint32_t ND24:1; /*!< bit: 24 New Data 24 */ 672 uint32_t ND25:1; /*!< bit: 25 New Data 25 */ 673 uint32_t ND26:1; /*!< bit: 26 New Data 26 */ 674 uint32_t ND27:1; /*!< bit: 27 New Data 27 */ 675 uint32_t ND28:1; /*!< bit: 28 New Data 28 */ 676 uint32_t ND29:1; /*!< bit: 29 New Data 29 */ 677 uint32_t ND30:1; /*!< bit: 30 New Data 30 */ 678 uint32_t ND31:1; /*!< bit: 31 New Data 31 */ 679 } bit; /*!< Structure used for bit access */ 680 uint32_t reg; /*!< Type used for register access */ 681 } CAN_NDAT1_Type; 682 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 683 684 /* -------- CAN_NDAT2 : (CAN Offset: 0x9C) (R/W 32) New Data 2 -------- */ 685 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 686 typedef union { 687 struct { 688 uint32_t ND32:1; /*!< bit: 0 New Data 32 */ 689 uint32_t ND33:1; /*!< bit: 1 New Data 33 */ 690 uint32_t ND34:1; /*!< bit: 2 New Data 34 */ 691 uint32_t ND35:1; /*!< bit: 3 New Data 35 */ 692 uint32_t ND36:1; /*!< bit: 4 New Data 36 */ 693 uint32_t ND37:1; /*!< bit: 5 New Data 37 */ 694 uint32_t ND38:1; /*!< bit: 6 New Data 38 */ 695 uint32_t ND39:1; /*!< bit: 7 New Data 39 */ 696 uint32_t ND40:1; /*!< bit: 8 New Data 40 */ 697 uint32_t ND41:1; /*!< bit: 9 New Data 41 */ 698 uint32_t ND42:1; /*!< bit: 10 New Data 42 */ 699 uint32_t ND43:1; /*!< bit: 11 New Data 43 */ 700 uint32_t ND44:1; /*!< bit: 12 New Data 44 */ 701 uint32_t ND45:1; /*!< bit: 13 New Data 45 */ 702 uint32_t ND46:1; /*!< bit: 14 New Data 46 */ 703 uint32_t ND47:1; /*!< bit: 15 New Data 47 */ 704 uint32_t ND48:1; /*!< bit: 16 New Data 48 */ 705 uint32_t ND49:1; /*!< bit: 17 New Data 49 */ 706 uint32_t ND50:1; /*!< bit: 18 New Data 50 */ 707 uint32_t ND51:1; /*!< bit: 19 New Data 51 */ 708 uint32_t ND52:1; /*!< bit: 20 New Data 52 */ 709 uint32_t ND53:1; /*!< bit: 21 New Data 53 */ 710 uint32_t ND54:1; /*!< bit: 22 New Data 54 */ 711 uint32_t ND55:1; /*!< bit: 23 New Data 55 */ 712 uint32_t ND56:1; /*!< bit: 24 New Data 56 */ 713 uint32_t ND57:1; /*!< bit: 25 New Data 57 */ 714 uint32_t ND58:1; /*!< bit: 26 New Data 58 */ 715 uint32_t ND59:1; /*!< bit: 27 New Data 59 */ 716 uint32_t ND60:1; /*!< bit: 28 New Data 60 */ 717 uint32_t ND61:1; /*!< bit: 29 New Data 61 */ 718 uint32_t ND62:1; /*!< bit: 30 New Data 62 */ 719 uint32_t ND63:1; /*!< bit: 31 New Data 63 */ 720 } bit; /*!< Structure used for bit access */ 721 uint32_t reg; /*!< Type used for register access */ 722 } CAN_NDAT2_Type; 723 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 724 725 /* -------- CAN_RXF0C : (CAN Offset: 0xA0) (R/W 32) Rx FIFO 0 Configuration -------- */ 726 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 727 typedef union { 728 struct { 729 uint32_t F0SA:16; /*!< bit: 0..15 Rx FIFO 0 Start Address */ 730 uint32_t F0S:7; /*!< bit: 16..22 Rx FIFO 0 Size */ 731 uint32_t :1; /*!< bit: 23 Reserved */ 732 uint32_t F0WM:7; /*!< bit: 24..30 Rx FIFO 0 Watermark */ 733 uint32_t F0OM:1; /*!< bit: 31 FIFO 0 Operation Mode */ 734 } bit; /*!< Structure used for bit access */ 735 uint32_t reg; /*!< Type used for register access */ 736 } CAN_RXF0C_Type; 737 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 738 /* -------- CAN_RXF0S : (CAN Offset: 0xA4) ( R/ 32) Rx FIFO 0 Status -------- */ 739 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 740 typedef union { 741 struct { 742 uint32_t F0FL:7; /*!< bit: 0.. 6 Rx FIFO 0 Fill Level */ 743 uint32_t :1; /*!< bit: 7 Reserved */ 744 uint32_t F0GI:6; /*!< bit: 8..13 Rx FIFO 0 Get Index */ 745 uint32_t :2; /*!< bit: 14..15 Reserved */ 746 uint32_t F0PI:6; /*!< bit: 16..21 Rx FIFO 0 Put Index */ 747 uint32_t :2; /*!< bit: 22..23 Reserved */ 748 uint32_t F0F:1; /*!< bit: 24 Rx FIFO 0 Full */ 749 uint32_t RF0L:1; /*!< bit: 25 Rx FIFO 0 Message Lost */ 750 uint32_t :6; /*!< bit: 26..31 Reserved */ 751 } bit; /*!< Structure used for bit access */ 752 uint32_t reg; /*!< Type used for register access */ 753 } CAN_RXF0S_Type; 754 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 755 756 /* -------- CAN_RXF0A : (CAN Offset: 0xA8) (R/W 32) Rx FIFO 0 Acknowledge -------- */ 757 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 758 typedef union { 759 struct { 760 uint32_t F0AI:6; /*!< bit: 0.. 5 Rx FIFO 0 Acknowledge Index */ 761 uint32_t :26; /*!< bit: 6..31 Reserved */ 762 } bit; /*!< Structure used for bit access */ 763 uint32_t reg; /*!< Type used for register access */ 764 } CAN_RXF0A_Type; 765 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 766 767 /* -------- CAN_RXBC : (CAN Offset: 0xAC) (R/W 32) Rx Buffer Configuration -------- */ 768 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 769 typedef union { 770 struct { 771 uint32_t RBSA:16; /*!< bit: 0..15 Rx Buffer Start Address */ 772 uint32_t :16; /*!< bit: 16..31 Reserved */ 773 } bit; /*!< Structure used for bit access */ 774 uint32_t reg; /*!< Type used for register access */ 775 } CAN_RXBC_Type; 776 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 777 778 /* -------- CAN_RXF1C : (CAN Offset: 0xB0) (R/W 32) Rx FIFO 1 Configuration -------- */ 779 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 780 typedef union { 781 struct { 782 uint32_t F1SA:16; /*!< bit: 0..15 Rx FIFO 1 Start Address */ 783 uint32_t F1S:7; /*!< bit: 16..22 Rx FIFO 1 Size */ 784 uint32_t :1; /*!< bit: 23 Reserved */ 785 uint32_t F1WM:7; /*!< bit: 24..30 Rx FIFO 1 Watermark */ 786 uint32_t F1OM:1; /*!< bit: 31 FIFO 1 Operation Mode */ 787 } bit; /*!< Structure used for bit access */ 788 uint32_t reg; /*!< Type used for register access */ 789 } CAN_RXF1C_Type; 790 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 791 792 /* -------- CAN_RXF1S : (CAN Offset: 0xB4) ( R/ 32) Rx FIFO 1 Status -------- */ 793 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 794 typedef union { 795 struct { 796 uint32_t F1FL:7; /*!< bit: 0.. 6 Rx FIFO 1 Fill Level */ 797 uint32_t :1; /*!< bit: 7 Reserved */ 798 uint32_t F1GI:6; /*!< bit: 8..13 Rx FIFO 1 Get Index */ 799 uint32_t :2; /*!< bit: 14..15 Reserved */ 800 uint32_t F1PI:6; /*!< bit: 16..21 Rx FIFO 1 Put Index */ 801 uint32_t :2; /*!< bit: 22..23 Reserved */ 802 uint32_t F1F:1; /*!< bit: 24 Rx FIFO 1 Full */ 803 uint32_t RF1L:1; /*!< bit: 25 Rx FIFO 1 Message Lost */ 804 uint32_t :4; /*!< bit: 26..29 Reserved */ 805 uint32_t DMS:2; /*!< bit: 30..31 Debug Message Status */ 806 } bit; /*!< Structure used for bit access */ 807 uint32_t reg; /*!< Type used for register access */ 808 } CAN_RXF1S_Type; 809 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 810 811 /* -------- CAN_RXF1A : (CAN Offset: 0xB8) (R/W 32) Rx FIFO 1 Acknowledge -------- */ 812 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 813 typedef union { 814 struct { 815 uint32_t F1AI:6; /*!< bit: 0.. 5 Rx FIFO 1 Acknowledge Index */ 816 uint32_t :26; /*!< bit: 6..31 Reserved */ 817 } bit; /*!< Structure used for bit access */ 818 uint32_t reg; /*!< Type used for register access */ 819 } CAN_RXF1A_Type; 820 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 821 /* -------- CAN_RXESC : (CAN Offset: 0xBC) (R/W 32) Rx Buffer / FIFO Element Size Configuration -------- */ 822 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 823 typedef union { 824 struct { 825 uint32_t F0DS:3; /*!< bit: 0.. 2 Rx FIFO 0 Data Field Size */ 826 uint32_t :1; /*!< bit: 3 Reserved */ 827 uint32_t F1DS:3; /*!< bit: 4.. 6 Rx FIFO 1 Data Field Size */ 828 uint32_t :1; /*!< bit: 7 Reserved */ 829 uint32_t RBDS:3; /*!< bit: 8..10 Rx Buffer Data Field Size */ 830 uint32_t :21; /*!< bit: 11..31 Reserved */ 831 } bit; /*!< Structure used for bit access */ 832 uint32_t reg; /*!< Type used for register access */ 833 } CAN_RXESC_Type; 834 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 835 836 /* -------- CAN_TXBC : (CAN Offset: 0xC0) (R/W 32) Tx Buffer Configuration -------- */ 837 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 838 typedef union { 839 struct { 840 uint32_t TBSA:16; /*!< bit: 0..15 Tx Buffers Start Address */ 841 uint32_t NDTB:6; /*!< bit: 16..21 Number of Dedicated Transmit Buffers */ 842 uint32_t :2; /*!< bit: 22..23 Reserved */ 843 uint32_t TFQS:6; /*!< bit: 24..29 Transmit FIFO/Queue Size */ 844 uint32_t TFQM:1; /*!< bit: 30 Tx FIFO/Queue Mode */ 845 uint32_t :1; /*!< bit: 31 Reserved */ 846 } bit; /*!< Structure used for bit access */ 847 uint32_t reg; /*!< Type used for register access */ 848 } CAN_TXBC_Type; 849 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 850 851 /* -------- CAN_TXFQS : (CAN Offset: 0xC4) ( R/ 32) Tx FIFO / Queue Status -------- */ 852 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 853 typedef union { 854 struct { 855 uint32_t TFFL:6; /*!< bit: 0.. 5 Tx FIFO Free Level */ 856 uint32_t :2; /*!< bit: 6.. 7 Reserved */ 857 uint32_t TFGI:5; /*!< bit: 8..12 Tx FIFO Get Index */ 858 uint32_t :3; /*!< bit: 13..15 Reserved */ 859 uint32_t TFQPI:5; /*!< bit: 16..20 Tx FIFO/Queue Put Index */ 860 uint32_t TFQF:1; /*!< bit: 21 Tx FIFO/Queue Full */ 861 uint32_t :10; /*!< bit: 22..31 Reserved */ 862 } bit; /*!< Structure used for bit access */ 863 uint32_t reg; /*!< Type used for register access */ 864 } CAN_TXFQS_Type; 865 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 866 867 /* -------- CAN_TXESC : (CAN Offset: 0xC8) (R/W 32) Tx Buffer Element Size Configuration -------- */ 868 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 869 typedef union { 870 struct { 871 uint32_t TBDS:3; /*!< bit: 0.. 2 Tx Buffer Data Field Size */ 872 uint32_t :29; /*!< bit: 3..31 Reserved */ 873 } bit; /*!< Structure used for bit access */ 874 uint32_t reg; /*!< Type used for register access */ 875 } CAN_TXESC_Type; 876 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 877 878 /* -------- CAN_TXBRP : (CAN Offset: 0xCC) ( R/ 32) Tx Buffer Request Pending -------- */ 879 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 880 typedef union { 881 struct { 882 uint32_t TRP0:1; /*!< bit: 0 Transmission Request Pending 0 */ 883 uint32_t TRP1:1; /*!< bit: 1 Transmission Request Pending 1 */ 884 uint32_t TRP2:1; /*!< bit: 2 Transmission Request Pending 2 */ 885 uint32_t TRP3:1; /*!< bit: 3 Transmission Request Pending 3 */ 886 uint32_t TRP4:1; /*!< bit: 4 Transmission Request Pending 4 */ 887 uint32_t TRP5:1; /*!< bit: 5 Transmission Request Pending 5 */ 888 uint32_t TRP6:1; /*!< bit: 6 Transmission Request Pending 6 */ 889 uint32_t TRP7:1; /*!< bit: 7 Transmission Request Pending 7 */ 890 uint32_t TRP8:1; /*!< bit: 8 Transmission Request Pending 8 */ 891 uint32_t TRP9:1; /*!< bit: 9 Transmission Request Pending 9 */ 892 uint32_t TRP10:1; /*!< bit: 10 Transmission Request Pending 10 */ 893 uint32_t TRP11:1; /*!< bit: 11 Transmission Request Pending 11 */ 894 uint32_t TRP12:1; /*!< bit: 12 Transmission Request Pending 12 */ 895 uint32_t TRP13:1; /*!< bit: 13 Transmission Request Pending 13 */ 896 uint32_t TRP14:1; /*!< bit: 14 Transmission Request Pending 14 */ 897 uint32_t TRP15:1; /*!< bit: 15 Transmission Request Pending 15 */ 898 uint32_t TRP16:1; /*!< bit: 16 Transmission Request Pending 16 */ 899 uint32_t TRP17:1; /*!< bit: 17 Transmission Request Pending 17 */ 900 uint32_t TRP18:1; /*!< bit: 18 Transmission Request Pending 18 */ 901 uint32_t TRP19:1; /*!< bit: 19 Transmission Request Pending 19 */ 902 uint32_t TRP20:1; /*!< bit: 20 Transmission Request Pending 20 */ 903 uint32_t TRP21:1; /*!< bit: 21 Transmission Request Pending 21 */ 904 uint32_t TRP22:1; /*!< bit: 22 Transmission Request Pending 22 */ 905 uint32_t TRP23:1; /*!< bit: 23 Transmission Request Pending 23 */ 906 uint32_t TRP24:1; /*!< bit: 24 Transmission Request Pending 24 */ 907 uint32_t TRP25:1; /*!< bit: 25 Transmission Request Pending 25 */ 908 uint32_t TRP26:1; /*!< bit: 26 Transmission Request Pending 26 */ 909 uint32_t TRP27:1; /*!< bit: 27 Transmission Request Pending 27 */ 910 uint32_t TRP28:1; /*!< bit: 28 Transmission Request Pending 28 */ 911 uint32_t TRP29:1; /*!< bit: 29 Transmission Request Pending 29 */ 912 uint32_t TRP30:1; /*!< bit: 30 Transmission Request Pending 30 */ 913 uint32_t TRP31:1; /*!< bit: 31 Transmission Request Pending 31 */ 914 } bit; /*!< Structure used for bit access */ 915 uint32_t reg; /*!< Type used for register access */ 916 } CAN_TXBRP_Type; 917 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 918 919 /* -------- CAN_TXBAR : (CAN Offset: 0xD0) (R/W 32) Tx Buffer Add Request -------- */ 920 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 921 typedef union { 922 struct { 923 uint32_t AR0:1; /*!< bit: 0 Add Request 0 */ 924 uint32_t AR1:1; /*!< bit: 1 Add Request 1 */ 925 uint32_t AR2:1; /*!< bit: 2 Add Request 2 */ 926 uint32_t AR3:1; /*!< bit: 3 Add Request 3 */ 927 uint32_t AR4:1; /*!< bit: 4 Add Request 4 */ 928 uint32_t AR5:1; /*!< bit: 5 Add Request 5 */ 929 uint32_t AR6:1; /*!< bit: 6 Add Request 6 */ 930 uint32_t AR7:1; /*!< bit: 7 Add Request 7 */ 931 uint32_t AR8:1; /*!< bit: 8 Add Request 8 */ 932 uint32_t AR9:1; /*!< bit: 9 Add Request 9 */ 933 uint32_t AR10:1; /*!< bit: 10 Add Request 10 */ 934 uint32_t AR11:1; /*!< bit: 11 Add Request 11 */ 935 uint32_t AR12:1; /*!< bit: 12 Add Request 12 */ 936 uint32_t AR13:1; /*!< bit: 13 Add Request 13 */ 937 uint32_t AR14:1; /*!< bit: 14 Add Request 14 */ 938 uint32_t AR15:1; /*!< bit: 15 Add Request 15 */ 939 uint32_t AR16:1; /*!< bit: 16 Add Request 16 */ 940 uint32_t AR17:1; /*!< bit: 17 Add Request 17 */ 941 uint32_t AR18:1; /*!< bit: 18 Add Request 18 */ 942 uint32_t AR19:1; /*!< bit: 19 Add Request 19 */ 943 uint32_t AR20:1; /*!< bit: 20 Add Request 20 */ 944 uint32_t AR21:1; /*!< bit: 21 Add Request 21 */ 945 uint32_t AR22:1; /*!< bit: 22 Add Request 22 */ 946 uint32_t AR23:1; /*!< bit: 23 Add Request 23 */ 947 uint32_t AR24:1; /*!< bit: 24 Add Request 24 */ 948 uint32_t AR25:1; /*!< bit: 25 Add Request 25 */ 949 uint32_t AR26:1; /*!< bit: 26 Add Request 26 */ 950 uint32_t AR27:1; /*!< bit: 27 Add Request 27 */ 951 uint32_t AR28:1; /*!< bit: 28 Add Request 28 */ 952 uint32_t AR29:1; /*!< bit: 29 Add Request 29 */ 953 uint32_t AR30:1; /*!< bit: 30 Add Request 30 */ 954 uint32_t AR31:1; /*!< bit: 31 Add Request 31 */ 955 } bit; /*!< Structure used for bit access */ 956 uint32_t reg; /*!< Type used for register access */ 957 } CAN_TXBAR_Type; 958 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 959 960 /* -------- CAN_TXBCR : (CAN Offset: 0xD4) (R/W 32) Tx Buffer Cancellation Request -------- */ 961 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 962 typedef union { 963 struct { 964 uint32_t CR0:1; /*!< bit: 0 Cancellation Request 0 */ 965 uint32_t CR1:1; /*!< bit: 1 Cancellation Request 1 */ 966 uint32_t CR2:1; /*!< bit: 2 Cancellation Request 2 */ 967 uint32_t CR3:1; /*!< bit: 3 Cancellation Request 3 */ 968 uint32_t CR4:1; /*!< bit: 4 Cancellation Request 4 */ 969 uint32_t CR5:1; /*!< bit: 5 Cancellation Request 5 */ 970 uint32_t CR6:1; /*!< bit: 6 Cancellation Request 6 */ 971 uint32_t CR7:1; /*!< bit: 7 Cancellation Request 7 */ 972 uint32_t CR8:1; /*!< bit: 8 Cancellation Request 8 */ 973 uint32_t CR9:1; /*!< bit: 9 Cancellation Request 9 */ 974 uint32_t CR10:1; /*!< bit: 10 Cancellation Request 10 */ 975 uint32_t CR11:1; /*!< bit: 11 Cancellation Request 11 */ 976 uint32_t CR12:1; /*!< bit: 12 Cancellation Request 12 */ 977 uint32_t CR13:1; /*!< bit: 13 Cancellation Request 13 */ 978 uint32_t CR14:1; /*!< bit: 14 Cancellation Request 14 */ 979 uint32_t CR15:1; /*!< bit: 15 Cancellation Request 15 */ 980 uint32_t CR16:1; /*!< bit: 16 Cancellation Request 16 */ 981 uint32_t CR17:1; /*!< bit: 17 Cancellation Request 17 */ 982 uint32_t CR18:1; /*!< bit: 18 Cancellation Request 18 */ 983 uint32_t CR19:1; /*!< bit: 19 Cancellation Request 19 */ 984 uint32_t CR20:1; /*!< bit: 20 Cancellation Request 20 */ 985 uint32_t CR21:1; /*!< bit: 21 Cancellation Request 21 */ 986 uint32_t CR22:1; /*!< bit: 22 Cancellation Request 22 */ 987 uint32_t CR23:1; /*!< bit: 23 Cancellation Request 23 */ 988 uint32_t CR24:1; /*!< bit: 24 Cancellation Request 24 */ 989 uint32_t CR25:1; /*!< bit: 25 Cancellation Request 25 */ 990 uint32_t CR26:1; /*!< bit: 26 Cancellation Request 26 */ 991 uint32_t CR27:1; /*!< bit: 27 Cancellation Request 27 */ 992 uint32_t CR28:1; /*!< bit: 28 Cancellation Request 28 */ 993 uint32_t CR29:1; /*!< bit: 29 Cancellation Request 29 */ 994 uint32_t CR30:1; /*!< bit: 30 Cancellation Request 30 */ 995 uint32_t CR31:1; /*!< bit: 31 Cancellation Request 31 */ 996 } bit; /*!< Structure used for bit access */ 997 uint32_t reg; /*!< Type used for register access */ 998 } CAN_TXBCR_Type; 999 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1000 1001 /* -------- CAN_TXBTO : (CAN Offset: 0xD8) ( R/ 32) Tx Buffer Transmission Occurred -------- */ 1002 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1003 typedef union { 1004 struct { 1005 uint32_t TO0:1; /*!< bit: 0 Transmission Occurred 0 */ 1006 uint32_t TO1:1; /*!< bit: 1 Transmission Occurred 1 */ 1007 uint32_t TO2:1; /*!< bit: 2 Transmission Occurred 2 */ 1008 uint32_t TO3:1; /*!< bit: 3 Transmission Occurred 3 */ 1009 uint32_t TO4:1; /*!< bit: 4 Transmission Occurred 4 */ 1010 uint32_t TO5:1; /*!< bit: 5 Transmission Occurred 5 */ 1011 uint32_t TO6:1; /*!< bit: 6 Transmission Occurred 6 */ 1012 uint32_t TO7:1; /*!< bit: 7 Transmission Occurred 7 */ 1013 uint32_t TO8:1; /*!< bit: 8 Transmission Occurred 8 */ 1014 uint32_t TO9:1; /*!< bit: 9 Transmission Occurred 9 */ 1015 uint32_t TO10:1; /*!< bit: 10 Transmission Occurred 10 */ 1016 uint32_t TO11:1; /*!< bit: 11 Transmission Occurred 11 */ 1017 uint32_t TO12:1; /*!< bit: 12 Transmission Occurred 12 */ 1018 uint32_t TO13:1; /*!< bit: 13 Transmission Occurred 13 */ 1019 uint32_t TO14:1; /*!< bit: 14 Transmission Occurred 14 */ 1020 uint32_t TO15:1; /*!< bit: 15 Transmission Occurred 15 */ 1021 uint32_t TO16:1; /*!< bit: 16 Transmission Occurred 16 */ 1022 uint32_t TO17:1; /*!< bit: 17 Transmission Occurred 17 */ 1023 uint32_t TO18:1; /*!< bit: 18 Transmission Occurred 18 */ 1024 uint32_t TO19:1; /*!< bit: 19 Transmission Occurred 19 */ 1025 uint32_t TO20:1; /*!< bit: 20 Transmission Occurred 20 */ 1026 uint32_t TO21:1; /*!< bit: 21 Transmission Occurred 21 */ 1027 uint32_t TO22:1; /*!< bit: 22 Transmission Occurred 22 */ 1028 uint32_t TO23:1; /*!< bit: 23 Transmission Occurred 23 */ 1029 uint32_t TO24:1; /*!< bit: 24 Transmission Occurred 24 */ 1030 uint32_t TO25:1; /*!< bit: 25 Transmission Occurred 25 */ 1031 uint32_t TO26:1; /*!< bit: 26 Transmission Occurred 26 */ 1032 uint32_t TO27:1; /*!< bit: 27 Transmission Occurred 27 */ 1033 uint32_t TO28:1; /*!< bit: 28 Transmission Occurred 28 */ 1034 uint32_t TO29:1; /*!< bit: 29 Transmission Occurred 29 */ 1035 uint32_t TO30:1; /*!< bit: 30 Transmission Occurred 30 */ 1036 uint32_t TO31:1; /*!< bit: 31 Transmission Occurred 31 */ 1037 } bit; /*!< Structure used for bit access */ 1038 uint32_t reg; /*!< Type used for register access */ 1039 } CAN_TXBTO_Type; 1040 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1041 1042 /* -------- CAN_TXBCF : (CAN Offset: 0xDC) ( R/ 32) Tx Buffer Cancellation Finished -------- */ 1043 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1044 typedef union { 1045 struct { 1046 uint32_t CF0:1; /*!< bit: 0 Tx Buffer Cancellation Finished 0 */ 1047 uint32_t CF1:1; /*!< bit: 1 Tx Buffer Cancellation Finished 1 */ 1048 uint32_t CF2:1; /*!< bit: 2 Tx Buffer Cancellation Finished 2 */ 1049 uint32_t CF3:1; /*!< bit: 3 Tx Buffer Cancellation Finished 3 */ 1050 uint32_t CF4:1; /*!< bit: 4 Tx Buffer Cancellation Finished 4 */ 1051 uint32_t CF5:1; /*!< bit: 5 Tx Buffer Cancellation Finished 5 */ 1052 uint32_t CF6:1; /*!< bit: 6 Tx Buffer Cancellation Finished 6 */ 1053 uint32_t CF7:1; /*!< bit: 7 Tx Buffer Cancellation Finished 7 */ 1054 uint32_t CF8:1; /*!< bit: 8 Tx Buffer Cancellation Finished 8 */ 1055 uint32_t CF9:1; /*!< bit: 9 Tx Buffer Cancellation Finished 9 */ 1056 uint32_t CF10:1; /*!< bit: 10 Tx Buffer Cancellation Finished 10 */ 1057 uint32_t CF11:1; /*!< bit: 11 Tx Buffer Cancellation Finished 11 */ 1058 uint32_t CF12:1; /*!< bit: 12 Tx Buffer Cancellation Finished 12 */ 1059 uint32_t CF13:1; /*!< bit: 13 Tx Buffer Cancellation Finished 13 */ 1060 uint32_t CF14:1; /*!< bit: 14 Tx Buffer Cancellation Finished 14 */ 1061 uint32_t CF15:1; /*!< bit: 15 Tx Buffer Cancellation Finished 15 */ 1062 uint32_t CF16:1; /*!< bit: 16 Tx Buffer Cancellation Finished 16 */ 1063 uint32_t CF17:1; /*!< bit: 17 Tx Buffer Cancellation Finished 17 */ 1064 uint32_t CF18:1; /*!< bit: 18 Tx Buffer Cancellation Finished 18 */ 1065 uint32_t CF19:1; /*!< bit: 19 Tx Buffer Cancellation Finished 19 */ 1066 uint32_t CF20:1; /*!< bit: 20 Tx Buffer Cancellation Finished 20 */ 1067 uint32_t CF21:1; /*!< bit: 21 Tx Buffer Cancellation Finished 21 */ 1068 uint32_t CF22:1; /*!< bit: 22 Tx Buffer Cancellation Finished 22 */ 1069 uint32_t CF23:1; /*!< bit: 23 Tx Buffer Cancellation Finished 23 */ 1070 uint32_t CF24:1; /*!< bit: 24 Tx Buffer Cancellation Finished 24 */ 1071 uint32_t CF25:1; /*!< bit: 25 Tx Buffer Cancellation Finished 25 */ 1072 uint32_t CF26:1; /*!< bit: 26 Tx Buffer Cancellation Finished 26 */ 1073 uint32_t CF27:1; /*!< bit: 27 Tx Buffer Cancellation Finished 27 */ 1074 uint32_t CF28:1; /*!< bit: 28 Tx Buffer Cancellation Finished 28 */ 1075 uint32_t CF29:1; /*!< bit: 29 Tx Buffer Cancellation Finished 29 */ 1076 uint32_t CF30:1; /*!< bit: 30 Tx Buffer Cancellation Finished 30 */ 1077 uint32_t CF31:1; /*!< bit: 31 Tx Buffer Cancellation Finished 31 */ 1078 } bit; /*!< Structure used for bit access */ 1079 uint32_t reg; /*!< Type used for register access */ 1080 } CAN_TXBCF_Type; 1081 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1082 1083 /* -------- CAN_TXBTIE : (CAN Offset: 0xE0) (R/W 32) Tx Buffer Transmission Interrupt Enable -------- */ 1084 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1085 typedef union { 1086 struct { 1087 uint32_t TIE0:1; /*!< bit: 0 Transmission Interrupt Enable 0 */ 1088 uint32_t TIE1:1; /*!< bit: 1 Transmission Interrupt Enable 1 */ 1089 uint32_t TIE2:1; /*!< bit: 2 Transmission Interrupt Enable 2 */ 1090 uint32_t TIE3:1; /*!< bit: 3 Transmission Interrupt Enable 3 */ 1091 uint32_t TIE4:1; /*!< bit: 4 Transmission Interrupt Enable 4 */ 1092 uint32_t TIE5:1; /*!< bit: 5 Transmission Interrupt Enable 5 */ 1093 uint32_t TIE6:1; /*!< bit: 6 Transmission Interrupt Enable 6 */ 1094 uint32_t TIE7:1; /*!< bit: 7 Transmission Interrupt Enable 7 */ 1095 uint32_t TIE8:1; /*!< bit: 8 Transmission Interrupt Enable 8 */ 1096 uint32_t TIE9:1; /*!< bit: 9 Transmission Interrupt Enable 9 */ 1097 uint32_t TIE10:1; /*!< bit: 10 Transmission Interrupt Enable 10 */ 1098 uint32_t TIE11:1; /*!< bit: 11 Transmission Interrupt Enable 11 */ 1099 uint32_t TIE12:1; /*!< bit: 12 Transmission Interrupt Enable 12 */ 1100 uint32_t TIE13:1; /*!< bit: 13 Transmission Interrupt Enable 13 */ 1101 uint32_t TIE14:1; /*!< bit: 14 Transmission Interrupt Enable 14 */ 1102 uint32_t TIE15:1; /*!< bit: 15 Transmission Interrupt Enable 15 */ 1103 uint32_t TIE16:1; /*!< bit: 16 Transmission Interrupt Enable 16 */ 1104 uint32_t TIE17:1; /*!< bit: 17 Transmission Interrupt Enable 17 */ 1105 uint32_t TIE18:1; /*!< bit: 18 Transmission Interrupt Enable 18 */ 1106 uint32_t TIE19:1; /*!< bit: 19 Transmission Interrupt Enable 19 */ 1107 uint32_t TIE20:1; /*!< bit: 20 Transmission Interrupt Enable 20 */ 1108 uint32_t TIE21:1; /*!< bit: 21 Transmission Interrupt Enable 21 */ 1109 uint32_t TIE22:1; /*!< bit: 22 Transmission Interrupt Enable 22 */ 1110 uint32_t TIE23:1; /*!< bit: 23 Transmission Interrupt Enable 23 */ 1111 uint32_t TIE24:1; /*!< bit: 24 Transmission Interrupt Enable 24 */ 1112 uint32_t TIE25:1; /*!< bit: 25 Transmission Interrupt Enable 25 */ 1113 uint32_t TIE26:1; /*!< bit: 26 Transmission Interrupt Enable 26 */ 1114 uint32_t TIE27:1; /*!< bit: 27 Transmission Interrupt Enable 27 */ 1115 uint32_t TIE28:1; /*!< bit: 28 Transmission Interrupt Enable 28 */ 1116 uint32_t TIE29:1; /*!< bit: 29 Transmission Interrupt Enable 29 */ 1117 uint32_t TIE30:1; /*!< bit: 30 Transmission Interrupt Enable 30 */ 1118 uint32_t TIE31:1; /*!< bit: 31 Transmission Interrupt Enable 31 */ 1119 } bit; /*!< Structure used for bit access */ 1120 uint32_t reg; /*!< Type used for register access */ 1121 } CAN_TXBTIE_Type; 1122 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1123 1124 /* -------- CAN_TXBCIE : (CAN Offset: 0xE4) (R/W 32) Tx Buffer Cancellation Finished Interrupt Enable -------- */ 1125 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1126 typedef union { 1127 struct { 1128 uint32_t CFIE0:1; /*!< bit: 0 Cancellation Finished Interrupt Enable 0 */ 1129 uint32_t CFIE1:1; /*!< bit: 1 Cancellation Finished Interrupt Enable 1 */ 1130 uint32_t CFIE2:1; /*!< bit: 2 Cancellation Finished Interrupt Enable 2 */ 1131 uint32_t CFIE3:1; /*!< bit: 3 Cancellation Finished Interrupt Enable 3 */ 1132 uint32_t CFIE4:1; /*!< bit: 4 Cancellation Finished Interrupt Enable 4 */ 1133 uint32_t CFIE5:1; /*!< bit: 5 Cancellation Finished Interrupt Enable 5 */ 1134 uint32_t CFIE6:1; /*!< bit: 6 Cancellation Finished Interrupt Enable 6 */ 1135 uint32_t CFIE7:1; /*!< bit: 7 Cancellation Finished Interrupt Enable 7 */ 1136 uint32_t CFIE8:1; /*!< bit: 8 Cancellation Finished Interrupt Enable 8 */ 1137 uint32_t CFIE9:1; /*!< bit: 9 Cancellation Finished Interrupt Enable 9 */ 1138 uint32_t CFIE10:1; /*!< bit: 10 Cancellation Finished Interrupt Enable 10 */ 1139 uint32_t CFIE11:1; /*!< bit: 11 Cancellation Finished Interrupt Enable 11 */ 1140 uint32_t CFIE12:1; /*!< bit: 12 Cancellation Finished Interrupt Enable 12 */ 1141 uint32_t CFIE13:1; /*!< bit: 13 Cancellation Finished Interrupt Enable 13 */ 1142 uint32_t CFIE14:1; /*!< bit: 14 Cancellation Finished Interrupt Enable 14 */ 1143 uint32_t CFIE15:1; /*!< bit: 15 Cancellation Finished Interrupt Enable 15 */ 1144 uint32_t CFIE16:1; /*!< bit: 16 Cancellation Finished Interrupt Enable 16 */ 1145 uint32_t CFIE17:1; /*!< bit: 17 Cancellation Finished Interrupt Enable 17 */ 1146 uint32_t CFIE18:1; /*!< bit: 18 Cancellation Finished Interrupt Enable 18 */ 1147 uint32_t CFIE19:1; /*!< bit: 19 Cancellation Finished Interrupt Enable 19 */ 1148 uint32_t CFIE20:1; /*!< bit: 20 Cancellation Finished Interrupt Enable 20 */ 1149 uint32_t CFIE21:1; /*!< bit: 21 Cancellation Finished Interrupt Enable 21 */ 1150 uint32_t CFIE22:1; /*!< bit: 22 Cancellation Finished Interrupt Enable 22 */ 1151 uint32_t CFIE23:1; /*!< bit: 23 Cancellation Finished Interrupt Enable 23 */ 1152 uint32_t CFIE24:1; /*!< bit: 24 Cancellation Finished Interrupt Enable 24 */ 1153 uint32_t CFIE25:1; /*!< bit: 25 Cancellation Finished Interrupt Enable 25 */ 1154 uint32_t CFIE26:1; /*!< bit: 26 Cancellation Finished Interrupt Enable 26 */ 1155 uint32_t CFIE27:1; /*!< bit: 27 Cancellation Finished Interrupt Enable 27 */ 1156 uint32_t CFIE28:1; /*!< bit: 28 Cancellation Finished Interrupt Enable 28 */ 1157 uint32_t CFIE29:1; /*!< bit: 29 Cancellation Finished Interrupt Enable 29 */ 1158 uint32_t CFIE30:1; /*!< bit: 30 Cancellation Finished Interrupt Enable 30 */ 1159 uint32_t CFIE31:1; /*!< bit: 31 Cancellation Finished Interrupt Enable 31 */ 1160 } bit; /*!< Structure used for bit access */ 1161 uint32_t reg; /*!< Type used for register access */ 1162 } CAN_TXBCIE_Type; 1163 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1164 1165 /* -------- CAN_TXEFC : (CAN Offset: 0xF0) (R/W 32) Tx Event FIFO Configuration -------- */ 1166 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1167 typedef union { 1168 struct { 1169 uint32_t EFSA:16; /*!< bit: 0..15 Event FIFO Start Address */ 1170 uint32_t EFS:6; /*!< bit: 16..21 Event FIFO Size */ 1171 uint32_t :2; /*!< bit: 22..23 Reserved */ 1172 uint32_t EFWM:6; /*!< bit: 24..29 Event FIFO Watermark */ 1173 uint32_t :2; /*!< bit: 30..31 Reserved */ 1174 } bit; /*!< Structure used for bit access */ 1175 uint32_t reg; /*!< Type used for register access */ 1176 } CAN_TXEFC_Type; 1177 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1178 1179 /* -------- CAN_TXEFS : (CAN Offset: 0xF4) ( R/ 32) Tx Event FIFO Status -------- */ 1180 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1181 typedef union { 1182 struct { 1183 uint32_t EFFL:6; /*!< bit: 0.. 5 Event FIFO Fill Level */ 1184 uint32_t :2; /*!< bit: 6.. 7 Reserved */ 1185 uint32_t EFGI:5; /*!< bit: 8..12 Event FIFO Get Index */ 1186 uint32_t :3; /*!< bit: 13..15 Reserved */ 1187 uint32_t EFPI:5; /*!< bit: 16..20 Event FIFO Put Index */ 1188 uint32_t :3; /*!< bit: 21..23 Reserved */ 1189 uint32_t EFF:1; /*!< bit: 24 Event FIFO Full */ 1190 uint32_t TEFL:1; /*!< bit: 25 Tx Event FIFO Element Lost */ 1191 uint32_t :6; /*!< bit: 26..31 Reserved */ 1192 } bit; /*!< Structure used for bit access */ 1193 uint32_t reg; /*!< Type used for register access */ 1194 } CAN_TXEFS_Type; 1195 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1196 1197 /* -------- CAN_TXEFA : (CAN Offset: 0xF8) (R/W 32) Tx Event FIFO Acknowledge -------- */ 1198 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1199 typedef union { 1200 struct { 1201 uint32_t EFAI:5; /*!< bit: 0.. 4 Event FIFO Acknowledge Index */ 1202 uint32_t :27; /*!< bit: 5..31 Reserved */ 1203 } bit; /*!< Structure used for bit access */ 1204 uint32_t reg; /*!< Type used for register access */ 1205 } CAN_TXEFA_Type; 1206 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1207 1208 /** \brief CAN Mram_rxbe hardware registers */ 1209 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1210 typedef struct { 1211 __IO CAN_RXBE_0_Type RXBE_0; /**< \brief Offset: 0x00 (R/W 32) Rx Buffer Element 0 */ 1212 __IO CAN_RXBE_1_Type RXBE_1; /**< \brief Offset: 0x04 (R/W 32) Rx Buffer Element 1 */ 1213 __IO CAN_RXBE_DATA_Type RXBE_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx Buffer Element Data */ 1214 } CanMramRxbe 1215 #ifdef __GNUC__ 1216 __attribute__ ((aligned (4))) 1217 #endif 1218 ; 1219 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1220 1221 /** \brief CAN Mram_rxf0e hardware registers */ 1222 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1223 typedef struct { 1224 __IO CAN_RXF0E_0_Type RXF0E_0; /**< \brief Offset: 0x00 (R/W 32) Rx FIFO 0 Element 0 */ 1225 __IO CAN_RXF0E_1_Type RXF0E_1; /**< \brief Offset: 0x04 (R/W 32) Rx FIFO 0 Element 1 */ 1226 __IO CAN_RXF0E_DATA_Type RXF0E_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx FIFO 0 Element Data */ 1227 } CanMramRxf0e 1228 #ifdef __GNUC__ 1229 __attribute__ ((aligned (4))) 1230 #endif 1231 ; 1232 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1233 1234 /** \brief CAN Mram_rxf1e hardware registers */ 1235 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1236 typedef struct { 1237 __IO CAN_RXF1E_0_Type RXF1E_0; /**< \brief Offset: 0x00 (R/W 32) Rx FIFO 1 Element 0 */ 1238 __IO CAN_RXF1E_1_Type RXF1E_1; /**< \brief Offset: 0x04 (R/W 32) Rx FIFO 1 Element 1 */ 1239 __IO CAN_RXF1E_DATA_Type RXF1E_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx FIFO 1 Element Data */ 1240 } CanMramRxf1e 1241 #ifdef __GNUC__ 1242 __attribute__ ((aligned (4))) 1243 #endif 1244 ; 1245 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1246 1247 /** \brief CAN Mram_sidfe hardware registers */ 1248 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1249 typedef struct { 1250 __IO CAN_SIDFE_0_Type SIDFE_0; /**< \brief Offset: 0x00 (R/W 32) Standard Message ID Filter Element */ 1251 } CanMramSidfe 1252 #ifdef __GNUC__ 1253 __attribute__ ((aligned (4))) 1254 #endif 1255 ; 1256 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1257 1258 /** \brief CAN Mram_txbe hardware registers */ 1259 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1260 typedef struct { 1261 __IO CAN_TXBE_0_Type TXBE_0; /**< \brief Offset: 0x00 (R/W 32) Tx Buffer Element 0 */ 1262 __IO CAN_TXBE_1_Type TXBE_1; /**< \brief Offset: 0x04 (R/W 32) Tx Buffer Element 1 */ 1263 __IO CAN_TXBE_DATA_Type TXBE_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Tx Buffer Element Data */ 1264 } CanMramTxbe 1265 #ifdef __GNUC__ 1266 __attribute__ ((aligned (4))) 1267 #endif 1268 ; 1269 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1270 1271 /** \brief CAN Mram_txefe hardware registers */ 1272 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1273 typedef struct { 1274 __IO CAN_TXEFE_0_Type TXEFE_0; /**< \brief Offset: 0x00 (R/W 32) Tx Event FIFO Element 0 */ 1275 __IO CAN_TXEFE_1_Type TXEFE_1; /**< \brief Offset: 0x04 (R/W 32) Tx Event FIFO Element 1 */ 1276 } CanMramTxefe 1277 #ifdef __GNUC__ 1278 __attribute__ ((aligned (4))) 1279 #endif 1280 ; 1281 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1282 1283 /** \brief CAN Mram_xifde hardware registers */ 1284 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1285 typedef struct { 1286 __IO CAN_XIDFE_0_Type XIDFE_0; /**< \brief Offset: 0x00 (R/W 32) Extended Message ID Filter Element 0 */ 1287 __IO CAN_XIDFE_1_Type XIDFE_1; /**< \brief Offset: 0x04 (R/W 32) Extended Message ID Filter Element 1 */ 1288 } CanMramXifde 1289 #ifdef __GNUC__ 1290 __attribute__ ((aligned (4))) 1291 #endif 1292 ; 1293 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1294 1295 /** \brief CAN APB hardware registers */ 1296 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 1297 typedef struct { 1298 __I CAN_CREL_Type CREL; /**< \brief Offset: 0x00 (R/ 32) Core Release */ 1299 __I CAN_ENDN_Type ENDN; /**< \brief Offset: 0x04 (R/ 32) Endian */ 1300 __IO CAN_MRCFG_Type MRCFG; /**< \brief Offset: 0x08 (R/W 32) Message RAM Configuration */ 1301 __IO CAN_DBTP_Type DBTP; /**< \brief Offset: 0x0C (R/W 32) Fast Bit Timing and Prescaler */ 1302 __IO CAN_TEST_Type TEST; /**< \brief Offset: 0x10 (R/W 32) Test */ 1303 __IO CAN_RWD_Type RWD; /**< \brief Offset: 0x14 (R/W 32) RAM Watchdog */ 1304 __IO CAN_CCCR_Type CCCR; /**< \brief Offset: 0x18 (R/W 32) CC Control */ 1305 __IO CAN_NBTP_Type NBTP; /**< \brief Offset: 0x1C (R/W 32) Nominal Bit Timing and Prescaler */ 1306 __IO CAN_TSCC_Type TSCC; /**< \brief Offset: 0x20 (R/W 32) Timestamp Counter Configuration */ 1307 __I CAN_TSCV_Type TSCV; /**< \brief Offset: 0x24 (R/ 32) Timestamp Counter Value */ 1308 __IO CAN_TOCC_Type TOCC; /**< \brief Offset: 0x28 (R/W 32) Timeout Counter Configuration */ 1309 __IO CAN_TOCV_Type TOCV; /**< \brief Offset: 0x2C (R/W 32) Timeout Counter Value */ 1310 RoReg8 Reserved1[0x10]; 1311 __I CAN_ECR_Type ECR; /**< \brief Offset: 0x40 (R/ 32) Error Counter */ 1312 __I CAN_PSR_Type PSR; /**< \brief Offset: 0x44 (R/ 32) Protocol Status */ 1313 __IO CAN_TDCR_Type TDCR; /**< \brief Offset: 0x48 (R/W 32) Extended ID Filter Configuration */ 1314 RoReg8 Reserved2[0x4]; 1315 __IO CAN_IR_Type IR; /**< \brief Offset: 0x50 (R/W 32) Interrupt */ 1316 __IO CAN_IE_Type IE; /**< \brief Offset: 0x54 (R/W 32) Interrupt Enable */ 1317 __IO CAN_ILS_Type ILS; /**< \brief Offset: 0x58 (R/W 32) Interrupt Line Select */ 1318 __IO CAN_ILE_Type ILE; /**< \brief Offset: 0x5C (R/W 32) Interrupt Line Enable */ 1319 RoReg8 Reserved3[0x20]; 1320 __IO CAN_GFC_Type GFC; /**< \brief Offset: 0x80 (R/W 32) Global Filter Configuration */ 1321 __IO CAN_SIDFC_Type SIDFC; /**< \brief Offset: 0x84 (R/W 32) Standard ID Filter Configuration */ 1322 __IO CAN_XIDFC_Type XIDFC; /**< \brief Offset: 0x88 (R/W 32) Extended ID Filter Configuration */ 1323 RoReg8 Reserved4[0x4]; 1324 __IO CAN_XIDAM_Type XIDAM; /**< \brief Offset: 0x90 (R/W 32) Extended ID AND Mask */ 1325 __I CAN_HPMS_Type HPMS; /**< \brief Offset: 0x94 (R/ 32) High Priority Message Status */ 1326 __IO CAN_NDAT1_Type NDAT1; /**< \brief Offset: 0x98 (R/W 32) New Data 1 */ 1327 __IO CAN_NDAT2_Type NDAT2; /**< \brief Offset: 0x9C (R/W 32) New Data 2 */ 1328 __IO CAN_RXF0C_Type RXF0C; /**< \brief Offset: 0xA0 (R/W 32) Rx FIFO 0 Configuration */ 1329 __I CAN_RXF0S_Type RXF0S; /**< \brief Offset: 0xA4 (R/ 32) Rx FIFO 0 Status */ 1330 __IO CAN_RXF0A_Type RXF0A; /**< \brief Offset: 0xA8 (R/W 32) Rx FIFO 0 Acknowledge */ 1331 __IO CAN_RXBC_Type RXBC; /**< \brief Offset: 0xAC (R/W 32) Rx Buffer Configuration */ 1332 __IO CAN_RXF1C_Type RXF1C; /**< \brief Offset: 0xB0 (R/W 32) Rx FIFO 1 Configuration */ 1333 __I CAN_RXF1S_Type RXF1S; /**< \brief Offset: 0xB4 (R/ 32) Rx FIFO 1 Status */ 1334 __IO CAN_RXF1A_Type RXF1A; /**< \brief Offset: 0xB8 (R/W 32) Rx FIFO 1 Acknowledge */ 1335 __IO CAN_RXESC_Type RXESC; /**< \brief Offset: 0xBC (R/W 32) Rx Buffer / FIFO Element Size Configuration */ 1336 __IO CAN_TXBC_Type TXBC; /**< \brief Offset: 0xC0 (R/W 32) Tx Buffer Configuration */ 1337 __I CAN_TXFQS_Type TXFQS; /**< \brief Offset: 0xC4 (R/ 32) Tx FIFO / Queue Status */ 1338 __IO CAN_TXESC_Type TXESC; /**< \brief Offset: 0xC8 (R/W 32) Tx Buffer Element Size Configuration */ 1339 __I CAN_TXBRP_Type TXBRP; /**< \brief Offset: 0xCC (R/ 32) Tx Buffer Request Pending */ 1340 __IO CAN_TXBAR_Type TXBAR; /**< \brief Offset: 0xD0 (R/W 32) Tx Buffer Add Request */ 1341 __IO CAN_TXBCR_Type TXBCR; /**< \brief Offset: 0xD4 (R/W 32) Tx Buffer Cancellation Request */ 1342 __I CAN_TXBTO_Type TXBTO; /**< \brief Offset: 0xD8 (R/ 32) Tx Buffer Transmission Occurred */ 1343 __I CAN_TXBCF_Type TXBCF; /**< \brief Offset: 0xDC (R/ 32) Tx Buffer Cancellation Finished */ 1344 __IO CAN_TXBTIE_Type TXBTIE; /**< \brief Offset: 0xE0 (R/W 32) Tx Buffer Transmission Interrupt Enable */ 1345 __IO CAN_TXBCIE_Type TXBCIE; /**< \brief Offset: 0xE4 (R/W 32) Tx Buffer Cancellation Finished Interrupt Enable */ 1346 RoReg8 Reserved5[0x8]; 1347 __IO CAN_TXEFC_Type TXEFC; /**< \brief Offset: 0xF0 (R/W 32) Tx Event FIFO Configuration */ 1348 __I CAN_TXEFS_Type TXEFS; /**< \brief Offset: 0xF4 (R/ 32) Tx Event FIFO Status */ 1349 __IO CAN_TXEFA_Type TXEFA; /**< \brief Offset: 0xF8 (R/W 32) Tx Event FIFO Acknowledge */ 1350 } Can; 1351 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 1352 1353 #define SECTION_CAN_MRAM_RXBE 1354 #define SECTION_CAN_MRAM_RXF0E 1355 #define SECTION_CAN_MRAM_RXF1E 1356 #define SECTION_CAN_MRAM_SIDFE 1357 #define SECTION_CAN_MRAM_TXBE 1358 #define SECTION_CAN_MRAM_TXEFE 1359 #define SECTION_CAN_MRAM_XIFDE 1360 1361 #endif /* _MICROCHIP_PIC32CXSG_CAN_COMPONENT_FIXUP_H_ */ 1362