1 /**************************************************************************//** 2 * @file canfd_reg.h 3 * @version V1.00 4 * @brief CAN FD register definition header file 5 * 6 * SPDX-License-Identifier: Apache-2.0 7 * @copyright (C) 2021 Nuvoton Technology Corp. All rights reserved. 8 *****************************************************************************/ 9 10 #ifndef __CANFD_REG_H__ 11 #define __CANFD_REG_H__ 12 13 #if defined ( __CC_ARM ) 14 #pragma anon_unions 15 #endif 16 17 /** 18 @addtogroup REGISTER Control Register 19 @{ 20 */ 21 22 /** 23 @addtogroup Controller Area Network with Feasibility Data Rate (CAN FD) 24 Memory Mapped Structure for CAN FD Controller 25 @{ */ 26 27 typedef struct 28 { 29 30 /** 31 * @var CANFD_T::DBTP 32 * Offset: 0x0C Data Bit Timing & Prescaler Register Register 33 * --------------------------------------------------------------------------------------------------- 34 * |Bits |Field |Descriptions 35 * | :----: | :----: | :---- | 36 * |7[3:0] |DSJW |Data (Re) Synchronization Jump Width 37 * | | |Valid values are 0 to 15. 38 * | | |The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 39 * |[7:4] |DTSEG2 |Data time segment after sample point 40 * | | |Valid values are 0 to 15. 41 * | | |The actual interpretation by the hardware of this value is such that one more than the programmed value is used. 42 * |[12:8] |DTSEG1 |Data time segment before sample point 43 * | | |Valid values are 0 to 31. 44 * | | |The actual interpretation by the hardware of this value is such that one more than the programmed value is used. 45 * |[20:16] |DBRP |Data Bit Rate Prescaler 46 * | | |The value by which the oscillator frequency is divided for generating the bit time quanta. 47 * | | |The bit time is built up from a multiple of this quanta. Valid values for the Bit Rate Prescaler are 0 to 31. When TDC ='1',the range is limited to 0,1. 48 * | | |The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 49 * |[23] |TDC |Transmitter Delay Compensation 50 * | | |0 = Transmitter Delay Compensation disabled. 51 * | | |1 = Transmitter Delay Compensation enabled. 52 * --------------------------------------------------------------------------------------------------- 53 * @var CANFD_T::TEST 54 * Offset: 0x10 Test Register 55 * --------------------------------------------------------------------------------------------------- 56 * |Bits |Field |Descriptions 57 * | :----: | :----: | :---- | 58 * |[4] |LBCK |Loop Back Mode 59 * | | |0 = Reset value, Loop Back Mode is disabled. 60 * | | |1 = Loop Back Mode is enabled (refer to 1.1.5.1 TEST Mode). 61 * |[6:5] |TX |Control of Transmit Pin 62 * | | |00 = Reset value, CANx_TXD controlled by the CAN Core, updated at the end of the CAN bit time. 63 * | | |01 = Sample Point can be monitored at pin CANx_TXD. 64 * | | |10 = Dominant ('0') level at pin CANx_TXD. 65 * | | |11 = Recessive ('1') level at pin CANx_TXD. 66 * |[7] |RX |Receive Pin 67 * | | |Monitors the actual value of pin CANx_RXD 68 * | | |0 = The CAN bus is dominant (CANx_RXD = 0). 69 * | | |1 = The CAN bus is recessive (CANx_RXD = 1). 70 * @var CANFD_T::RWD 71 * Offset: 0x14 RAM Watchdog Register 72 * --------------------------------------------------------------------------------------------------- 73 * |Bits |Field |Descriptions 74 * | :----: | :----: | :---- | 75 * |[7:0] |WDC |Watchdog Conguration 76 * | | |Start value of the Message RAM Watchdog Counter. With the reset value of 00 the counter is disabled. 77 * |[15:8] |WDV |Watchdog Value 78 * | | |Actual Message RAM Watchdog Counter Value. 79 * @var CANFD_T::CCCR 80 * Offset: 0x18 CC Control Register 81 * --------------------------------------------------------------------------------------------------- 82 * |Bits |Field |Descriptions 83 * | :----: | :----: | :---- | 84 * |[0] |INIT |Initialization 85 * | | |0 = Normal Operation. 86 * | | |1 = Initialization is started. 87 * | | |Note: Due to the synchronization mechanism between the two clock domains, there may be a delay until the value written to INIT can be read back. 88 * | | |Therefore the programmer has to assure that the previous value written to INIT has been accepted by reading INIT before setting INIT to a new value. 89 * |[1] |CCE |Conguration Change Enable 90 * | | |0 = The CPU has no write access to the protected conguration registers. 91 * | | |1 = The CPU has write access to the protected conguration registers (while CANFD_INIT (CANFD_CCCR[0]) = 1). 92 * |[2] |ASM |Restricted Operation Mode 93 * | | |Bit ASM can only be set by the Host when both CCE and INIT are set to 1. 94 * | | |The bit can be reset by the Host software at any time. 95 * | | |This bit will be set automatically set to 1 when the Tx handler was not able to read data from the message RAM in time. 96 * | | |For a description of the Restricted Operation Mode refer to Restricted Operation Mode. 97 * | | |0 = Normal CAN operation. 98 * | | |1 = Restricted Operation Mode active. 99 * |[3] |CSA |Clock Stop Acknowledge 100 * | | |0 = No clock stop acknowledged. 101 * | | |1 = The Controller may be set in power down by stopping AHB clock and CAN Core clockcclk. 102 * |[4] |CSR |Clock Stop Request 103 * | | |0 = No clock stop is requested. 104 * | | |1 = Clock stop requested. 105 * | | |When clock stop is requested, first INIT and then CSA will be set after all pending transfer requests have been completed and the CAN bus reached idle. 106 * |[5] |MON |Bus Monitoring Mode 107 * | | |Bit MON can only be set by the Host when both CCE and INIT are set to 1. 108 * | | |The bit can be reset by the Host at any time. 109 * | | |0 = Bus Monitoring Mode is disabled. 110 * | | |1 = Bus Monitoring Mode is enabled. 111 * |[6] |DAR |Disable Automatic Retransmission 112 * | | |0 = Automatic retransmission of messages not transmitted successfully enabled. 113 * | | |1 = Automatic retransmission disabled. 114 * |[7] |TEST |Test Mode Enable 115 * | | |0 = Normal operation, register TEST holds reset values. 116 * | | |1 = Test Mode, write access to register TEST enabled. 117 * |[8] |FDOE |FD Operation Enable 118 * | | |0 = FD operation disabled. 119 * | | |1 = FD operation enabled. 120 * |[9] |BRSE |Bit Rate Switch Enable 121 * | | |0 = Bit rate switching for transmissions disabled. 122 * | | |1 = Bit rate switching for transmissions enabled. 123 * | | |Note: When CAN FD operation is disabled FDOE = 0, BRSE is not evaluated. 124 * |[12] |PXHD |Protocol Exception Handling Disable 125 * | | |0 = Protocol exception handling enabled. 126 * | | |1 = Protocol exception handling disabled. 127 * | | |Note: When protocol exception handling is disabled, the controller will transmit an error frame when it detects a protocol exception condition. 128 * |[13] |EFBI |Edge Filtering during Bus Integration 129 * | | |0 = Edge filtering disabled. 130 * | | |1 = Two consecutive dominant tq required to detect an edge f or hard synchronization. 131 * |[14] |TXP |Transmit Pause 132 * | | |If this bit is set, the CAN FD controller pauses for two CAN bit times before starting the next transmission after itself has successfully transmitted a frame (refer to 1.1.5.5). 133 * | | |0 = Transmit pause disabled. 134 * | | |1 = Transmit pause enabled. 135 * |[15] |NISO |Non ISO Operation 136 * | | |If this bit is set, the CAN FD controller controller uses the CAN FD frame format as specied by the Bosch CAN FD Specification V1.0. 137 * | | |0 = CAN FD frame format according to ISO 11898-1:2015. 138 * | | |1 = CAN FD frame format according to Bosch CAN FD Specification V1.0. 139 * @var CANFD_T::NBTP 140 * Offset: 0x1C Nominal Bit Timing & Prescaler Register 141 * --------------------------------------------------------------------------------------------------- 142 * |Bits |Field |Descriptions 143 * | :----: | :----: | :---- | 144 * |[6:0] |NTSEG2 |Nominal Time segment after sample point 145 * | | |0x01-0x7F Valid values are 1 to 127. 146 * | | |The actual interpretation by the hardware of this value is such that one more than the programmed value is used 147 * | | |tBS2 = (NTSEG2 + 1) x tq. 148 * | | |Note: With a CAN Core clock (cclk) of 8 MHz, the reset value of 0x06000A03 configures the controller for a bit rate of 500 kBit/s. 149 * |[15:8] |NTSEG1 |Nominal Time segment before sample point 150 * | | |Valid values are 1 to 255. 151 * | | |The actual interpretation by the hardware of this value is such that one more than the programmed value is used 152 * | | |tBS1 = (NTSEG1 + 1) x tq. 153 * |[24:16] |NBRP |Nominal Bit Rate Prescaler 154 * | | |0x000-0x1FF The value by which the oscillator frequency is divided for generating the bit time quanta. 155 * | | |The bit time is built up from a multiple of this quanta. 156 * | | |Valid values for the Bit Rate Prescaler are 0 to 511. 157 * | | |The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 158 * |[31:25] |NSJW |Nominal Re-Synchronization Jump Width 159 * | | |Valid values are 0 to 127,Should be smaller than NTSEG2. 160 * | | |The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 161 * | | |tSJW = (NSJW + 1) x tq. 162 * @var CANFD_T::TSCC 163 * Offset: 0x20 Timestamp Counter Conufiguration 164 * --------------------------------------------------------------------------------------------------- 165 * |Bits |Field |Descriptions 166 * | :----: | :----: | :---- | 167 * |[1:0] |TSS |Timestamp Select 168 * | | |00 = Timestamp counter value always 0x0000. 169 * | | |01 = Timestamp counter value incremented according to TCP. 170 * | | |10 = Reserved. 171 * | | |11 = Same as '00'. 172 * |[19:16] |TCP |Timestamp Counter Prescaler 173 * | | |Configures the timestamp and timeout counters time unit in multiples of CAN bit times [ 1...16 ]. 174 * | | |The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. 175 * @var CANFD_T::TSCV 176 * Offset: 0x24 Timestamp Counter Value 177 * --------------------------------------------------------------------------------------------------- 178 * |Bits |Field |Descriptions 179 * | :----: | :----: | :---- | 180 * |[15:0] |TSC |Timestamp Counter 181 * | | |The internal Timestamp Counter value is captured on start of frame (both Rx and Tx). 182 * | | |When CANFD_TSS (TSCC[[1:0]) = 2'b01, the Timestamp Counter is incremented in multiples of CAN bit times [ 1...16 ] depending on the configuration of CANFD_TCP (CANFD_TSCC[19:16]). 183 * | | |A wrap around sets interrupt ag CANFD_IR (CANFD_IR[16])Write access resets the counter to 0. 184 * | | |Note: A "wrap around" is a change of the Timestamp Counter value from non-zero to zero not caused by write access to CANFD_TSCV. 185 * @var CANFD_T::TOCC 186 * Offset: 0x28 Timeout Counter Conufiguration 187 * --------------------------------------------------------------------------------------------------- 188 * |Bits |Field |Descriptions 189 * | :----: | :----: | :---- | 190 * |[0] |ETOC |Enable Timeout Counter 191 * | | |0 = Timeout Counter disabled. 192 * | | |1 = Timeout Counter enabled. 193 * | | |Note: For use of timeout function with CAN FD refer to 1.1.5.3. 194 * |[2:1] |TOS |Timeout Select 195 * | | |When operating in Continuous mode, a write to CANFD_TOCV presets the counter to the value configured by CANFD_TOP (TOCC[31:16]) and continues down-counting 196 * | | |When the Timeout Counter is controlled by one of the FIFOs, an empty FIFO presets the counter to the value configured by CANFD_TOP (TOCC[31:16]) 197 * | | |Down-counting is started when the first FIFO element is stored. 198 * | | |00 = Continuous operation. 199 * | | |01 = Timeout controlled by Tx Event FIFO. 200 * | | |10 = Timeout controlled by Rx FIFO 0. 201 * | | |11 = Timeout controlled by Rx FIFO 1. 202 * |[31:16] |TOP |Timeout Period 203 * | | |Start value of the Timeout Counter (down-counter). Configures the Timeout Period. 204 * @var CANFD_T::TOCV 205 * Offset: 0x2C Timeout Counter Value 206 * --------------------------------------------------------------------------------------------------- 207 * |Bits |Field |Descriptions 208 * | :----: | :----: | :---- | 209 * |[15:0] |TOC |Timeout Counter 210 * | | |The filed is decremented in multiples of CAN bit times [ 1...16 ] depending on the configuration of TCP (CANFD_TSCC[19:16]). 211 * | | |When decremented to 0, interrupt flag TOO (CANFD_IR[18]) is set and the timeout counter is stopped. 212 * | | |Start and reset/restart conditions are configured via TOS (CANFD_TOCC[1:0]). 213 * @var CANFD_T::ECR 214 * Offset: 0x40 Error Counter Register 215 * --------------------------------------------------------------------------------------------------- 216 * |Bits |Field |Descriptions 217 * | :----: | :----: | :---- | 218 * |[7:0] |TEC |Transmit Error Counter 219 * | | |Actual state of the Transmit Error Counter, values between 0 and 255. 220 * | | |Note: When ASM (CANFD_CCCR[2]) is set, the CAN protocol controller does not increment TEC and REC when a CAN protocol error is detected, but CEL is still incremented. 221 * |[14:8] |REC |Receive Error Counter 222 * | | |Actual state of the Receive Error Counter, values between 0 and 127. 223 * |[15] |RP |Receive Error Passive 224 * | | |0 = The Receive Error Counter is below the error passive level of 128. 225 * | | |1 = The Receive Error Counter has reached the error passive level of 128. 226 * |[23:16] |CEL |CAN Error Logging 227 * | | |The counter is incremented each time when a CAN protocol error causes the 8-bit Transmit Error Counter TEC or the 7-bit Receive Error Counter REC to be incremented. 228 * | | |The counter is also incremented when the Bus_Off limit is reached. 229 * | | |It is not incremented when only RP is set without changing REC. 230 * | | |The increment of CEL follows after the increment of REC or TEC. 231 * | | |The counter is reset by read access to CEL. 232 * | | |The counter stops at 0xFF; the next increment of TEC or REC sets interrupt flag ELO (CANFD_IR[22]). 233 * @var CANFD_T::PSR 234 * Offset: 0x44 Protocol Status Register 235 * --------------------------------------------------------------------------------------------------- 236 * |Bits |Field |Descriptions 237 * | :----: | :----: | :---- | 238 * |[2:0] |LEC |Last Error Code 239 * | | |The LEC indicates the type of the last error to occur on the CAN bus. 240 * | | |This field will be cleared to 0 when a message has been transferred (reception or transmission) without error. 241 * | | |000 = No Error: No error occurred since LEC has been reset by successful reception or transmission. 242 * | | |001 = Stuff Error: More than 5 equal bits in a sequence have occurred in a part of a received message where this is not allowed. 243 * | | |010 = Form Error: A fixed format part of a received frame has the wrong format. 244 * | | |011 = AckError: The message transmitted by the CANFD CONTROLLER was not acknowledged by another node. 245 * | | |100 = Bit1Error: During the transmission of a message (with the exception of the arbitration field), the device wanted to send a recessive level (bit of logical value 1), but the monitored bus value was dominant. 246 * | | |101 = Bit0Error : During the transmission of a message (or acknowledge bit, or active error flag, or overload flag), the device wanted to send a dominant level (data or identifier bit logical value 0), but the monitored bus value was recessive 247 * | | |During Bus_Off recovery this status is set each time a sequence of 11 recessive bits has been monitored. 248 * | | |This enables the CPU to monitor the proceeding of the Bus_Off recovery sequence (indicating the bus is not stuck at dominant or continuously disturbed). 249 * | | |110 = CRCError: The CRC check sum of a received message was incorrect. 250 * | | |The CRC of an incoming message does not match with the CRC calculated from the received data. 251 * | | |111 = NoChange: Any read access to the Protocol Status Register re-initializes the LEC to 7.When the LEC shows the value 7, no CAN bus event was detected since the last CPU read access to the Protocol Status Register. 252 * |[4:3] |ACT |Activity 253 * | | |Monitors the module's CAN communication state. 254 * | | |00 = Synchronizing - node is synchronizing on CAN communication. 255 * | | |01 = Idle - node is neither receiver nor transmitter. 256 * | | |10 = Receiver - node is operating as receiver. 257 * | | |11 = Transmitter - node is operating as transmitter. 258 * |[5] |EP |Error Passive 259 * | | |0 = The CAN FD controller is in the Error_Active state. 260 * | | |It normally takes part in bus communication and sends an active error flag when an error has been detected. 261 * | | |1 = The CAN FD controller is in the Error_Passive state. 262 * |[6] |EW |Warning Status 263 * | | |0 = Both error counters are below the Error_Warning limit of 96. 264 * | | |1 = At least one of error counter has reached the Error_Warning limit of 96. 265 * |[7] |BO |Bus_Off Status 266 * | | |0 = The CAN FD controller is not Bus_Off. 267 * | | |1 = The CAN FD controller is in Bus_Off state. 268 * |[10:8] |DLEC |Data Phase Last Error Code 269 * | | |Type of last error that occurred in the data phase of a CAN FD format frame with its BRS flag set. 270 * | | |Coding is the same as for LEC. 271 * | | |This field will be cleared to zero when a CAN FD format frame with its BRS flag set has been transferred (reception or transmission) without error. 272 * |[11] |RESI |ESI flag of last received CAN FD Message 273 * | | |This bit is set together with RFDF, independent of acceptance filtering. 274 * | | |0 = Last received CAN FD message did not have its ESI flag set. 275 * | | |1 = Last received CAN FD message had its ESI flag set. 276 * |[12] |RBRS |BRS flag of last received CAN FD Message 277 * | | |This bit is set together with RFDF, independent of acceptance filtering. 278 * | | |0 = Last received CAN FD message did not have its BRS flag set. 279 * | | |1 = Last received CAN FD message had its BRS flag set. 280 * | | |Note: Byte access: Reading byte 0 will reset RBRS, reading bytes 3/2/1 has no impact. 281 * |[13] |RFDF |Received a CAN FD Message 282 * | | |This bit is set independent of acceptance filtering. 283 * | | |0 = Since this bit was reset by the CPU, no CAN FD message has been received. 284 * | | |1 = Message in CAN FD format with FDF flag set has been received. 285 * | | |Note: Byte access: Reading byte 0 will reset RFDF, reading bytes 3/2/1 has no impact. 286 * |[14] |PXE |Protocol Exception Event 287 * | | |0 = No protocol exception event occurred since last read access. 288 * | | |1 = Protocol exception event occurred. 289 * |[22:16] |TDCV |Transmitter Delay Compensation Value 290 * | | |Position of the secondary sample point, defined by the sum of the measured delay from CANx_TXD to CANx_RXD and TDCO (TDCR[[14:8]). 291 * | | |The SSP position is, in the data phase, the number of minimum time quata (mtq) between the start of the transmitted bit and the secondary sample point. 292 * | | |Valid values are 0 to 127 mtq. 293 * @var CANFD_T::TDCR 294 * Offset: 0x48 Transmitter Delay Compensation Register 295 * --------------------------------------------------------------------------------------------------- 296 * |Bits |Field |Descriptions 297 * | :----: | :----: | :---- | 298 * |[6:0] |TDCF |Transmitter Delay Compensation Filter Window Length 299 * | | |0x00-0x7F Defines the minimum value for the SSP position, dominant edges on CANx_RXD that would result in an earlier SSP position are ignored for transmitter delay measurement 300 * | | |The feature is enabled when TDCF is configured to a value greater than TDCO. 301 * | | |Valid values are 0 to 127 mtq. 302 * |[14:8] |TDCO |Transmitter Delay Compensation SSP Offset 303 * | | |0x00-0x7F Offset value defining the distance between the measured delay from CANx_TXD to CANx_RXD and the secondary sample point. 304 * | | |Valid values are 0 to 127 mtq. 305 * @var CANFD_T::IR 306 * Offset: 0x50 Interrupt Register 307 * --------------------------------------------------------------------------------------------------- 308 * |Bits |Field |Descriptions 309 * | :----: | :----: | :---- | 310 * |[0] |RF0N |Rx FIFO 0 New Message 311 * | | |0 = No new message written to Rx FIFO 0. 312 * | | |1 = New message written to Rx FIFO 0. 313 * |[1] |RF0W |Rx FIFO 0 Watermark Reached 314 * | | |0 = Rx FIFO 0 fill level below watermark. 315 * | | |1 = Rx FIFO 0 fill level reached watermark. 316 * |[2] |RF0F |Rx FIFO 0 Full 317 * | | |0 = Rx FIFO 0 not full. 318 * | | |1 = Rx FIFO 0 full. 319 * |[3] |RF0L |Rx FIFO 0 Message Lost 320 * | | |0 = No Rx FIFO 0 message lost. 321 * | | |1 = Rx FIFO 0 message lost, also set after write attempt to Rx FIFO 0 of size zero. 322 * |[4] |RF1N |Rx FIFO 1 New Message 323 * | | |0 = No new message written to Rx FIFO 1. 324 * | | |1 = New message written to Rx FIFO 1. 325 * |[5] |RF1W |Rx FIFO 1 Watermark Reached 326 * | | |0 = Rx FIFO 1 fill level below watermark. 327 * | | |1 = Rx FIFO 1 fill level reached watermark. 328 * |[6] |RF1F |Rx FIFO 1 Full 329 * | | |0 = Rx FIFO 1 not full. 330 * | | |1 = Rx FIFO 1 full. 331 * |[7] |RF1L |Rx FIFO 1 Message Lost 332 * | | |0 = No Rx FIFO 1 message lost. 333 * | | |1 = Rx FIFO 1 message lost, also set after write attempt to Rx FIFO 1 of size zero. 334 * |[8] |HPM |High Priority Message 335 * | | |0 = No high priority message received. 336 * | | |1 = High priority message received. 337 * |[9] |TC |Transmission Completed 338 * | | |0 = No transmission completed. 339 * | | |1 = Transmission completed. 340 * |[10] |TCF |Transmission Cancellation Finished 341 * | | |0 = No transmission cancellation finished. 342 * | | |1 = Transmission cancellation finished. 343 * |[11] |TFE |Tx FIFO Empty 344 * | | |0 = Tx FIFO non-empty. 345 * | | |1 = Tx FIFO empty. 346 * |[12] |TEFN |Tx Event FIFO New Entry 347 * | | |0 = Tx Event FIFO unchanged. 348 * | | |1 = Tx Handler wrote Tx Event FIFO element. 349 * |[13] |TEFW |Tx Event FIFO Watermark Reached 350 * | | |0 = Tx Event FIFO fill level below watermark. 351 * | | |1 = Tx Event FIFO fill level reached watermark. 352 * |[14] |TEFF |Tx Event FIFO Full 353 * | | |0 = Tx Event FIFO not full. 354 * | | |1 = Tx Event FIFO full. 355 * |[15] |TEFL |Tx Event FIFO Element Lost 356 * | | |0 = No Tx Event FIFO element lost. 357 * | | |1 = Tx Event FIFO element lost, also set after write attempt to Tx Event FIFO of size zero. 358 * |[16] |TSW |Timestamp Wraparound 359 * | | |0 = No timestamp counter wrap-around. 360 * | | |1 = Timestamp counter wrapped around. 361 * |[17] |MRAF |Message RAM Access Failure 362 * | | |The flag is set, when the Rx Handler 363 * | | |Has not completed acceptance filtering or storage of an accepted message until the arbitration field of the following message has been received. 364 * | | |In this case acceptance filtering or message storage is aborted and the Rx Handler starts processing of the following message. 365 * | | |Was not able to write a message to the Message RAM. In this case message storage is aborted. 366 * | | |In both cases the FIFO put index is not updated resp. 367 * | | |The New Data flag for a dedicated Rx Buffer is not set, a partly stored message is overwritten when the next message is stored to this location. 368 * | | |The flag is also set when the Tx Handler was not able to read a message from the Message RAM in time. 369 * | | |In this case message transmission is aborted. 370 * | | |In case of a Tx Handler access failure the CAN FD controller is switched into Restricted Operation Mode (refer to Restricted Operation Mode). 371 * | | |To leave Restricted Operation Mode, the Host CPU has to reset CANFD_ASM (CANFD_CCCR[2]). 372 * | | |0 = No Message RAM access failure occurred. 373 * | | |1 = Message RAM access failure occurred. 374 * |[18] |TOO |Timeout Occurred 375 * | | |0 = No timeout. 376 * | | |1 = Timeout reached. 377 * |[19] |DRX |Message stored to Dedicated Rx Buffer 378 * | | |The flag is set whenever a received message has been stored into a dedicated Rx Buffer. 379 * | | |0 = No Rx Buffer updated. 380 * | | |1 = At least one received message stored into an Rx Buffer. 381 * |[22] |ELO |Error Logging Overflow 382 * | | |0= CAN Error Logging Counter did not overflow. 383 * | | |1= Overflow of CAN Error Logging Counter occurred. 384 * |[23] |EP |Error Passive 385 * | | |0 = Error_Passive status unchanged. 386 * | | |1 = Error_Passive status changed. 387 * |[24] |EW |Warning Status 388 * | | |0 = Error_Warning status unchanged. 389 * | | |1 = Error_Warning status changed. 390 * |[25] |BO |Bus_Off Status 391 * | | |0 = Bus_Off status unchanged. 392 * | | |1 = Bus_Off status changed. 393 * |[26] |WDI |Watchdog Interrupt 394 * | | |0 = No Message RAM Watchdog event occurred. 395 * | | |1 = Message RAM Watchdog event due to missing READY. 396 * |[27] |PEA |Protocol Error in Arbitration Phase 397 * | | |0 = No protocol error in arbitration phase. 398 * | | |1 = Protocol error in arbitration phase detected (CANFD_LEC (CANFD_PSR[2:0]) no equal 0 or 7). 399 * | | |Note: Nominal bit time is used 400 * |[28] |PED |Protocol Error in Data Phase 401 * | | |0 = No protocol error in data phase. 402 * | | |1= Protocol error in data phase detected (DLEC (CANFD_PSR[10:8]) no equal 0 or 7). 403 * | | |Note: Data bit time is used. 404 * |[29] |ARA |Access to Reserved Address 405 * | | |0 = No access to reserved address occurred. 406 * | | |1 = Access to reserved address occurred. 407 * @var CANFD_T::IE 408 * Offset: 0x54 Interrupt Enable 409 * --------------------------------------------------------------------------------------------------- 410 * |Bits |Field |Descriptions 411 * | :----: | :----: | :---- | 412 * |[0] |RF0NE |Rx FIFO 0 New Message Interrupt Enable 413 * | | |0 = Interrupt is Disabled. 414 * | | |1 = Interrupt is Enabled. 415 * |[1] |RF0WE |Rx FIFO 0 Watermark Reached Interrupt Enable 416 * | | |0 = Interrupt is Disabled. 417 * | | |1 = Interrupt is Enabled. 418 * |[2] |RF0FE |Rx FIFO 0 Full Interrupt Enable 419 * | | |0 = Interrupt is Disabled. 420 * | | |1 = Interrupt is Enabled. 421 * |[3] |RF0LE |Rx FIFO 0 Message Lost Interrupt Enable 422 * | | |0 = Interrupt is Disabled. 423 * | | |1 = Interrupt is Enabled. 424 * |[4] |RF1NE |Rx FIFO 1 New Message Interrupt Enable 425 * | | |0 = Interrupt is Disabled. 426 * | | |1 = Interrupt is Enabled. 427 * |[5] |RF1WE |Rx FIFO 1 Watermark Reached Interrupt Enable 428 * | | |0 = Interrupt is Disabled. 429 * | | |1 = Interrupt is Enabled. 430 * |[6] |RF1FE |Rx FIFO 1 Full Interrupt Enable 431 * | | |0 = Interrupt is Disabled. 432 * | | |1 = Interrupt is Enabled. 433 * |[7] |RF1LE |Rx FIFO 1 Message Lost Interrupt Enable 434 * | | |0 = Interrupt is Disabled. 435 * | | |1 = Interrupt is Enabled. 436 * |[8] |HPME |High Priority Message Interrupt Enable 437 * | | |0 = Interrupt is Disabled. 438 * | | |1 = Interrupt is Enabled. 439 * |[9] |TCE |Transmission Completed Interrupt Enable 440 * | | |0 = Interrupt is Disabled. 441 * | | |1 = Interrupt is Enabled. 442 * |[10] |TCFE |Transmission Cancellation Finished Interrupt Enable 443 * | | |0 = Interrupt is Disabled. 444 * | | |1 = Interrupt is Enabled. 445 * |[11] |TFEE |Tx FIFO Empty Interrupt Enable 446 * | | |0 = Interrupt is Disabled. 447 * | | |1 = Interrupt is Enabled. 448 * |[12] |TEFNE |Tx Event FIFO New Entry Interrupt Enable 449 * | | |0 = Interrupt is Disabled. 450 * | | |1 = Interrupt is Enabled. 451 * |[13] |TEFWE |Tx Event FIFO Watermark Reached Interrupt Enable 452 * | | |0 = Interrupt is Disabled. 453 * | | |1 = Interrupt is Enabled. 454 * |[14] |TEFFE |Tx Event FIFO Full Interrupt Enable 455 * | | |0 = Interrupt is Disabled. 456 * | | |1 = Interrupt is Enabled. 457 * |[15] |TEFLE |Tx Event FIFO Event Lost Interrupt Enable 458 * | | |0 = Interrupt is Disabled. 459 * | | |1 = Interrupt is Enabled. 460 * |[16] |TSWE |Timestamp Wraparound Interrupt Enable 461 * | | |0 = Interrupt is Disabled. 462 * | | |1 = Interrupt is Enabled. 463 * |[17] |MRAFE |Message RAM Access Failure Interrupt Enable 464 * | | |0 = Interrupt is Disabled. 465 * | | |1 = Interrupt is Enabled. 466 * |[18] |TOOE |Timeout Occurred Interrupt Enable 467 * | | |0 = Interrupt is Disabled. 468 * | | |1 = Interrupt is Enabled. 469 * |[19] |DRXE |Message stored to Dedicated Rx Buffer Interrupt Enable 470 * | | |0 = Interrupt is Disabled. 471 * | | |1 = Interrupt is Enabled. 472 * |[20] |BECE |Bit Error Corrected Interrupt Enable 473 * | | |0 = Interrupt is Disabled. 474 * | | |1 = Interrupt is Enabled. 475 * |[21] |BEUE |Bit Error Uncorrected Interrupt Enable 476 * | | |0 = Interrupt is Disabled. 477 * | | |1 = Interrupt is Enabled. 478 * |[22] |ELOE |Error Logging Overflow Interrupt Enable 479 * | | |0 = Interrupt is Disabled. 480 * | | |1 = Interrupt is Enabled. 481 * |[23] |EPE |Error Passive Interrupt Enable 482 * | | |0 = Interrupt is Disabled. 483 * | | |1 = Interrupt is Enabled. 484 * |[24] |EWE |Warning Status Interrupt Enable 485 * | | |0 = Interrupt is Disabled. 486 * | | |1 = Interrupt is Enabled. 487 * |[25] |BOE |Bus_Off Status Interrupt Enable 488 * | | |0 = Interrupt is Disabled. 489 * | | |1 = Interrupt is Enabled. 490 * |[26] |WDIE |Watchdog Interrupt Enable 491 * | | |0 = Interrupt is Disabled. 492 * | | |1 = Interrupt is Enabled. 493 * |[27] |PEAE |Protocol Error in Arbitration Phase Enable 494 * | | |0 = Interrupt is Disabled. 495 * | | |1 = Interrupt is Enabled. 496 * |[28] |PEDE |Protocol Error in Data Phase Enable 497 * | | |0 = Interrupt is Disabled. 498 * | | |1 = Interrupt is Enabled. 499 * |[29] |ARAE |Access to Reserved Address Enable 500 * | | |0 = Interrupt is Disabled. 501 * | | |1 = Interrupt is Enabled. 502 * @var CANFD_T::ILS 503 * Offset: 0x58 Interrupt Line Select 504 * --------------------------------------------------------------------------------------------------- 505 * |Bits |Field |Descriptions 506 * | :----: | :----: | :---- | 507 * |[0] |RF0NL |Rx FIFO 0 New Message Interrupt Line 508 * | | |0 = Interrupt assigned to CAN interrupt line 0. 509 * | | |1 = Interrupt assigned to CAN interrupt line 1. 510 * |[1] |RF0WL |Rx FIFO 0 Watermark Reached Interrupt Line 511 * | | |0 = Interrupt assigned to CAN interrupt line 0. 512 * | | |1 = Interrupt assigned to CAN interrupt line 1. 513 * |[2] |RF0FL |Rx FIFO 0 Full Interrupt Line 514 * | | |0 = Interrupt assigned to CAN interrupt line 0. 515 * | | |1 = Interrupt assigned to CAN interrupt line 1. 516 * |[3] |RF0LL |Rx FIFO 0 Message Lost Interrupt Line 517 * | | |0 = Interrupt assigned to CAN interrupt line 0. 518 * | | |1 = Interrupt assigned to CAN interrupt line 1. 519 * |[4] |RF1NL |Rx FIFO 1 New Message Interrupt Line 520 * | | |0 = Interrupt assigned to CAN interrupt line 0. 521 * | | |1 = Interrupt assigned to CAN interrupt line 1. 522 * |[5] |RF1WL |Rx FIFO 1 Watermark Reached Interrupt Line 523 * | | |0 = Interrupt assigned to CAN interrupt line 0. 524 * | | |1 = Interrupt assigned to CAN interrupt line 1. 525 * |[6] |RF1FL |Rx FIFO 1 Full Interrupt Line 526 * | | |0 = Interrupt assigned to CAN interrupt line 0. 527 * | | |1 = Interrupt assigned to CAN interrupt line 1. 528 * |[7] |RF1LL |Rx FIFO 1 Message Lost Interrupt Line 529 * | | |0 = Interrupt assigned to CAN interrupt line 0. 530 * | | |1 = Interrupt assigned to CAN interrupt line 1. 531 * |[8] |HPML |High Priority Message Interrupt Line 532 * | | |0 = Interrupt assigned to CAN interrupt line 0. 533 * | | |1 = Interrupt assigned to CAN interrupt line 1. 534 * |[9] |TCL |Transmission Completed Interrupt Line 535 * | | |0 = Interrupt assigned to CAN interrupt line 0. 536 * | | |1 = Interrupt assigned to CAN interrupt line 1. 537 * |[10] |TCFL |Transmission Cancellation Finished Interrupt Line 538 * | | |0 = Interrupt assigned to CAN interrupt line 0. 539 * | | |1 = Interrupt assigned to CAN interrupt line 1. 540 * |[11] |TFEL |Tx FIFO Empty Interrupt Line 541 * | | |0 = Interrupt assigned to CAN interrupt line 0. 542 * | | |1 = Interrupt assigned to CAN interrupt line 1. 543 * |[12] |TEFNL |Tx Event FIFO New Entry Interrupt Line 544 * | | |0 = Interrupt assigned to CAN interrupt line 0. 545 * | | |1 = Interrupt assigned to CAN interrupt line 1. 546 * |[13] |TEFWL |Tx Event FIFO Watermark Reached Interrupt Line 547 * | | |0 = Interrupt assigned to CAN interrupt line 0. 548 * | | |1 = Interrupt assigned to CAN interrupt line 1. 549 * |[14] |TEFFL |Tx Event FIFO Full Interrupt Line 550 * | | |0 = Interrupt assigned to CAN interrupt line 0. 551 * | | |1 = Interrupt assigned to CAN interrupt line 1. 552 * |[15] |TEFLL |Tx Event FIFO Event Lost Interrupt Line 553 * | | |0 = Interrupt assigned to CAN interrupt line 0. 554 * | | |1 = Interrupt assigned to CAN interrupt line 1. 555 * |[16] |TSWL |Timestamp Wraparound Interrupt Line 556 * | | |0 = Interrupt assigned to CAN interrupt line 0. 557 * | | |1 = Interrupt assigned to CAN interrupt line 1. 558 * |[17] |MRAFL |Message RAM Access Failure Interrupt Line 559 * | | |0 = Interrupt assigned to CAN interrupt line 0. 560 * | | |1 = Interrupt assigned to CAN interrupt line 1. 561 * |[18] |TOOL |Timeout Occurred Interrupt Line 562 * | | |0 = Interrupt assigned to CAN interrupt line 0. 563 * | | |1 = Interrupt assigned to CAN interrupt line 1. 564 * |[19] |DRXL |Message stored to Dedicated Rx Buffer Interrupt Line 565 * | | |0 = Interrupt assigned to CAN interrupt line 0. 566 * | | |1 = Interrupt assigned to CAN interrupt line 1. 567 * |[22] |ELOL |Error Logging Overflow Interrupt Line 568 * | | |0 = Interrupt assigned to CAN interrupt line 0. 569 * | | |1 = Interrupt assigned to CAN interrupt line 1. 570 * |[23] |EPL |Error Passive Interrupt Line 571 * | | |0 = Interrupt assigned to CAN interrupt line 0. 572 * | | |1 = Interrupt assigned to CAN interrupt line 1. 573 * |[24] |EWL |Warning Status Interrupt Line 574 * | | |0 = Interrupt assigned to CAN interrupt line 0. 575 * | | |1 = Interrupt assigned to CAN interrupt line 1. 576 * |[25] |BOL |Bus_Off Status Interrupt Line 577 * | | |0 = Interrupt assigned to CAN interrupt line 0. 578 * | | |1 = Interrupt assigned to CAN interrupt line 1. 579 * |[26] |WDIL |Watchdog Interrupt Line 580 * | | |0 = Interrupt assigned to CAN interrupt line 0. 581 * | | |1 = Interrupt assigned to CAN interrupt line 1. 582 * |[27] |PEAL |Protocol Error in Arbitration Phase Line 583 * | | |0 = Interrupt assigned to CAN interrupt line 0. 584 * | | |1 = Interrupt assigned to CAN interrupt line 1. 585 * |[28] |PEDL |Protocol Error in Data Phase Line 586 * | | |0 = Interrupt assigned to CAN interrupt line 0. 587 * | | |1 = Interrupt assigned to CAN interrupt line 1. 588 * |[29] |ARAL |Access to Reserved Address Line 589 * | | |0 = Interrupt assigned to CAN interrupt line 0. 590 * | | |1 = Interrupt assigned to CAN interrupt line 1. 591 * @var CANFD_T::ILE 592 * Offset: 0x5C Interrupt Line Enable 593 * --------------------------------------------------------------------------------------------------- 594 * |Bits |Field |Descriptions 595 * | :----: | :----: | :---- | 596 * |[0] |ENT0 |Enable Interrupt Line 0 597 * | | |0 = Interrupt line canfd_int0 disabled. 598 * | | |1 = Interrupt line canfd_int0 enabled. 599 * |[1] |ENT1 |Enable Interrupt Line 1 600 * | | |0 = Interrupt line canfd_int1 disabled. 601 * | | |1 = Interrupt line canfd_int1 enabled. 602 * @var CANFD_T::GFC 603 * Offset: 0x80 Global Filter Configuration 604 * --------------------------------------------------------------------------------------------------- 605 * |Bits |Field |Descriptions 606 * | :----: | :----: | :---- | 607 * |[0] |RRFE |Reject Remote Frames Extended 608 * | | |0= Filter remote frames with 29-bit extended IDs. 609 * | | |1= Reject all remote frames with 29-bit extended IDs. 610 * |[1] |RRFS |Reject Remote Frames Standard 611 * | | |0= Filter remote frames with 11-bit standard IDs. 612 * | | |1= Reject all remote frames with 11-bit standard IDs. 613 * |[3:2] |ANFE |Accept Non-matching Frames Extended 614 * | | |Defines how received messages with 29-bit IDs that do not match any element of the filter list are treated. 615 * | | |00 = Accept in Rx FIFO 0. 616 * | | |01 = Accept in Rx FIFO 1. 617 * | | |10 = Reject. 618 * | | |11 = Reject. 619 * |[5:4] |ANFS |Accept Non-matching Frames Standard 620 * | | |Defines how received messages with 11-bit IDs that do not match any element of the filter list are treated. 621 * | | |00 = Accept in Rx FIFO 0. 622 * | | |01 = Accept in Rx FIFO 1. 623 * | | |10 = Reject. 624 * | | |11 = Reject. 625 * @var CANFD_T::SIDFC 626 * Offset: 0x84 Standard ID Filter Configuration 627 * --------------------------------------------------------------------------------------------------- 628 * |Bits |Field |Descriptions 629 * | :----: | :----: | :---- | 630 * |[15:2] |FLSSA |Filter List Standard Start Address 631 * | | |Start address of standard Message ID filter list (32-bit word address, refer to Figure 1.1-11). 632 * |[23:16] |LSS |List Size Standard 633 * | | |0= No standard Message ID filter. 634 * | | |1-128 = Number of standard Message ID filter elements. 635 * | | |>128= Values greater than 128 are interpreted as 128. 636 * @var CANFD_T::XIDFC 637 * Offset: 0x88 Extended ID Filter Configuration 638 * --------------------------------------------------------------------------------------------------- 639 * |Bits |Field |Descriptions 640 * | :----: | :----: | :---- | 641 * |[15:2] |FLESA |Filter List Extended Start Address 642 * | | |Start address of extended Message ID filter list (32-bit word address, refer to Figure 1.1-11). 643 * |[22:16] |LSE |List Size Extended 644 * | | |0= No extended Message ID filter. 645 * | | |1-64= Number of extended Message ID filter elements. 646 * | | |>64= Values greater than 64 are interpreted as 64. 647 * @var CANFD_T::XIDAM 648 * Offset: 0x90 Extended ID AND Mask 649 * --------------------------------------------------------------------------------------------------- 650 * |Bits |Field |Descriptions 651 * | :----: | :----: | :---- | 652 * |[28:0] |EIDM |Extended ID Mask 653 * | | |For acceptance filtering of extended frames the Extended ID AND Mask is ANDed with the Message ID of a received frame. 654 * | | |Intended for masking of 29-bit IDs in SAE J1939. 655 * | | |With the reset value of all bits set to one the mask is not active. 656 * | | |Note: These are protected write bits, write access is possible only when bit CCE and bit INIT of CANFD_CCCR register are set to 1. 657 * @var CANFD_T::HPMS 658 * Offset: 0x94 High Priority Message Status 659 * --------------------------------------------------------------------------------------------------- 660 * |Bits |Field |Descriptions 661 * | :----: | :----: | :---- | 662 * |[5:0] |BIDX |Buffer Index 663 * | | |Index of Rx FIFO element to which the message was stored. Only valid when MSI[1] = 1. 664 * |[7:6] |MSI |Message Storage Indicator 665 * | | |00 = No FIFO selected. 666 * | | |01 = FIFO message lost. 667 * | | |10 = Message stored in FIFO 0. 668 * | | |11 = Message stored in FIFO 1. 669 * |[14:8] |FIDX |Filter Index 670 * | | |Index of matching filter element. Range is 0 to CANFD_SIDFC.LSS - 1 respor. CANFD_XIDFC.LSE - 1. 671 * |[15] |FLST |Filter List 672 * | | |Indicates the filter list of the matching filter element. 673 * | | |0 = Standard Filter List. 674 * | | |1 = Extended Filter List. 675 * @var CANFD_T::NDAT1 676 * Offset: 0x98 New Data 1 677 * --------------------------------------------------------------------------------------------------- 678 * |Bits |Field |Descriptions 679 * | :----: | :----: | :---- | 680 * |[31:0] |NDn |New Data 681 * | | |The register holds the New Data flags of Rx Buffers 0 to 31. 682 * | | |The flags are set when the respective Rx Buffer has been updated from a received frame. 683 * | | |The flags remain set until the Host clears them. 684 * | | |A flag is cleared by writing a 1 to the corresponding bit position. 685 * | | |Writing a 0 has no effect.A hard reset will clear the register. 686 * | | |0 = Rx Buffer not updated. 687 * | | |1 = Rx Buffer updated from new message. 688 * @var CANFD_T::NDAT2 689 * Offset: 0x9C New Data 2 690 * --------------------------------------------------------------------------------------------------- 691 * |Bits |Field |Descriptions 692 * | :----: | :----: | :---- | 693 * |[31:0] |NDn |New Data 694 * | | |The register holds the New Data flags of Rx Buffers 32 to 63. 695 * | | |The flags are set when the respective Rx Buffer has been updated from a received frame. 696 * | | |The flags remain set until the Host clears them. 697 * | | |A flag is cleared by writing a 1 to the corresponding bit position. 698 * | | |Writing a 0 has no effect.A hard reset will clear the register. 699 * | | |0 = Rx Buffer not updated. 700 * | | |1 = Rx Buffer updated from new message. 701 * @var CANFD_T::RXF0C 702 * Offset: 0xA0 Rx FIFO 0 Configuration 703 * --------------------------------------------------------------------------------------------------- 704 * |Bits |Field |Descriptions 705 * | :----: | :----: | :---- | 706 * |[15:2] |F0SA |Rx FIFO 0 Start Address 707 * | | |Start address of Rx FIFO 0 in Message RAM (32-bit word address). 708 * |[22:16] |F0S |Rx FIFO 0 Size 709 * | | |0= No Rx FIFO 0. 710 * | | |1-64= Number of Rx FIFO 0 elements. 711 * | | |>64= Values greater than 64 are interpreted as 64. 712 * | | |The Rx FIFO 0 elements are indexed from 0 to F0S-1. 713 * |[30:24] |F0WM |Rx FIFO 0 Watermark 714 * | | |0= Watermark interrupt disabled 715 * | | |1-64 = Level for Rx FIFO 0 watermark interrupt (CANFD_IR.RF0W). 716 * | | |>64 = Watermark interrupt disabled. 717 * |[31] |F0OM |FIFO 0 Operation Mode 718 * | | |FIFO 0 can be operated in blocking or in overwrite mode (refer to Rx FIFOs). 719 * | | |0 = FIFO 0 blocking mode. 720 * | | |1 = FIFO 0 overwrite mode. 721 * @var CANFD_T::RXF0S 722 * Offset: 0xA4 Rx FIFO 0 Status 723 * --------------------------------------------------------------------------------------------------- 724 * |Bits |Field |Descriptions 725 * | :----: | :----: | :---- | 726 * |[6:0] |F0FL |Rx FIFO 0 Fill Level 727 * | | |Number of elements stored in Rx FIFO 0, range 0 to 64. 728 * |[13:8] |F0GI |Rx FIFO 0 Get Index 729 * | | |Rx FIFO 0 read index pointer, range 0 to 63. 730 * |[21:16] |F0PI |Rx FIFO 0 Put Index 731 * | | |Rx FIFO 0 write index pointer, range 0 to 63. 732 * |[24] |F0F |Rx FIFO 0 Full 733 * | | |0= Rx FIFO 0 not full. 734 * | | |1= Rx FIFO 0 full. 735 * |[25] |RF0L |Rx FIFO 0 Message Lost 736 * | | |This bit is a copy of interrupt flag CANFD_IR.RF0L. 737 * | | |When CANFD_IR.RF0L is reset, this bit is also reset. 738 * | | |0 = No Rx FIFO 0 message lost. 739 * | | |1 = Rx FIFO 0 message lost, also set after write attempt to Rx FIFO 0 of size zero. 740 * | | |Note: Overwriting the oldest message when F0OM (CANFD_RXF0C[31]) = 1 will not set this flag. 741 * @var CANFD_T::RXF0A 742 * Offset: 0xA8 Rx FIFO 0 Acknowledge 743 * --------------------------------------------------------------------------------------------------- 744 * |Bits |Field |Descriptions 745 * | :----: | :----: | :---- | 746 * |[5:0] |F0A |Rx FIFO 0 Acknowledge Index 747 * | | |After the Host has read a message or a sequence of messages from Rx FIFO 0 it has to write the buffer index of the last element read from Rx FIFO 0 to F0AI. 748 * | | |This will set the Rx FIFO 0 Get Index F0GI (CANFD_RXF0S[13:8]) to F0AI (CANFD_RXF0A[5:0]) + 1 and update the FIFO 0 Fill Level CANFD_RXF0S.F0FL. 749 * @var CANFD_T::RXBC 750 * Offset: 0xAC Rx Buffer Configuration 751 * --------------------------------------------------------------------------------------------------- 752 * |Bits |Field |Descriptions 753 * | :----: | :----: | :---- | 754 * |[15:2] |RBSA |Rx Buffer Start Address 755 * | | |Configures the start address of the Rx Buffers section in the Message RAM (32-bit word address). 756 * @var CANFD_T::RXF1C 757 * Offset: 0xB0 Rx FIFO 1 Configuration 758 * --------------------------------------------------------------------------------------------------- 759 * |Bits |Field |Descriptions 760 * | :----: | :----: | :---- | 761 * |[15:2] |F1SA |Rx FIFO 1 Start Address 762 * | | |Start address of Rx FIFO 1 in Message RAM (32-bit word address, refer to Figure 1.1-11). 763 * |[22:16] |F1S |Rx FIFO 1 Size. 764 * | | |0= No Rx FIFO 1. 765 * | | |1-64 = Number of Rx FIFO 1 elements. 766 * | | |>64 = Values greater than 64 are interpreted as 64. 767 * | | |The Rx FIFO 1 elements are indexed from 0 to F1S - 1. 768 * |[30:24] |F1WM |Rx FIFO 1 Watermark 769 * | | |0= Watermark interrupt disabled. 770 * | | |1-64 = Level for Rx FIFO 1 watermark interrupt (CANFD_IR.RF1W). 771 * | | |>64 = Watermark interrupt disabled. 772 * |[31] |F1OM |FIFO 1 Operation Mode. 773 * | | |FIFO 1 can be operated in blocking or in overwrite mode (refer to Rx FIFOs). 774 * | | |0= FIFO 1 blocking mode. 775 * | | |1= FIFO 1 overwrite mode. 776 * @var CANFD_T::RXF1S 777 * Offset: 0xB4 Rx FIFO 1 Status 778 * --------------------------------------------------------------------------------------------------- 779 * |Bits |Field |Descriptions 780 * | :----: | :----: | :---- | 781 * |[6:0] |F1FL |Rx FIFO 1 Fill Level 782 * | | |Number of elements stored in Rx FIFO 1, range 0 to 64. 783 * |[13:8] |F1G |Rx FIFO 1 Get Index 784 * | | |Rx FIFO 1 read index pointer, range 0 to 63. 785 * |[21:16] |F1P |Rx FIFO 1 Fill Level 786 * | | |Number of elements stored in Rx FIFO 1, range 0 to 64. 787 * |[24] |F1F |Rx FIFO 1 Full 788 * | | |0 = Rx FIFO 1 not full. 789 * | | |1 = Rx FIFO 1 full. 790 * |[25] |RF1L |Rx FIFO 1 Message Lost 791 * | | |This bit is a copy of interrupt flag CANFD_IR.RF1L. 792 * | | |When CANFD_IR.RF1L is reset, this bit is also reset. 793 * | | |0= No Rx FIFO 1 message lost. 794 * | | |1= Rx FIFO 1 message lost, also set after write attempt to Rx FIFO 1 of size zero. 795 * | | |Note: Overwriting the oldest message when F1OM (CANFD_RXF1C[31]) = 1 will not set this flag. 796 * @var CANFD_T::RXF1A 797 * Offset: 0xB8 Rx FIFO 1 Acknowledge 798 * --------------------------------------------------------------------------------------------------- 799 * |Bits |Field |Descriptions 800 * | :----: | :----: | :---- | 801 * |[5:0] |F1A |Rx FIFO 1 Acknowledge Index 802 * | | |After the Host has read a message or a sequence of messages from Rx FIFO 1 it has to write the buffer index of the last element read from Rx FIFO 1 to F1AI. 803 * | | |This will set the Rx FIFO 1 Get Index F1GI (CANFD_RXF1S[13:8]) to F1AI (CANFD_RXF1A[5:0]) + 1 and update the FIFO 1 Fill Level F1FL (CANFD_RXF1S[6:0]). 804 * @var CANFD_T::RXESC 805 * Offset: 0xBC Rx Buffer / FIFO Element Size Configuration 806 * --------------------------------------------------------------------------------------------------- 807 * |Bits |Field |Descriptions 808 * | :----: | :----: | :---- | 809 * |[2:0] |F0DS |Rx FIFO 0 Data Field Size 810 * | | |000 = 8 byte data field. 811 * | | |001 = 12 byte data field. 812 * | | |010 = 16 byte data field. 813 * | | |011 = 20 byte data field. 814 * | | |100 = 24 byte data field. 815 * | | |101 = 32 byte data field. 816 * | | |110 = 48 byte data field. 817 * | | |111 = 64 byte data field. 818 * | | |Note: In case the data field size of an accepted CAN frame exceeds the data field size configured for the matching Rx Buffer or Rx FIFO, only the number of bytes as configured by CANFD_RXESC are stored to the Rx Buffer resp Rx FIFO element. 819 * | | |The rest of the frame data field is ignored. 820 * |[6:4] |F1DS |Rx FIFO 1 Data Field Size 821 * | | |000 = 8 byte data field. 822 * | | |001 = 12 byte data field. 823 * | | |010 = 16 byte data field. 824 * | | |011 = 20 byte data field. 825 * | | |100 = 24 byte data field. 826 * | | |101 = 32 byte data field. 827 * | | |110 = 48 byte data field. 828 * | | |111 = 64 byte data field. 829 * |[10:8] |RBDS |Rx Buffer Data Field Size 830 * | | |000 = 8 byte data field. 831 * | | |001 = 12 byte data field. 832 * | | |010 = 16 byte data field. 833 * | | |011 = 20 byte data field. 834 * | | |100 = 24 byte data field. 835 * | | |101 = 32 byte data field. 836 * | | |110 = 48 byte data field. 837 * | | |111 = 64 byte data field. 838 * @var CANFD_T::TXBC 839 * Offset: 0xC0 Tx Buffer Configuration 840 * --------------------------------------------------------------------------------------------------- 841 * |Bits |Field |Descriptions 842 * | :----: | :----: | :---- | 843 * |[15:2] |TBSA |Tx Buffers Start Address 844 * | | |Start address of Tx Buffers section in Message RAM (32-bit word address, refer to Figure 1.1-11). 845 * | | |Note: Be aware that tThe sum of TFQS and NDTB may be not greater than 32. 846 * | | |There is no check for erroneous configurations. 847 * | | |The Tx Buffers section in the Message RAM starts with the dedicated Tx Buffers. 848 * |[21:16] |NDTB |Number of Dedicated Transmit Buffers 849 * | | |0= No Dedicated Tx Buffers. 850 * | | |1-32= Number of Dedicated Tx Buffers. 851 * | | |>32= Values greater than 32 are interpreted as 32. 852 * |[29:24] |TFQS |Transmit FIFO/Queue Size 853 * | | |0= No Tx FIFO/Queue. 854 * | | |1-32= Number of Tx Buffers used for Tx FIFO/Queue. 855 * | | |>32= Values greater than 32 are interpreted as 32. 856 * |[30] |TFQM |Tx FIFO/Queue Mode 857 * | | |0= Tx FIFO operation. 858 * | | |1= Tx Queue operation. 859 * @var CANFD_T::TXFQS 860 * Offset: 0xC4 Tx FIFO/Queue Status 861 * --------------------------------------------------------------------------------------------------- 862 * |Bits |Field |Descriptions 863 * | :----: | :----: | :---- | 864 * |[5:0] |TFFL |Tx FIFO Free Level 865 * | | |Number of consecutive free Tx FIFO elements starting from TFGI, range 0 to 32 866 * | | |Read as zero when Tx Queue operation is configured (TFQM (CANFD_TXBC[3]) = 1). 867 * | | |Note: In case of mixed configurations where dedicated Tx Buffers are combined with a Tx FIFO or a Tx Queue, the Put and Get Indices indicate the number of the Tx Buffer starting with the first dedicated Tx Buffers. 868 * | | |Example: For a configuration of 12 dedicated Tx Buffers and a Tx FIFO of 20 Buffers a Put Index of 15 points to the fourth buffer of the Tx FIFO. 869 * |[12:8] |TFG |Tx FIFO Get Index. 870 * | | |Tx FIFO read index pointer, range 0 to 31. 871 * | | |Read as zero when Tx Queue operation is configured (TFQM (CANFD_TXBC[30]) = 1). 872 * |[20:16] |TFQP |Tx FIFO/Queue Put Index 873 * | | |Tx FIFO/Queue write index pointer, range 0 to 31. 874 * |[21] |TFQF |Tx FIFO/Queue Full 875 * | | |0= Tx FIFO/Queue not full. 876 * | | |1= Tx FIFO/Queue full. 877 * @var CANFD_T::TXESC 878 * Offset: 0xC8 Tx Buffer Element Size Configuration 879 * --------------------------------------------------------------------------------------------------- 880 * |Bits |Field |Descriptions 881 * | :----: | :----: | :---- | 882 * |[2:0] |TBDS |Tx Buffer Data Field Size 883 * | | |000 = 8 byte data field. 884 * | | |001 = 12 byte data field. 885 * | | |010 = 16 byte data field. 886 * | | |011 = 20 byte data field. 887 * | | |100 = 24 byte data field. 888 * | | |101 = 32 byte data field. 889 * | | |110 = 48 byte data field. 890 * | | |111 = 64 byte data field. 891 * | | |Note: In case the data length code DLC of a Tx Buffer element is configured to a value higher than the Tx Buffer data field size CANFD_TXESC.TBDS, the bytes not defined by the Tx Buffer are transmitted as 0xCC (padding bytes). 892 * @var CANFD_T::TXBRP 893 * Offset: 0xCC Tx Buffer Request Pending 894 * --------------------------------------------------------------------------------------------------- 895 * |Bits |Field |Descriptions 896 * | :----: | :----: | :---- | 897 * |[31:0] |TRPn |Transmission Request Pending Each Tx Buffer has its own Transmission Request Pending bit. The bits are set via register CANFD_TXBAR. The bits are reset after a requested transmission has completed or has been cancelled via register CANFD_TXBCR. 898 * | | |CANFD_TXBRP bits are set only for those Tx Buffers configured via CANFD_TXBC. 899 * | | |After a CANFD_TXBRP bit has been set, a Tx scan (refer to 1.1.5.5, Tx Handling) is started to check for the pending Tx request with the highest priority (Tx Buffer with lowest Message ID). 900 * | | |A cancellation request resets the corresponding transmission request pending bit of register CANFD_TXBRP. 901 * | | |In case a transmission has already been started when a cancellation is requested, this is done at the end of the transmission, regardless whether the transmission was successful or not. 902 * | | |The cancellation request bits are reset directly after the corresponding CANFD_TXBRP bit has been reset. 903 * | | |After a cancellation has been requested, a finished cancellation is signaled via CANFD_TXBCF. 904 * | | |- after successful transmission together with the corresponding CANFD_TXBTO bit. 905 * | | |- when the transmission has not yet been started at the point of cancellation. 906 * | | |- when the transmission has been aborted due to lost arbitration. 907 * | | |- when an error occurred during frame transmission. 908 * | | |In DAR mode all transmissions are automatically cancelled if they are not successful. 909 * | | |The corresponding CANFD_TXBCF bit is set for all unsuccessful transmissions. 910 * | | |0 = No transmission request pending. 911 * | | |1 = Transmission request pending. 912 * | | |Note: CANFD_TXBRP bits which are set while a Tx scan is in progress are not considered during this particular Tx scan. 913 * | | |In case a cancellation is requested for such a Tx Buffer, this Add Request is cancelled immediately, the corresponding CANFD_TXBRP bit is reset. 914 * @var CANFD_T::TXBAR 915 * Offset: 0xD0 Tx Buffer Add Request 916 * --------------------------------------------------------------------------------------------------- 917 * |Bits |Field |Descriptions 918 * | :----: | :----: | :---- | 919 * |[31:0] |ARn |Add Request Each Tx Buffer has its own Add Request bit. Writing a 1 will set the corresponding Add Request bit; writing a 0 has no impact. This enables the Host to set transmission requests for multiple Tx Buffers with one write to CANFD_TXBAR. CANFD_TXBAR bits are set only for those Tx Buffers configured via CANFD_TXBC. 920 * | | |When no Tx scan is running, the bits are reset immediately, else the bits remain set until the Tx scan process has completed. 921 * | | |0 = No transmission request added. 922 * | | |1 = Transmission requested added. 923 * | | |Note: If an add request is applied for a Tx Buffer with pending transmission request (corre- sponding CANFD_TXBRP bit already set), this add request is ignored. 924 * @var CANFD_T::TXBCR 925 * Offset: 0xD4 Tx Buffer Cancellation Request 926 * --------------------------------------------------------------------------------------------------- 927 * |Bits |Field |Descriptions 928 * | :----: | :----: | :---- | 929 * |[31:0] |CRn |Cancellation Request 930 * | | |Each Tx Buffer has its own Cancellation Request bit. 931 * | | |Writing a 1 will set the corresponding Cancellation Request bit; writing a 0 has no impact. 932 * | | |This enables the Host to set cancellation requests for multiple Tx Buffers with one write to CANFD_TXBCR. 933 * | | |CANFD_TXBCR bits are set only for those Tx Buffers configured via CANFD_TXBC. 934 * | | |The bits remain set until the corresponding bit of CANFD_TXBRP is reset. 935 * | | |0 = No cancellation pending. 936 * | | |1 = Cancellation pending. 937 * @var CANFD_T::TXBTO 938 * Offset: 0xD8 Tx Buffer Transmission Occurred 939 * --------------------------------------------------------------------------------------------------- 940 * |Bits |Field |Descriptions 941 * | :----: | :----: | :---- | 942 * |[31:0] |TOn |Transmission Occurred 943 * | | |Each Tx Buffer has its own Transmission Occurred bit. 944 * | | |The bits are set when the corresponding CANFD_TXBRP bit is cleared after a successful transmission. 945 * | | |The bits are reset when a new transmission is requested by writing a 1 to the corresponding bit of register CANFD_TXBAR. 946 * | | |0 = No transmission occurred. 947 * | | |1 = Transmission occurred. 948 * @var CANFD_T::TXBCF 949 * Offset: 0xDC Tx Buffer Cancellation Finished 950 * --------------------------------------------------------------------------------------------------- 951 * |Bits |Field |Descriptions 952 * | :----: | :----: | :---- | 953 * |[31:0] |CFn |Cancellation Finished 954 * | | |Each Tx Buffer has its own Cancellation Finished bit. 955 * | | |The bits are set when the corresponding CANFD_TXBRP bit is cleared after a cancellation was requested via CANFD_TXBCR. 956 * | | |In case the corresponding CANFD_TXBRP bit was not set at the point of cancellation, CF is set immediately. 957 * | | |The bits are reset when a new transmission is requested by writing a 1 to the corresponding bit of register CANFD_TXBAR. 958 * | | |0 = No transmit buffer cancellation. 959 * | | |1 = Transmit buffer cancellation finished. 960 * @var CANFD_T::TXBTIE 961 * Offset: 0xE0 Tx Buffer Transmission Interrupt Enable 962 * --------------------------------------------------------------------------------------------------- 963 * |Bits |Field |Descriptions 964 * | :----: | :----: | :---- | 965 * |[31:0] |TIEn |Transmission Interrupt Enable 966 * | | |Each Tx Buffer has its own Transmission Interrupt Enable bit. 967 * | | |0 = Transmission interrupt disabled. 968 * | | |1 = Transmission interrupt enable. 969 * @var CANFD_T::TXBCIE 970 * Offset: 0xE4 Tx Buffer Cancellation Finished Interrupt Enable 971 * --------------------------------------------------------------------------------------------------- 972 * |Bits |Field |Descriptions 973 * | :----: | :----: | :---- | 974 * |[31:0] |CFIEn |Cancellation Finished Interrupt Enable 975 * | | |Each Tx Buffer has its own Cancellation Finished Interrupt Enable bit. 976 * | | |0 = Cancellation finished interrupt disabled. 977 * | | |1 = Cancellation finished interrupt enabled. 978 * @var CANFD_T::TXEFC 979 * Offset: 0xF0 Tx Event FIFO Configuration 980 * --------------------------------------------------------------------------------------------------- 981 * |Bits |Field |Descriptions 982 * | :----: | :----: | :---- | 983 * |[15:2] |EFSA |Event FIFO Start Address 984 * | | |Start address of Tx Event FIFO in Message RAM (32-bit word address, refer to Figure 1.1-11). 985 * |[21:16] |EFS |Event FIFO Size 986 * | | |0= Tx Event FIFO disabled. 987 * | | |1-32= Number of Tx Event FIFO elements. 988 * | | |>32= Values greater than 32 are interpreted as 32. 989 * | | |The Tx Event FIFO elements are indexed from 0 to EFS - 1. 990 * |[29:24] |EFWN |Event FIFO Watermark 991 * | | |0 = Watermark interrupt disabled. 992 * | | |1-32= Level for Tx Event FIFO watermark interrupt (TEFW (CANFD_IR[13])). 993 * | | |>32= Watermark interrupt disabled. 994 * @var CANFD_T::TXEFS 995 * Offset: 0xF4 Tx Event FIFO Status 996 * --------------------------------------------------------------------------------------------------- 997 * |Bits |Field |Descriptions 998 * | :----: | :----: | :---- | 999 * |[5:0] |EFFL |Event FIFO Fill Level 1000 * | | |Number of elements stored in Tx Event FIFO, range 0 to 32. 1001 * |[12:8] |EFG |Event FIFO Get Index 1002 * | | |Tx Event FIFO read index pointer, range 0 to 31. 1003 * |[20:16] |EFP |Event FIFO Put Index 1004 * | | |Tx Event FIFO write index pointer, range 0 to 31. 1005 * |[24] |EFF |Event FIFO Full 1006 * | | |0= Tx Event FIFO not full. 1007 * | | |1= Tx Event FIFO full. 1008 * |[25] |TEFL |Tx Event FIFO Element Lost 1009 * | | |This bit is a copy of interrupt flag TEFL (CANFD_IR[15]). 1010 * | | |When TEFL is reset, this bit is also reset. 1011 * | | |0= No Tx Event FIFO element lost. 1012 * | | |1= Tx Event FIFO element lost, also set after write attempt to Tx Event FIFO of size zero. 1013 * @var CANFD_T::TXEFA 1014 * Offset: 0xF8 Tx Event FIFO Acknowledge 1015 * --------------------------------------------------------------------------------------------------- 1016 * |Bits |Field |Descriptions 1017 * | :----: | :----: | :---- | 1018 * |[4:0] |EFA |Event FIFO Acknowledge Index 1019 * | | |After the Host has read an element or a sequence of elements from the Tx Event FIFO it has to write the index of the last element read from Tx Event FIFO to EFAI. 1020 * | | |This will set the Tx Event FIFO Get Index EFGI (CANFD_TXEFS[12:8]) to EFAI + 1 and update the Event FIFO Fill Level EFFL (CANFD_TXEFS[5:0]). 1021 */ 1022 /// @cond HIDDEN_SYMBOLS 1023 __I uint32_t RESERVE0[3]; 1024 /// @endcond //HIDDEN_SYMBOLS 1025 __IO uint32_t DBTP; /*!< [0x000c] Data Bit Timing & Prescaler Register */ 1026 __IO uint32_t TEST; /*!< [0x0010] Test Register */ 1027 __IO uint32_t RWD; /*!< [0x0014] RAM Watchdog */ 1028 __IO uint32_t CCCR; /*!< [0x0018] CC Control Register */ 1029 __IO uint32_t NBTP; /*!< [0x001c] Nominal Bit Timing & Prescaler Register */ 1030 __IO uint32_t TSCC; /*!< [0x0020] Timestamp Counter Configuration */ 1031 __IO uint32_t TSCV; /*!< [0x0024] Timestamp Counter Value */ 1032 __IO uint32_t TOCC; /*!< [0x0028] Timeout Counter Configuration */ 1033 __IO uint32_t TOCV; /*!< [0x002c] Timeout Counter Value */ 1034 /// @cond HIDDEN_SYMBOLS 1035 __I uint32_t RESERVE1[4]; 1036 /// @endcond //HIDDEN_SYMBOLS 1037 __I uint32_t ECR; /*!< [0x0040] Error Counter Register */ 1038 __I uint32_t PSR; /*!< [0x0044] Protocol Status Register */ 1039 __IO uint32_t TDCR; /*!< [0x0048] Transmitter Delay Compensation Register */ 1040 /// @cond HIDDEN_SYMBOLS 1041 __I uint32_t RESERVE2[1]; 1042 /// @endcond //HIDDEN_SYMBOLS 1043 __IO uint32_t IR; /*!< [0x0050] Interrupt Register */ 1044 __IO uint32_t IE; /*!< [0x0054] Interrupt Enable */ 1045 __IO uint32_t ILS; /*!< [0x0058] Interrupt Line Select */ 1046 __IO uint32_t ILE; /*!< [0x005c] Interrupt Line Enable */ 1047 /// @cond HIDDEN_SYMBOLS 1048 __I uint32_t RESERVE3[8]; 1049 /// @endcond //HIDDEN_SYMBOLS 1050 __IO uint32_t GFC; /*!< [0x0080] Global Filter Configuration */ 1051 __IO uint32_t SIDFC; /*!< [0x0084] Standard ID Filter Configuration */ 1052 __IO uint32_t XIDFC; /*!< [0x0088] Extended ID Filter Configuration */ 1053 /// @cond HIDDEN_SYMBOLS 1054 __I uint32_t RESERVE4[1]; 1055 /// @endcond //HIDDEN_SYMBOLS 1056 __IO uint32_t XIDAM; /*!< [0x0090] Extended ID AND Mask */ 1057 __I uint32_t HPMS; /*!< [0x0094] High Priority Message Status */ 1058 __IO uint32_t NDAT1; /*!< [0x0098] New Data 1 */ 1059 __IO uint32_t NDAT2; /*!< [0x009c] New Data 2 */ 1060 __IO uint32_t RXF0C; /*!< [0x00a0] Rx FIFO 0 Configuration */ 1061 __IO uint32_t RXF0S; /*!< [0x00a4] Rx FIFO 0 Status */ 1062 __IO uint32_t RXF0A; /*!< [0x00a8] Rx FIFO 0 Acknowledge */ 1063 __IO uint32_t RXBC; /*!< [0x00ac] Rx Buffer Configuration */ 1064 __IO uint32_t RXF1C; /*!< [0x00b0] Rx FIFO 1 Configuration */ 1065 __IO uint32_t RXF1S; /*!< [0x00b4] Rx FIFO 1 Status */ 1066 __IO uint32_t RXF1A; /*!< [0x00b8] Rx FIFO 1 Acknowledge */ 1067 __IO uint32_t RXESC; /*!< [0x00bc] Rx Buffer / FIFO Element Size Configuration */ 1068 __IO uint32_t TXBC; /*!< [0x00c0] Tx Buffer Configuration */ 1069 __IO uint32_t TXFQS; /*!< [0x00c4] Tx FIFO/Queue Status */ 1070 __IO uint32_t TXESC; /*!< [0x00c8] Tx Buffer Element Size Configuration */ 1071 __IO uint32_t TXBRP; /*!< [0x00cc] Tx Buffer Request Pending */ 1072 __IO uint32_t TXBAR; /*!< [0x00d0] Tx Buffer Add Request */ 1073 __IO uint32_t TXBCR; /*!< [0x00d4] Tx Buffer Cancellation Request */ 1074 __IO uint32_t TXBTO; /*!< [0x00d8] Tx Buffer Transmission Occurred */ 1075 __IO uint32_t TXBCF; /*!< [0x00dc] Tx Buffer Cancellation Finished */ 1076 __IO uint32_t TXBTIE; /*!< [0x00e0] Tx Buffer Transmission Interrupt Enable */ 1077 __IO uint32_t TXBCIE; /*!< [0x00e4] Tx Buffer Cancellation Finished Interrupt Enable */ 1078 /// @cond HIDDEN_SYMBOLS 1079 __I uint32_t RESERVE5[2]; 1080 /// @endcond //HIDDEN_SYMBOLS 1081 __IO uint32_t TXEFC; /*!< [0x00f0] Tx Event FIFO Configuration */ 1082 __IO uint32_t TXEFS; /*!< [0x00f4] Tx Event FIFO Status */ 1083 __IO uint32_t TXEFA; /*!< [0x00f8] Tx Event FIFO Acknowledge */ 1084 1085 } CANFD_T; 1086 1087 /** 1088 @addtogroup CANFD_CONST CAN FD Bit Field Definition 1089 Constant Definitions for CAN FD Controller 1090 @{ */ 1091 1092 #define CANFD_DBTP_DSJW_Pos (0) /*!< CANFD_T::DBTP: DSJW Position */ 1093 #define CANFD_DBTP_DSJW_Msk (0xful << CANFD_DBTP_DSJW_Pos) /*!< CANFD_T::DBTP: DSJW Mask */ 1094 1095 #define CANFD_DBTP_DTSEG2_Pos (4) /*!< CANFD_T::DBTP: DTSEG2 Position */ 1096 #define CANFD_DBTP_DTSEG2_Msk (0xful << CANFD_DBTP_DTSEG2_Pos) /*!< CANFD_T::DBTP: DTSEG2 Mask */ 1097 1098 #define CANFD_DBTP_DTSEG1_Pos (8) /*!< CANFD_T::DBTP: DTSEG1 Position */ 1099 #define CANFD_DBTP_DTSEG1_Msk (0x1ful << CANFD_DBTP_DTSEG1_Pos) /*!< CANFD_T::DBTP: DTSEG1 Mask */ 1100 1101 #define CANFD_DBTP_DBRP_Pos (16) /*!< CANFD_T::DBTP: DBRP Position */ 1102 #define CANFD_DBTP_DBRP_Msk (0x1ful << CANFD_DBTP_DBRP_Pos) /*!< CANFD_T::DBTP: DBRP Mask */ 1103 1104 #define CANFD_DBTP_TDC_Pos (23) /*!< CANFD_T::DBTP: TDC Position */ 1105 #define CANFD_DBTP_TDC_Msk (0x1ul << CANFD_DBTP_TDC_Pos) /*!< CANFD_T::DBTP: TDC Mask */ 1106 1107 #define CANFD_TEST_LBCK_Pos (4) /*!< CANFD_T::TEST: LBCK Position */ 1108 #define CANFD_TEST_LBCK_Msk (0x1ul << CANFD_TEST_LBCK_Pos) /*!< CANFD_T::TEST: LBCK Mask */ 1109 1110 #define CANFD_TEST_TX_Pos (5) /*!< CANFD_T::TEST: TX Position */ 1111 #define CANFD_TEST_TX_Msk (0x3ul << CANFD_TEST_TX_Pos) /*!< CANFD_T::TEST: TX Mask */ 1112 1113 #define CANFD_TEST_RX_Pos (7) /*!< CANFD_T::TEST: RX Position */ 1114 #define CANFD_TEST_RX_Msk (0x1ul << CANFD_TEST_RX_Pos) /*!< CANFD_T::TEST: RX Mask */ 1115 1116 #define CANFD_RWD_WDC_Pos (0) /*!< CANFD_T::RWD: WDC Position */ 1117 #define CANFD_RWD_WDC_Msk (0xfful << CANFD_RWD_WDC_Pos) /*!< CANFD_T::RWD: WDC Mask */ 1118 1119 #define CANFD_RWD_WDV_Pos (8) /*!< CANFD_T::RWD: WDV Position */ 1120 #define CANFD_RWD_WDV_Msk (0xfful << CANFD_RWD_WDV_Pos) /*!< CANFD_T::RWD: WDV Mask */ 1121 1122 #define CANFD_CCCR_INIT_Pos (0) /*!< CANFD_T::CCCR: INIT Position */ 1123 #define CANFD_CCCR_INIT_Msk (0x1ul << CANFD_CCCR_INIT_Pos) /*!< CANFD_T::CCCR: INIT Mask */ 1124 1125 #define CANFD_CCCR_CCE_Pos (1) /*!< CANFD_T::CCCR: CCE Position */ 1126 #define CANFD_CCCR_CCE_Msk (0x1ul << CANFD_CCCR_CCE_Pos) /*!< CANFD_T::CCCR: CCE Mask */ 1127 1128 #define CANFD_CCCR_ASM_Pos (2) /*!< CANFD_T::CCCR: ASM Position */ 1129 #define CANFD_CCCR_ASM_Msk (0x1ul << CANFD_CCCR_ASM_Pos) /*!< CANFD_T::CCCR: ASM Mask */ 1130 1131 #define CANFD_CCCR_CSA_Pos (3) /*!< CANFD_T::CCCR: CSA Position */ 1132 #define CANFD_CCCR_CSA_Msk (0x1ul << CANFD_CCCR_CSA_Pos) /*!< CANFD_T::CCCR: CSA Mask */ 1133 1134 #define CANFD_CCCR_CSR_Pos (4) /*!< CANFD_T::CCCR: CSR Position */ 1135 #define CANFD_CCCR_CSR_Msk (0x1ul << CANFD_CCCR_CSR_Pos) /*!< CANFD_T::CCCR: CSR Mask */ 1136 1137 #define CANFD_CCCR_MON_Pos (5) /*!< CANFD_T::CCCR: MON Position */ 1138 #define CANFD_CCCR_MON_Msk (0x1ul << CANFD_CCCR_MON_Pos) /*!< CANFD_T::CCCR: MON Mask */ 1139 1140 #define CANFD_CCCR_DAR_Pos (6) /*!< CANFD_T::CCCR: DAR Position */ 1141 #define CANFD_CCCR_DAR_Msk (0x1ul << CANFD_CCCR_DAR_Pos) /*!< CANFD_T::CCCR: DAR Mask */ 1142 1143 #define CANFD_CCCR_TEST_Pos (7) /*!< CANFD_T::CCCR: TEST Position */ 1144 #define CANFD_CCCR_TEST_Msk (0x1ul << CANFD_CCCR_TEST_Pos) /*!< CANFD_T::CCCR: TEST Mask */ 1145 1146 #define CANFD_CCCR_FDOE_Pos (8) /*!< CANFD_T::CCCR: FDOE Position */ 1147 #define CANFD_CCCR_FDOE_Msk (0x1ul << CANFD_CCCR_FDOE_Pos) /*!< CANFD_T::CCCR: FDOE Mask */ 1148 1149 #define CANFD_CCCR_BRSE_Pos (9) /*!< CANFD_T::CCCR: BRSE Position */ 1150 #define CANFD_CCCR_BRSE_Msk (0x1ul << CANFD_CCCR_BRSE_Pos) /*!< CANFD_T::CCCR: BRSE Mask */ 1151 1152 #define CANFD_CCCR_PXHD_Pos (12) /*!< CANFD_T::CCCR: PXHD Position */ 1153 #define CANFD_CCCR_PXHD_Msk (0x1ul << CANFD_CCCR_PXHD_Pos) /*!< CANFD_T::CCCR: PXHD Mask */ 1154 1155 #define CANFD_CCCR_EFBI_Pos (13) /*!< CANFD_T::CCCR: EFBI Position */ 1156 #define CANFD_CCCR_EFBI_Msk (0x1ul << CANFD_CCCR_EFBI_Pos) /*!< CANFD_T::CCCR: EFBI Mask */ 1157 1158 #define CANFD_CCCR_TXP_Pos (14) /*!< CANFD_T::CCCR: TXP Position */ 1159 #define CANFD_CCCR_TXP_Msk (0x1ul << CANFD_CCCR_TXP_Pos) /*!< CANFD_T::CCCR: TXP Mask */ 1160 1161 #define CANFD_CCCR_NISO_Pos (15) /*!< CANFD_T::CCCR: NISO Position */ 1162 #define CANFD_CCCR_NISO_Msk (0x1ul << CANFD_CCCR_NISO_Pos) /*!< CANFD_T::CCCR: NISO Mask */ 1163 1164 #define CANFD_NBTP_NTSEG2_Pos (0) /*!< CANFD_T::NBTP: NTSEG2 Position */ 1165 #define CANFD_NBTP_NTSEG2_Msk (0x7ful << CANFD_NBTP_NTSEG2_Pos) /*!< CANFD_T::NBTP: NTSEG2 Mask */ 1166 1167 #define CANFD_NBTP_NTSEG1_Pos (8) /*!< CANFD_T::NBTP: NTSEG1 Position */ 1168 #define CANFD_NBTP_NTSEG1_Msk (0xfful << CANFD_NBTP_NTSEG1_Pos) /*!< CANFD_T::NBTP: NTSEG1 Mask */ 1169 1170 #define CANFD_NBTP_NBRP_Pos (16) /*!< CANFD_T::NBTP: NBRP Position */ 1171 #define CANFD_NBTP_NBRP_Msk (0x1fful << CANFD_NBTP_NBRP_Pos) /*!< CANFD_T::NBTP: NBRP Mask */ 1172 1173 #define CANFD_NBTP_NSJW_Pos (25) /*!< CANFD_T::NBTP: NSJW Position */ 1174 #define CANFD_NBTP_NSJW_Msk (0x7ful << CANFD_NBTP_NSJW_Pos) /*!< CANFD_T::NBTP: NSJW Mask */ 1175 1176 #define CANFD_TSCC_TSS_Pos (0) /*!< CANFD_T::TSCC: TSS Position */ 1177 #define CANFD_TSCC_TSS_Msk (0x3ul << CANFD_TSCC_TSS_Pos) /*!< CANFD_T::TSCC: TSS Mask */ 1178 1179 #define CANFD_TSCC_TCP_Pos (16) /*!< CANFD_T::TSCC: TCP Position */ 1180 #define CANFD_TSCC_TCP_Msk (0xful << CANFD_TSCC_TCP_Pos) /*!< CANFD_T::TSCC: TCP Mask */ 1181 1182 #define CANFD_TSCV_TSC_Pos (0) /*!< CANFD_T::TSCV: TSC Position */ 1183 #define CANFD_TSCV_TSC_Msk (0xfffful << CANFD_TSCV_TSC_Pos) /*!< CANFD_T::TSCV: TSC Mask */ 1184 1185 #define CANFD_TOCC_ETOC_Pos (0) /*!< CANFD_T::TOCC: ETOC Position */ 1186 #define CANFD_TOCC_ETOC_Msk (0x1ul << CANFD_TOCC_ETOC_Pos) /*!< CANFD_T::TOCC: ETOC Mask */ 1187 1188 #define CANFD_TOCC_TOS_Pos (1) /*!< CANFD_T::TOCC: TOS Position */ 1189 #define CANFD_TOCC_TOS_Msk (0x3ul << CANFD_TOCC_TOS_Pos) /*!< CANFD_T::TOCC: TOS Mask */ 1190 1191 #define CANFD_TOCC_TOP_Pos (16) /*!< CANFD_T::TOCC: TOP Position */ 1192 #define CANFD_TOCC_TOP_Msk (0xfffful << CANFD_TOCC_TOP_Pos) /*!< CANFD_T::TOCC: TOP Mask */ 1193 1194 #define CANFD_TOCV_TOC_Pos (0) /*!< CANFD_T::TOCV: TOC Position */ 1195 #define CANFD_TOCV_TOC_Msk (0xfffful << CANFD_TOCV_TOC_Pos) /*!< CANFD_T::TOCV: TOC Mask */ 1196 1197 #define CANFD_ECR_TEC_Pos (0) /*!< CANFD_T::ECR: TEC Position */ 1198 #define CANFD_ECR_TEC_Msk (0xfful << CANFD_ECR_TEC_Pos) /*!< CANFD_T::ECR: TEC Mask */ 1199 1200 #define CANFD_ECR_REC_Pos (8) /*!< CANFD_T::ECR: REC Position */ 1201 #define CANFD_ECR_REC_Msk (0x7ful << CANFD_ECR_REC_Pos) /*!< CANFD_T::ECR: REC Mask */ 1202 1203 #define CANFD_ECR_RP_Pos (15) /*!< CANFD_T::ECR: RP Position */ 1204 #define CANFD_ECR_RP_Msk (0x1ul << CANFD_ECR_RP_Pos) /*!< CANFD_T::ECR: RP Mask */ 1205 1206 #define CANFD_ECR_CEL_Pos (16) /*!< CANFD_T::ECR: CEL Position */ 1207 #define CANFD_ECR_CEL_Msk (0xfful << CANFD_ECR_CEL_Pos) /*!< CANFD_T::ECR: CEL Mask */ 1208 1209 #define CANFD_PSR_LEC_Pos (0) /*!< CANFD_T::PSR: LEC Position */ 1210 #define CANFD_PSR_LEC_Msk (0x7ul << CANFD_PSR_LEC_Pos) /*!< CANFD_T::PSR: LEC Mask */ 1211 1212 #define CANFD_PSR_ACT_Pos (3) /*!< CANFD_T::PSR: ACT Position */ 1213 #define CANFD_PSR_ACT_Msk (0x3ul << CANFD_PSR_ACT_Pos) /*!< CANFD_T::PSR: ACT Mask */ 1214 1215 #define CANFD_PSR_EP_Pos (5) /*!< CANFD_T::PSR: EP Position */ 1216 #define CANFD_PSR_EP_Msk (0x1ul << CANFD_PSR_EP_Pos) /*!< CANFD_T::PSR: EP Mask */ 1217 1218 #define CANFD_PSR_EW_Pos (6) /*!< CANFD_T::PSR: EW Position */ 1219 #define CANFD_PSR_EW_Msk (0x1ul << CANFD_PSR_EW_Pos) /*!< CANFD_T::PSR: EW Mask */ 1220 1221 #define CANFD_PSR_BO_Pos (7) /*!< CANFD_T::PSR: BO Position */ 1222 #define CANFD_PSR_BO_Msk (0x1ul << CANFD_PSR_BO_Pos) /*!< CANFD_T::PSR: BO Mask */ 1223 1224 #define CANFD_PSR_DLEC_Pos (8) /*!< CANFD_T::PSR: DLEC Position */ 1225 #define CANFD_PSR_DLEC_Msk (0x7ul << CANFD_PSR_DLEC_Pos) /*!< CANFD_T::PSR: DLEC Mask */ 1226 1227 #define CANFD_PSR_RESI_Pos (11) /*!< CANFD_T::PSR: RESI Position */ 1228 #define CANFD_PSR_RESI_Msk (0x1ul << CANFD_PSR_RESI_Pos) /*!< CANFD_T::PSR: RESI Mask */ 1229 1230 #define CANFD_PSR_RBRS_Pos (12) /*!< CANFD_T::PSR: RBRS Position */ 1231 #define CANFD_PSR_RBRS_Msk (0x1ul << CANFD_PSR_RBRS_Pos) /*!< CANFD_T::PSR: RBRS Mask */ 1232 1233 #define CANFD_PSR_RFDF_Pos (13) /*!< CANFD_T::PSR: RFDF Position */ 1234 #define CANFD_PSR_RFDF_Msk (0x1ul << CANFD_PSR_RFDF_Pos) /*!< CANFD_T::PSR: RFDF Mask */ 1235 1236 #define CANFD_PSR_PXE_Pos (14) /*!< CANFD_T::PSR: PXE Position */ 1237 #define CANFD_PSR_PXE_Msk (0x1ul << CANFD_PSR_PXE_Pos) /*!< CANFD_T::PSR: PXE Mask */ 1238 1239 #define CANFD_PSR_TDCV_Pos (16) /*!< CANFD_T::PSR: TDCV Position */ 1240 #define CANFD_PSR_TDCV_Msk (0x7ful << CANFD_PSR_TDCV_Pos) /*!< CANFD_T::PSR: TDCV Mask */ 1241 1242 #define CANFD_TDCR_TDCF_Pos (0) /*!< CANFD_T::TDCR: TDCF Position */ 1243 #define CANFD_TDCR_TDCF_Msk (0x7ful << CANFD_TDCR_TDCF_Pos) /*!< CANFD_T::TDCR: TDCF Mask */ 1244 1245 #define CANFD_TDCR_TDCO_Pos (8) /*!< CANFD_T::TDCR: TDCO Position */ 1246 #define CANFD_TDCR_TDCO_Msk (0x7ful << CANFD_TDCR_TDCO_Pos) /*!< CANFD_T::TDCR: TDCO Mask */ 1247 1248 #define CANFD_IR_RF0N_Pos (0) /*!< CANFD_T::IR: RF0N Position */ 1249 #define CANFD_IR_RF0N_Msk (0x1ul << CANFD_IR_RF0N_Pos) /*!< CANFD_T::IR: RF0N Mask */ 1250 1251 #define CANFD_IR_RF0W_Pos (1) /*!< CANFD_T::IR: RF0W Position */ 1252 #define CANFD_IR_RF0W_Msk (0x1ul << CANFD_IR_RF0W_Pos) /*!< CANFD_T::IR: RF0W Mask */ 1253 1254 #define CANFD_IR_RF0F_Pos (2) /*!< CANFD_T::IR: RF0F Position */ 1255 #define CANFD_IR_RF0F_Msk (0x1ul << CANFD_IR_RF0F_Pos) /*!< CANFD_T::IR: RF0F Mask */ 1256 1257 #define CANFD_IR_RF0L_Pos (3) /*!< CANFD_T::IR: RF0L Position */ 1258 #define CANFD_IR_RF0L_Msk (0x1ul << CANFD_IR_RF0L_Pos) /*!< CANFD_T::IR: RF0L Mask */ 1259 1260 #define CANFD_IR_RF1N_Pos (4) /*!< CANFD_T::IR: RF1N Position */ 1261 #define CANFD_IR_RF1N_Msk (0x1ul << CANFD_IR_RF1N_Pos) /*!< CANFD_T::IR: RF1N Mask */ 1262 1263 #define CANFD_IR_RF1W_Pos (5) /*!< CANFD_T::IR: RF1W Position */ 1264 #define CANFD_IR_RF1W_Msk (0x1ul << CANFD_IR_RF1W_Pos) /*!< CANFD_T::IR: RF1W Mask */ 1265 1266 #define CANFD_IR_RF1F_Pos (6) /*!< CANFD_T::IR: RF1F Position */ 1267 #define CANFD_IR_RF1F_Msk (0x1ul << CANFD_IR_RF1F_Pos) /*!< CANFD_T::IR: RF1F Mask */ 1268 1269 #define CANFD_IR_RF1L_Pos (7) /*!< CANFD_T::IR: RF1L Position */ 1270 #define CANFD_IR_RF1L_Msk (0x1ul << CANFD_IR_RF1L_Pos) /*!< CANFD_T::IR: RF1L Mask */ 1271 1272 #define CANFD_IR_HPM_Pos (8) /*!< CANFD_T::IR: HPM Position */ 1273 #define CANFD_IR_HPM_Msk (0x1ul << CANFD_IR_HPM_Pos) /*!< CANFD_T::IR: HPM Mask */ 1274 1275 #define CANFD_IR_TC_Pos (9) /*!< CANFD_T::IR: TC Position */ 1276 #define CANFD_IR_TC_Msk (0x1ul << CANFD_IR_TC_Pos) /*!< CANFD_T::IR: TC Mask */ 1277 1278 #define CANFD_IR_TCF_Pos (10) /*!< CANFD_T::IR: TCF Position */ 1279 #define CANFD_IR_TCF_Msk (0x1ul << CANFD_IR_TCF_Pos) /*!< CANFD_T::IR: TCF Mask */ 1280 1281 #define CANFD_IR_TFE_Pos (11) /*!< CANFD_T::IR: TFE Position */ 1282 #define CANFD_IR_TFE_Msk (0x1ul << CANFD_IR_TFE_Pos) /*!< CANFD_T::IR: TFE Mask */ 1283 1284 #define CANFD_IR_TEFN_Pos (12) /*!< CANFD_T::IR: TEFN Position */ 1285 #define CANFD_IR_TEFN_Msk (0x1ul << CANFD_IR_TEFN_Pos) /*!< CANFD_T::IR: TEFN Mask */ 1286 1287 #define CANFD_IR_TEFW_Pos (13) /*!< CANFD_T::IR: TEFW Position */ 1288 #define CANFD_IR_TEFW_Msk (0x1ul << CANFD_IR_TEFW_Pos) /*!< CANFD_T::IR: TEFW Mask */ 1289 1290 #define CANFD_IR_TEFF_Pos (14) /*!< CANFD_T::IR: TEFF Position */ 1291 #define CANFD_IR_TEFF_Msk (0x1ul << CANFD_IR_TEFF_Pos) /*!< CANFD_T::IR: TEFF Mask */ 1292 1293 #define CANFD_IR_TEFL_Pos (15) /*!< CANFD_T::IR: TEFL Position */ 1294 #define CANFD_IR_TEFL_Msk (0x1ul << CANFD_IR_TEFL_Pos) /*!< CANFD_T::IR: TEFL Mask */ 1295 1296 #define CANFD_IR_TSW_Pos (16) /*!< CANFD_T::IR: TSW Position */ 1297 #define CANFD_IR_TSW_Msk (0x1ul << CANFD_IR_TSW_Pos) /*!< CANFD_T::IR: TSW Mask */ 1298 1299 #define CANFD_IR_MRAF_Pos (17) /*!< CANFD_T::IR: MRAF Position */ 1300 #define CANFD_IR_MRAF_Msk (0x1ul << CANFD_IR_MRAF_Pos) /*!< CANFD_T::IR: MRAF Mask */ 1301 1302 #define CANFD_IR_TOO_Pos (18) /*!< CANFD_T::IR: TOO Position */ 1303 #define CANFD_IR_TOO_Msk (0x1ul << CANFD_IR_TOO_Pos) /*!< CANFD_T::IR: TOO Mask */ 1304 1305 #define CANFD_IR_DRX_Pos (19) /*!< CANFD_T::IR: DRX Position */ 1306 #define CANFD_IR_DRX_Msk (0x1ul << CANFD_IR_DRX_Pos) /*!< CANFD_T::IR: DRX Mask */ 1307 1308 #define CANFD_IR_ELO_Pos (22) /*!< CANFD_T::IR: ELO Position */ 1309 #define CANFD_IR_ELO_Msk (0x1ul << CANFD_IR_ELO_Pos) /*!< CANFD_T::IR: ELO Mask */ 1310 1311 #define CANFD_IR_EP_Pos (23) /*!< CANFD_T::IR: EP Position */ 1312 #define CANFD_IR_EP_Msk (0x1ul << CANFD_IR_EP_Pos) /*!< CANFD_T::IR: EP Mask */ 1313 1314 #define CANFD_IR_EW_Pos (24) /*!< CANFD_T::IR: EW Position */ 1315 #define CANFD_IR_EW_Msk (0x1ul << CANFD_IR_EW_Pos) /*!< CANFD_T::IR: EW Mask */ 1316 1317 #define CANFD_IR_BO_Pos (25) /*!< CANFD_T::IR: BO Position */ 1318 #define CANFD_IR_BO_Msk (0x1ul << CANFD_IR_BO_Pos) /*!< CANFD_T::IR: BO Mask */ 1319 1320 #define CANFD_IR_WDI_Pos (26) /*!< CANFD_T::IR: WDI Position */ 1321 #define CANFD_IR_WDI_Msk (0x1ul << CANFD_IR_WDI_Pos) /*!< CANFD_T::IR: WDI Mask */ 1322 1323 #define CANFD_IR_PEA_Pos (27) /*!< CANFD_T::IR: PEA Position */ 1324 #define CANFD_IR_PEA_Msk (0x1ul << CANFD_IR_PEA_Pos) /*!< CANFD_T::IR: PEA Mask */ 1325 1326 #define CANFD_IR_PED_Pos (28) /*!< CANFD_T::IR: PED Position */ 1327 #define CANFD_IR_PED_Msk (0x1ul << CANFD_IR_PED_Pos) /*!< CANFD_T::IR: PED Mask */ 1328 1329 #define CANFD_IR_ARA_Pos (29) /*!< CANFD_T::IR: ARA Position */ 1330 #define CANFD_IR_ARA_Msk (0x1ul << CANFD_IR_ARA_Pos) /*!< CANFD_T::IR: ARA Mask */ 1331 1332 #define CANFD_IE_RF0NE_Pos (0) /*!< CANFD_T::IE: RF0NE Position */ 1333 #define CANFD_IE_RF0NE_Msk (0x1ul << CANFD_IE_RF0NE_Pos) /*!< CANFD_T::IE: RF0NE Mask */ 1334 1335 #define CANFD_IE_RF0WE_Pos (1) /*!< CANFD_T::IE: RF0WE Position */ 1336 #define CANFD_IE_RF0WE_Msk (0x1ul << CANFD_IE_RF0WE_Pos) /*!< CANFD_T::IE: RF0WE Mask */ 1337 1338 #define CANFD_IE_RF0FE_Pos (2) /*!< CANFD_T::IE: RF0FE Position */ 1339 #define CANFD_IE_RF0FE_Msk (0x1ul << CANFD_IE_RF0FE_Pos) /*!< CANFD_T::IE: RF0FE Mask */ 1340 1341 #define CANFD_IE_RF0LE_Pos (3) /*!< CANFD_T::IE: RF0LE Position */ 1342 #define CANFD_IE_RF0LE_Msk (0x1ul << CANFD_IE_RF0LE_Pos) /*!< CANFD_T::IE: RF0LE Mask */ 1343 1344 #define CANFD_IE_RF1NE_Pos (4) /*!< CANFD_T::IE: RF1NE Position */ 1345 #define CANFD_IE_RF1NE_Msk (0x1ul << CANFD_IE_RF1NE_Pos) /*!< CANFD_T::IE: RF1NE Mask */ 1346 1347 #define CANFD_IE_RF1WE_Pos (5) /*!< CANFD_T::IE: RF1WE Position */ 1348 #define CANFD_IE_RF1WE_Msk (0x1ul << CANFD_IE_RF1WE_Pos) /*!< CANFD_T::IE: RF1WE Mask */ 1349 1350 #define CANFD_IE_RF1FE_Pos (6) /*!< CANFD_T::IE: RF1FE Position */ 1351 #define CANFD_IE_RF1FE_Msk (0x1ul << CANFD_IE_RF1FE_Pos) /*!< CANFD_T::IE: RF1FE Mask */ 1352 1353 #define CANFD_IE_RF1LE_Pos (7) /*!< CANFD_T::IE: RF1LE Position */ 1354 #define CANFD_IE_RF1LE_Msk (0x1ul << CANFD_IE_RF1LE_Pos) /*!< CANFD_T::IE: RF1LE Mask */ 1355 1356 #define CANFD_IE_HPME_Pos (8) /*!< CANFD_T::IE: HPME Position */ 1357 #define CANFD_IE_HPME_Msk (0x1ul << CANFD_IE_HPME_Pos) /*!< CANFD_T::IE: HPME Mask */ 1358 1359 #define CANFD_IE_TCE_Pos (9) /*!< CANFD_T::IE: TCE Position */ 1360 #define CANFD_IE_TCE_Msk (0x1ul << CANFD_IE_TCE_Pos) /*!< CANFD_T::IE: TCE Mask */ 1361 1362 #define CANFD_IE_TCFE_Pos (10) /*!< CANFD_T::IE: TCFE Position */ 1363 #define CANFD_IE_TCFE_Msk (0x1ul << CANFD_IE_TCFE_Pos) /*!< CANFD_T::IE: TCFE Mask */ 1364 1365 #define CANFD_IE_TFEE_Pos (11) /*!< CANFD_T::IE: TFEE Position */ 1366 #define CANFD_IE_TFEE_Msk (0x1ul << CANFD_IE_TFEE_Pos) /*!< CANFD_T::IE: TFEE Mask */ 1367 1368 #define CANFD_IE_TEFNE_Pos (12) /*!< CANFD_T::IE: TEFNE Position */ 1369 #define CANFD_IE_TEFNE_Msk (0x1ul << CANFD_IE_TEFNE_Pos) /*!< CANFD_T::IE: TEFNE Mask */ 1370 1371 #define CANFD_IE_TEFWE_Pos (13) /*!< CANFD_T::IE: TEFWE Position */ 1372 #define CANFD_IE_TEFWE_Msk (0x1ul << CANFD_IE_TEFWE_Pos) /*!< CANFD_T::IE: TEFWE Mask */ 1373 1374 #define CANFD_IE_TEFFE_Pos (14) /*!< CANFD_T::IE: TEFFE Position */ 1375 #define CANFD_IE_TEFFE_Msk (0x1ul << CANFD_IE_TEFFE_Pos) /*!< CANFD_T::IE: TEFFE Mask */ 1376 1377 #define CANFD_IE_TEFLE_Pos (15) /*!< CANFD_T::IE: TEFLE Position */ 1378 #define CANFD_IE_TEFLE_Msk (0x1ul << CANFD_IE_TEFLE_Pos) /*!< CANFD_T::IE: TEFLE Mask */ 1379 1380 #define CANFD_IE_TSWE_Pos (16) /*!< CANFD_T::IE: TSWE Position */ 1381 #define CANFD_IE_TSWE_Msk (0x1ul << CANFD_IE_TSWE_Pos) /*!< CANFD_T::IE: TSWE Mask */ 1382 1383 #define CANFD_IE_MRAFE_Pos (17) /*!< CANFD_T::IE: MRAFE Position */ 1384 #define CANFD_IE_MRAFE_Msk (0x1ul << CANFD_IE_MRAFE_Pos) /*!< CANFD_T::IE: MRAFE Mask */ 1385 1386 #define CANFD_IE_TOOE_Pos (18) /*!< CANFD_T::IE: TOOE Position */ 1387 #define CANFD_IE_TOOE_Msk (0x1ul << CANFD_IE_TOOE_Pos) /*!< CANFD_T::IE: TOOE Mask */ 1388 1389 #define CANFD_IE_DRXE_Pos (19) /*!< CANFD_T::IE: DRXE Position */ 1390 #define CANFD_IE_DRXE_Msk (0x1ul << CANFD_IE_DRXE_Pos) /*!< CANFD_T::IE: DRXE Mask */ 1391 1392 #define CANFD_IE_BECE_Pos (20) /*!< CANFD_T::IE: BECE Position */ 1393 #define CANFD_IE_BECE_Msk (0x1ul << CANFD_IE_BECE_Pos) /*!< CANFD_T::IE: BECE Mask */ 1394 1395 #define CANFD_IE_BEUE_Pos (21) /*!< CANFD_T::IE: BEUE Position */ 1396 #define CANFD_IE_BEUE_Msk (0x1ul << CANFD_IE_BEUE_Pos) /*!< CANFD_T::IE: BEUE Mask */ 1397 1398 #define CANFD_IE_ELOE_Pos (22) /*!< CANFD_T::IE: ELOE Position */ 1399 #define CANFD_IE_ELOE_Msk (0x1ul << CANFD_IE_ELOE_Pos) /*!< CANFD_T::IE: ELOE Mask */ 1400 1401 #define CANFD_IE_EPE_Pos (23) /*!< CANFD_T::IE: EPE Position */ 1402 #define CANFD_IE_EPE_Msk (0x1ul << CANFD_IE_EPE_Pos) /*!< CANFD_T::IE: EPE Mask */ 1403 1404 #define CANFD_IE_EWE_Pos (24) /*!< CANFD_T::IE: EWE Position */ 1405 #define CANFD_IE_EWE_Msk (0x1ul << CANFD_IE_EWE_Pos) /*!< CANFD_T::IE: EWE Mask */ 1406 1407 #define CANFD_IE_BOE_Pos (25) /*!< CANFD_T::IE: BOE Position */ 1408 #define CANFD_IE_BOE_Msk (0x1ul << CANFD_IE_BOE_Pos) /*!< CANFD_T::IE: BOE Mask */ 1409 1410 #define CANFD_IE_WDIE_Pos (26) /*!< CANFD_T::IE: WDIE Position */ 1411 #define CANFD_IE_WDIE_Msk (0x1ul << CANFD_IE_WDIE_Pos) /*!< CANFD_T::IE: WDIE Mask */ 1412 1413 #define CANFD_IE_PEAE_Pos (27) /*!< CANFD_T::IE: PEAE Position */ 1414 #define CANFD_IE_PEAE_Msk (0x1ul << CANFD_IE_PEAE_Pos) /*!< CANFD_T::IE: PEAE Mask */ 1415 1416 #define CANFD_IE_PEDE_Pos (28) /*!< CANFD_T::IE: PEDE Position */ 1417 #define CANFD_IE_PEDE_Msk (0x1ul << CANFD_IE_PEDE_Pos) /*!< CANFD_T::IE: PEDE Mask */ 1418 1419 #define CANFD_IE_ARAE_Pos (29) /*!< CANFD_T::IE: ARAE Position */ 1420 #define CANFD_IE_ARAE_Msk (0x1ul << CANFD_IE_ARAE_Pos) /*!< CANFD_T::IE: ARAE Mask */ 1421 1422 #define CANFD_ILS_RF0NL_Pos (0) /*!< CANFD_T::ILS: RF0NL Position */ 1423 #define CANFD_ILS_RF0NL_Msk (0x1ul << CANFD_ILS_RF0NL_Pos) /*!< CANFD_T::ILS: RF0NL Mask */ 1424 1425 #define CANFD_ILS_RF0WL_Pos (1) /*!< CANFD_T::ILS: RF0WL Position */ 1426 #define CANFD_ILS_RF0WL_Msk (0x1ul << CANFD_ILS_RF0WL_Pos) /*!< CANFD_T::ILS: RF0WL Mask */ 1427 1428 #define CANFD_ILS_RF0FL_Pos (2) /*!< CANFD_T::ILS: RF0FL Position */ 1429 #define CANFD_ILS_RF0FL_Msk (0x1ul << CANFD_ILS_RF0FL_Pos) /*!< CANFD_T::ILS: RF0FL Mask */ 1430 1431 #define CANFD_ILS_RF0LL_Pos (3) /*!< CANFD_T::ILS: RF0LL Position */ 1432 #define CANFD_ILS_RF0LL_Msk (0x1ul << CANFD_ILS_RF0LL_Pos) /*!< CANFD_T::ILS: RF0LL Mask */ 1433 1434 #define CANFD_ILS_RF1NL_Pos (4) /*!< CANFD_T::ILS: RF1NL Position */ 1435 #define CANFD_ILS_RF1NL_Msk (0x1ul << CANFD_ILS_RF1NL_Pos) /*!< CANFD_T::ILS: RF1NL Mask */ 1436 1437 #define CANFD_ILS_RF1WL_Pos (5) /*!< CANFD_T::ILS: RF1WL Position */ 1438 #define CANFD_ILS_RF1WL_Msk (0x1ul << CANFD_ILS_RF1WL_Pos) /*!< CANFD_T::ILS: RF1WL Mask */ 1439 1440 #define CANFD_ILS_RF1FL_Pos (6) /*!< CANFD_T::ILS: RF1FL Position */ 1441 #define CANFD_ILS_RF1FL_Msk (0x1ul << CANFD_ILS_RF1FL_Pos) /*!< CANFD_T::ILS: RF1FL Mask */ 1442 1443 #define CANFD_ILS_RF1LL_Pos (7) /*!< CANFD_T::ILS: RF1LL Position */ 1444 #define CANFD_ILS_RF1LL_Msk (0x1ul << CANFD_ILS_RF1LL_Pos) /*!< CANFD_T::ILS: RF1LL Mask */ 1445 1446 #define CANFD_ILS_HPML_Pos (8) /*!< CANFD_T::ILS: HPML Position */ 1447 #define CANFD_ILS_HPML_Msk (0x1ul << CANFD_ILS_HPML_Pos) /*!< CANFD_T::ILS: HPML Mask */ 1448 1449 #define CANFD_ILS_TCL_Pos (9) /*!< CANFD_T::ILS: TCL Position */ 1450 #define CANFD_ILS_TCL_Msk (0x1ul << CANFD_ILS_TCL_Pos) /*!< CANFD_T::ILS: TCL Mask */ 1451 1452 #define CANFD_ILS_TCFL_Pos (10) /*!< CANFD_T::ILS: TCFL Position */ 1453 #define CANFD_ILS_TCFL_Msk (0x1ul << CANFD_ILS_TCFL_Pos) /*!< CANFD_T::ILS: TCFL Mask */ 1454 1455 #define CANFD_ILS_TFEL_Pos (11) /*!< CANFD_T::ILS: TFEL Position */ 1456 #define CANFD_ILS_TFEL_Msk (0x1ul << CANFD_ILS_TFEL_Pos) /*!< CANFD_T::ILS: TFEL Mask */ 1457 1458 #define CANFD_ILS_TEFNL_Pos (12) /*!< CANFD_T::ILS: TEFNL Position */ 1459 #define CANFD_ILS_TEFNL_Msk (0x1ul << CANFD_ILS_TEFNL_Pos) /*!< CANFD_T::ILS: TEFNL Mask */ 1460 1461 #define CANFD_ILS_TEFWL_Pos (13) /*!< CANFD_T::ILS: TEFWL Position */ 1462 #define CANFD_ILS_TEFWL_Msk (0x1ul << CANFD_ILS_TEFWL_Pos) /*!< CANFD_T::ILS: TEFWL Mask */ 1463 1464 #define CANFD_ILS_TEFFL_Pos (14) /*!< CANFD_T::ILS: TEFFL Position */ 1465 #define CANFD_ILS_TEFFL_Msk (0x1ul << CANFD_ILS_TEFFL_Pos) /*!< CANFD_T::ILS: TEFFL Mask */ 1466 1467 #define CANFD_ILS_TEFLL_Pos (15) /*!< CANFD_T::ILS: TEFLL Position */ 1468 #define CANFD_ILS_TEFLL_Msk (0x1ul << CANFD_ILS_TEFLL_Pos) /*!< CANFD_T::ILS: TEFLL Mask */ 1469 1470 #define CANFD_ILS_TSWL_Pos (16) /*!< CANFD_T::ILS: TSWL Position */ 1471 #define CANFD_ILS_TSWL_Msk (0x1ul << CANFD_ILS_TSWL_Pos) /*!< CANFD_T::ILS: TSWL Mask */ 1472 1473 #define CANFD_ILS_MRAFL_Pos (17) /*!< CANFD_T::ILS: MRAFL Position */ 1474 #define CANFD_ILS_MRAFL_Msk (0x1ul << CANFD_ILS_MRAFL_Pos) /*!< CANFD_T::ILS: MRAFL Mask */ 1475 1476 #define CANFD_ILS_TOOL_Pos (18) /*!< CANFD_T::ILS: TOOL Position */ 1477 #define CANFD_ILS_TOOL_Msk (0x1ul << CANFD_ILS_TOOL_Pos) /*!< CANFD_T::ILS: TOOL Mask */ 1478 1479 #define CANFD_ILS_DRXL_Pos (19) /*!< CANFD_T::ILS: DRXL Position */ 1480 #define CANFD_ILS_DRXL_Msk (0x1ul << CANFD_ILS_DRXL_Pos) /*!< CANFD_T::ILS: DRXL Mask */ 1481 1482 #define CANFD_ILS_ELOL_Pos (22) /*!< CANFD_T::ILS: ELOL Position */ 1483 #define CANFD_ILS_ELOL_Msk (0x1ul << CANFD_ILS_ELOL_Pos) /*!< CANFD_T::ILS: ELOL Mask */ 1484 1485 #define CANFD_ILS_EPL_Pos (23) /*!< CANFD_T::ILS: EPL Position */ 1486 #define CANFD_ILS_EPL_Msk (0x1ul << CANFD_ILS_EPL_Pos) /*!< CANFD_T::ILS: EPL Mask */ 1487 1488 #define CANFD_ILS_EWL_Pos (24) /*!< CANFD_T::ILS: EWL Position */ 1489 #define CANFD_ILS_EWL_Msk (0x1ul << CANFD_ILS_EWL_Pos) /*!< CANFD_T::ILS: EWL Mask */ 1490 1491 #define CANFD_ILS_BOL_Pos (25) /*!< CANFD_T::ILS: BOL Position */ 1492 #define CANFD_ILS_BOL_Msk (0x1ul << CANFD_ILS_BOL_Pos) /*!< CANFD_T::ILS: BOL Mask */ 1493 1494 #define CANFD_ILS_WDIL_Pos (26) /*!< CANFD_T::ILS: WDIL Position */ 1495 #define CANFD_ILS_WDIL_Msk (0x1ul << CANFD_ILS_WDIL_Pos) /*!< CANFD_T::ILS: WDIL Mask */ 1496 1497 #define CANFD_ILS_PEAL_Pos (27) /*!< CANFD_T::ILS: PEAL Position */ 1498 #define CANFD_ILS_PEAL_Msk (0x1ul << CANFD_ILS_PEAL_Pos) /*!< CANFD_T::ILS: PEAL Mask */ 1499 1500 #define CANFD_ILS_PEDL_Pos (28) /*!< CANFD_T::ILS: PEDL Position */ 1501 #define CANFD_ILS_PEDL_Msk (0x1ul << CANFD_ILS_PEDL_Pos) /*!< CANFD_T::ILS: PEDL Mask */ 1502 1503 #define CANFD_ILS_ARAL_Pos (29) /*!< CANFD_T::ILS: ARAL Position */ 1504 #define CANFD_ILS_ARAL_Msk (0x1ul << CANFD_ILS_ARAL_Pos) /*!< CANFD_T::ILS: ARAL Mask */ 1505 1506 #define CANFD_ILE_ENT0_Pos (0) /*!< CANFD_T::ILE: ENT0 Position */ 1507 #define CANFD_ILE_ENT0_Msk (0x1ul << CANFD_ILE_ENT0_Pos) /*!< CANFD_T::ILE: ENT0 Mask */ 1508 1509 #define CANFD_ILE_ENT1_Pos (1) /*!< CANFD_T::ILE: ENT1 Position */ 1510 #define CANFD_ILE_ENT1_Msk (0x1ul << CANFD_ILE_ENT1_Pos) /*!< CANFD_T::ILE: ENT1 Mask */ 1511 1512 #define CANFD_GFC_RRFE_Pos (0) /*!< CANFD_T::GFC: RRFE Position */ 1513 #define CANFD_GFC_RRFE_Msk (0x1ul << CANFD_GFC_RRFE_Pos) /*!< CANFD_T::GFC: RRFE Mask */ 1514 1515 #define CANFD_GFC_RRFS_Pos (1) /*!< CANFD_T::GFC: RRFS Position */ 1516 #define CANFD_GFC_RRFS_Msk (0x1ul << CANFD_GFC_RRFS_Pos) /*!< CANFD_T::GFC: RRFS Mask */ 1517 1518 #define CANFD_GFC_ANFE_Pos (2) /*!< CANFD_T::GFC: ANFE Position */ 1519 #define CANFD_GFC_ANFE_Msk (0x3ul << CANFD_GFC_ANFE_Pos) /*!< CANFD_T::GFC: ANFE Mask */ 1520 1521 #define CANFD_GFC_ANFS_Pos (4) /*!< CANFD_T::GFC: ANFS Position */ 1522 #define CANFD_GFC_ANFS_Msk (0x3ul << CANFD_GFC_ANFS_Pos) /*!< CANFD_T::GFC: ANFS Mask */ 1523 1524 #define CANFD_SIDFC_FLSSA_Pos (2) /*!< CANFD_T::SIDFC: FLSSA Position */ 1525 #define CANFD_SIDFC_FLSSA_Msk (0x3ffful << CANFD_SIDFC_FLSSA_Pos) /*!< CANFD_T::SIDFC: FLSSA Mask */ 1526 1527 #define CANFD_SIDFC_LSS_Pos (16) /*!< CANFD_T::SIDFC: LSS Position */ 1528 #define CANFD_SIDFC_LSS_Msk (0xfful << CANFD_SIDFC_LSS_Pos) /*!< CANFD_T::SIDFC: LSS Mask */ 1529 1530 #define CANFD_XIDFC_FLESA_Pos (2) /*!< CANFD_T::XIDFC: FLESA Position */ 1531 #define CANFD_XIDFC_FLESA_Msk (0x3ffful << CANFD_XIDFC_FLESA_Pos) /*!< CANFD_T::XIDFC: FLESA Mask */ 1532 1533 #define CANFD_XIDFC_LSE_Pos (16) /*!< CANFD_T::XIDFC: LSE Position */ 1534 #define CANFD_XIDFC_LSE_Msk (0x7ful << CANFD_XIDFC_LSE_Pos) /*!< CANFD_T::XIDFC: LSE Mask */ 1535 1536 #define CANFD_XIDAM_EIDM_Pos (0) /*!< CANFD_T::XIDAM: EIDM Position */ 1537 #define CANFD_XIDAM_EIDM_Msk (0x1ffffffful << CANFD_XIDAM_EIDM_Pos) /*!< CANFD_T::XIDAM: EIDM Mask */ 1538 1539 #define CANFD_HPMS_BIDX_Pos (0) /*!< CANFD_T::HPMS: BIDX Position */ 1540 #define CANFD_HPMS_BIDX_Msk (0x3ful << CANFD_HPMS_BIDX_Pos) /*!< CANFD_T::HPMS: BIDX Mask */ 1541 1542 #define CANFD_HPMS_MSI_Pos (6) /*!< CANFD_T::HPMS: MSI Position */ 1543 #define CANFD_HPMS_MSI_Msk (0x3ul << CANFD_HPMS_MSI_Pos) /*!< CANFD_T::HPMS: MSI Mask */ 1544 1545 #define CANFD_HPMS_FIDX_Pos (8) /*!< CANFD_T::HPMS: FIDX Position */ 1546 #define CANFD_HPMS_FIDX_Msk (0x7ful << CANFD_HPMS_FIDX_Pos) /*!< CANFD_T::HPMS: FIDX Mask */ 1547 1548 #define CANFD_HPMS_FLST_Pos (15) /*!< CANFD_T::HPMS: FLST Position */ 1549 #define CANFD_HPMS_FLST_Msk (0x1ul << CANFD_HPMS_FLST_Pos) /*!< CANFD_T::HPMS: FLST Mask */ 1550 1551 #define CANFD_NDAT1_NDn_Pos (0) /*!< CANFD_T::NDAT1: NDn Position */ 1552 #define CANFD_NDAT1_NDn_Msk (0xfffffffful << CANFD_NDAT1_NDn_Pos) /*!< CANFD_T::NDAT1: NDn Mask */ 1553 1554 #define CANFD_NDAT2_NDn_Pos (0) /*!< CANFD_T::NDAT2: NDn Position */ 1555 #define CANFD_NDAT2_NDn_Msk (0xfffffffful << CANFD_NDAT2_NDn_Pos) /*!< CANFD_T::NDAT2: NDn Mask */ 1556 1557 #define CANFD_RXF0C_F0SA_Pos (2) /*!< CANFD_T::RXF0C: F0SA Position */ 1558 #define CANFD_RXF0C_F0SA_Msk (0x3ffful << CANFD_RXF0C_F0SA_Pos) /*!< CANFD_T::RXF0C: F0SA Mask */ 1559 1560 #define CANFD_RXF0C_F0S_Pos (16) /*!< CANFD_T::RXF0C: F0S Position */ 1561 #define CANFD_RXF0C_F0S_Msk (0x7ful << CANFD_RXF0C_F0S_Pos) /*!< CANFD_T::RXF0C: F0S Mask */ 1562 1563 #define CANFD_RXF0C_F0WM_Pos (24) /*!< CANFD_T::RXF0C: F0WM Position */ 1564 #define CANFD_RXF0C_F0WM_Msk (0x7ful << CANFD_RXF0C_F0WM_Pos) /*!< CANFD_T::RXF0C: F0WM Mask */ 1565 1566 #define CANFD_RXF0C_F0OM_Pos (31) /*!< CANFD_T::RXF0C: F0OM Position */ 1567 #define CANFD_RXF0C_F0OM_Msk (0x1ul << CANFD_RXF0C_F0OM_Pos) /*!< CANFD_T::RXF0C: F0OM Mask */ 1568 1569 #define CANFD_RXF0S_F0FL_Pos (0) /*!< CANFD_T::RXF0S: F0FL Position */ 1570 #define CANFD_RXF0S_F0FL_Msk (0x7ful << CANFD_RXF0S_F0FL_Pos) /*!< CANFD_T::RXF0S: F0FL Mask */ 1571 1572 #define CANFD_RXF0S_F0GI_Pos (8) /*!< CANFD_T::RXF0S: F0GI Position */ 1573 #define CANFD_RXF0S_F0GI_Msk (0x3ful << CANFD_RXF0S_F0GI_Pos) /*!< CANFD_T::RXF0S: F0GI Mask */ 1574 1575 #define CANFD_RXF0S_F0PI_Pos (16) /*!< CANFD_T::RXF0S: F0PI Position */ 1576 #define CANFD_RXF0S_F0PI_Msk (0x3ful << CANFD_RXF0S_F0PI_Pos) /*!< CANFD_T::RXF0S: F0PI Mask */ 1577 1578 #define CANFD_RXF0S_F0F_Pos (24) /*!< CANFD_T::RXF0S: F0F Position */ 1579 #define CANFD_RXF0S_F0F_Msk (0x1ul << CANFD_RXF0S_F0F_Pos) /*!< CANFD_T::RXF0S: F0F Mask */ 1580 1581 #define CANFD_RXF0S_RF0L_Pos (25) /*!< CANFD_T::RXF0S: RF0L Position */ 1582 #define CANFD_RXF0S_RF0L_Msk (0x1ul << CANFD_RXF0S_RF0L_Pos) /*!< CANFD_T::RXF0S: RF0L Mask */ 1583 1584 #define CANFD_RXF0A_F0A_Pos (0) /*!< CANFD_T::RXF0A: F0A Position */ 1585 #define CANFD_RXF0A_F0A_Msk (0x3ful << CANFD_RXF0A_F0A_Pos) /*!< CANFD_T::RXF0A: F0A Mask */ 1586 1587 #define CANFD_RXBC_RBSA_Pos (2) /*!< CANFD_T::RXBC: RBSA Position */ 1588 #define CANFD_RXBC_RBSA_Msk (0x3ffful << CANFD_RXBC_RBSA_Pos) /*!< CANFD_T::RXBC: RBSA Mask */ 1589 1590 #define CANFD_RXF1C_F1SA_Pos (2) /*!< CANFD_T::RXF1C: F1SA Position */ 1591 #define CANFD_RXF1C_F1SA_Msk (0x3ffful << CANFD_RXF1C_F1SA_Pos) /*!< CANFD_T::RXF1C: F1SA Mask */ 1592 1593 #define CANFD_RXF1C_F1S_Pos (16) /*!< CANFD_T::RXF1C: F1S Position */ 1594 #define CANFD_RXF1C_F1S_Msk (0x7ful << CANFD_RXF1C_F1S_Pos) /*!< CANFD_T::RXF1C: F1S Mask */ 1595 1596 #define CANFD_RXF1C_F1WM_Pos (24) /*!< CANFD_T::RXF1C: F1WM Position */ 1597 #define CANFD_RXF1C_F1WM_Msk (0x7ful << CANFD_RXF1C_F1WM_Pos) /*!< CANFD_T::RXF1C: F1WM Mask */ 1598 1599 #define CANFD_RXF1C_F1OM_Pos (31) /*!< CANFD_T::RXF1C: F1OM Position */ 1600 #define CANFD_RXF1C_F1OM_Msk (0x1ul << CANFD_RXF1C_F1OM_Pos) /*!< CANFD_T::RXF1C: F1OM Mask */ 1601 1602 #define CANFD_RXF1S_F1FL_Pos (0) /*!< CANFD_T::RXF1S: F1FL Position */ 1603 #define CANFD_RXF1S_F1FL_Msk (0x7ful << CANFD_RXF1S_F1FL_Pos) /*!< CANFD_T::RXF1S: F1FL Mask */ 1604 1605 #define CANFD_RXF1S_F1GI_Pos (8) /*!< CANFD_T::RXF1S: F1GI Position */ 1606 #define CANFD_RXF1S_F1GI_Msk (0x3ful << CANFD_RXF1S_F1GI_Pos) /*!< CANFD_T::RXF1S: F1GI Mask */ 1607 1608 #define CANFD_RXF1S_F1PI_Pos (16) /*!< CANFD_T::RXF1S: F1PI Position */ 1609 #define CANFD_RXF1S_F1PI_Msk (0x3ful << CANFD_RXF1S_F1PI_Pos) /*!< CANFD_T::RXF1S: F1PI Mask */ 1610 1611 #define CANFD_RXF1S_F1F_Pos (24) /*!< CANFD_T::RXF1S: F1F Position */ 1612 #define CANFD_RXF1S_F1F_Msk (0x1ul << CANFD_RXF1S_F1F_Pos) /*!< CANFD_T::RXF1S: F1F Mask */ 1613 1614 #define CANFD_RXF1S_RF1L_Pos (25) /*!< CANFD_T::RXF1S: RF1L Position */ 1615 #define CANFD_RXF1S_RF1L_Msk (0x1ul << CANFD_RXF1S_RF1L_Pos) /*!< CANFD_T::RXF1S: RF1L Mask */ 1616 1617 #define CANFD_RXF1A_F1AI_Pos (0) /*!< CANFD_T::RXF1A: F1AI Position */ 1618 #define CANFD_RXF1A_F1AI_Msk (0x3ful << CANFD_RXF1A_F1AI_Pos) /*!< CANFD_T::RXF1A: F1AI Mask */ 1619 1620 #define CANFD_RXESC_F0DS_Pos (0) /*!< CANFD_T::RXESC: F0DS Position */ 1621 #define CANFD_RXESC_F0DS_Msk (0x7ul << CANFD_RXESC_F0DS_Pos) /*!< CANFD_T::RXESC: F0DS Mask */ 1622 1623 #define CANFD_RXESC_F1DS_Pos (4) /*!< CANFD_T::RXESC: F1DS Position */ 1624 #define CANFD_RXESC_F1DS_Msk (0x7ul << CANFD_RXESC_F1DS_Pos) /*!< CANFD_T::RXESC: F1DS Mask */ 1625 1626 #define CANFD_RXESC_RBDS_Pos (8) /*!< CANFD_T::RXESC: RBDS Position */ 1627 #define CANFD_RXESC_RBDS_Msk (0x7ul << CANFD_RXESC_RBDS_Pos) /*!< CANFD_T::RXESC: RBDS Mask */ 1628 1629 #define CANFD_TXBC_TBSA_Pos (2) /*!< CANFD_T::TXBC: TBSA Position */ 1630 #define CANFD_TXBC_TBSA_Msk (0x3ffful << CANFD_TXBC_TBSA_Pos) /*!< CANFD_T::TXBC: TBSA Mask */ 1631 1632 #define CANFD_TXBC_NDTB_Pos (16) /*!< CANFD_T::TXBC: NDTB Position */ 1633 #define CANFD_TXBC_NDTB_Msk (0x3ful << CANFD_TXBC_NDTB_Pos) /*!< CANFD_T::TXBC: NDTB Mask */ 1634 1635 #define CANFD_TXBC_TFQS_Pos (24) /*!< CANFD_T::TXBC: TFQS Position */ 1636 #define CANFD_TXBC_TFQS_Msk (0x3ful << CANFD_TXBC_TFQS_Pos) /*!< CANFD_T::TXBC: TFQS Mask */ 1637 1638 #define CANFD_TXBC_TFQM_Pos (30) /*!< CANFD_T::TXBC: TFQM Position */ 1639 #define CANFD_TXBC_TFQM_Msk (0x1ul << CANFD_TXBC_TFQM_Pos) /*!< CANFD_T::TXBC: TFQM Mask */ 1640 1641 #define CANFD_TXFQS_TFFL_Pos (0) /*!< CANFD_T::TXFQS: TFFL Position */ 1642 #define CANFD_TXFQS_TFFL_Msk (0x3ful << CANFD_TXFQS_TFFL_Pos) /*!< CANFD_T::TXFQS: TFFL Mask */ 1643 1644 #define CANFD_TXFQS_TFGI_Pos (8) /*!< CANFD_T::TXFQS: TFGI Position */ 1645 #define CANFD_TXFQS_TFGI_Msk (0x1ful << CANFD_TXFQS_TFGI_Pos) /*!< CANFD_T::TXFQS: TFGI Mask */ 1646 1647 #define CANFD_TXFQS_TFQPI_Pos (16) /*!< CANFD_T::TXFQS: TFQPI Position */ 1648 #define CANFD_TXFQS_TFQPI_Msk (0x1ful << CANFD_TXFQS_TFQPI_Pos) /*!< CANFD_T::TXFQS: TFQPI Mask */ 1649 1650 #define CANFD_TXFQS_TFQF_Pos (21) /*!< CANFD_T::TXFQS: TFQF Position */ 1651 #define CANFD_TXFQS_TFQF_Msk (0x1ul << CANFD_TXFQS_TFQF_Pos) /*!< CANFD_T::TXFQS: TFQF Mask */ 1652 1653 #define CANFD_TXESC_TBDS_Pos (0) /*!< CANFD_T::TXESC: TBDS Position */ 1654 #define CANFD_TXESC_TBDS_Msk (0x7ul << CANFD_TXESC_TBDS_Pos) /*!< CANFD_T::TXESC: TBDS Mask */ 1655 1656 #define CANFD_TXBRP_TRPn_Pos (0) /*!< CANFD_T::TXBRP: TRPn Position */ 1657 #define CANFD_TXBRP_TRPn_Msk (0xfffffffful << CANFD_TXBRP_TRPn_Pos) /*!< CANFD_T::TXBRP: TRPn Mask */ 1658 1659 #define CANFD_TXBAR_ARn_Pos (0) /*!< CANFD_T::TXBAR: ARn Position */ 1660 #define CANFD_TXBAR_ARn_Msk (0xfffffffful << CANFD_TXBAR_ARn_Pos) /*!< CANFD_T::TXBAR: ARn Mask */ 1661 1662 #define CANFD_TXBCR_CRn_Pos (0) /*!< CANFD_T::TXBCR: CRn Position */ 1663 #define CANFD_TXBCR_CRn_Msk (0xfffffffful << CANFD_TXBCR_CRn_Pos) /*!< CANFD_T::TXBCR: CRn Mask */ 1664 1665 #define CANFD_TXBTO_TOn_Pos (0) /*!< CANFD_T::TXBTO: TOn Position */ 1666 #define CANFD_TXBTO_TOn_Msk (0xfffffffful << CANFD_TXBTO_TOn_Pos) /*!< CANFD_T::TXBTO: TOn Mask */ 1667 1668 #define CANFD_TXBCF_CFn_Pos (0) /*!< CANFD_T::TXBCF: CFn Position */ 1669 #define CANFD_TXBCF_CFn_Msk (0xfffffffful << CANFD_TXBCF_CFn_Pos) /*!< CANFD_T::TXBCF: CFn Mask */ 1670 1671 #define CANFD_TXBTIE_TIEn_Pos (0) /*!< CANFD_T::TXBTIE: TIEn Position */ 1672 #define CANFD_TXBTIE_TIEn_Msk (0xfffffffful << CANFD_TXBTIE_TIEn_Pos) /*!< CANFD_T::TXBTIE: TIEn Mask */ 1673 1674 #define CANFD_TXBCIE_CFIEn_Pos (0) /*!< CANFD_T::TXBCIE: CFIEn Position */ 1675 #define CANFD_TXBCIE_CFIEn_Msk (0xfffffffful << CANFD_TXBCIE_CFIEn_Pos) /*!< CANFD_T::TXBCIE: CFIEn Mask */ 1676 1677 #define CANFD_TXEFC_EFSA_Pos (2) /*!< CANFD_T::TXEFC: EFSA Position */ 1678 #define CANFD_TXEFC_EFSA_Msk (0x3ffful << CANFD_TXEFC_EFSA_Pos) /*!< CANFD_T::TXEFC: EFSA Mask */ 1679 1680 #define CANFD_TXEFC_EFS_Pos (16) /*!< CANFD_T::TXEFC: EFS Position */ 1681 #define CANFD_TXEFC_EFS_Msk (0x3ful << CANFD_TXEFC_EFS_Pos) /*!< CANFD_T::TXEFC: EFS Mask */ 1682 1683 #define CANFD_TXEFC_EFWN_Pos (24) /*!< CANFD_T::TXEFC: EFWN Position */ 1684 #define CANFD_TXEFC_EFWN_Msk (0x3ful << CANFD_TXEFC_EFWN_Pos) /*!< CANFD_T::TXEFC: EFWN Mask */ 1685 1686 #define CANFD_TXEFS_EFFL_Pos (0) /*!< CANFD_T::TXEFS: EFFL Position */ 1687 #define CANFD_TXEFS_EFFL_Msk (0x3ful << CANFD_TXEFS_EFFL_Pos) /*!< CANFD_T::TXEFS: EFFL Mask */ 1688 1689 #define CANFD_TXEFS_EFGI_Pos (8) /*!< CANFD_T::TXEFS: EFGI Position */ 1690 #define CANFD_TXEFS_EFGI_Msk (0x1ful << CANFD_TXEFS_EFGI_Pos) /*!< CANFD_T::TXEFS: EFGI Mask */ 1691 1692 #define CANFD_TXEFS_EFPI_Pos (16) /*!< CANFD_T::TXEFS: EFPI Position */ 1693 #define CANFD_TXEFS_EFPI_Msk (0x1ful << CANFD_TXEFS_EFPI_Pos) /*!< CANFD_T::TXEFS: EFPI Mask */ 1694 1695 #define CANFD_TXEFS_EFF_Pos (24) /*!< CANFD_T::TXEFS: EFF Position */ 1696 #define CANFD_TXEFS_EFF_Msk (0x1ul << CANFD_TXEFS_EFF_Pos) /*!< CANFD_T::TXEFS: EFF Mask */ 1697 1698 #define CANFD_TXEFS_TEFL_Pos (25) /*!< CANFD_T::TXEFS: TEFL Position */ 1699 #define CANFD_TXEFS_TEFL_Msk (0x1ul << CANFD_TXEFS_TEFL_Pos) /*!< CANFD_T::TXEFS: TEFL Mask */ 1700 1701 #define CANFD_TXEFA_EFAI_Pos (0) /*!< CANFD_T::TXEFA: EFAI Position */ 1702 #define CANFD_TXEFA_EFAI_Msk (0x1ful << CANFD_TXEFA_EFAI_Pos) /*!< CANFD_T::TXEFA: EFAI Mask */ 1703 1704 /**@}*/ /* CANFD_CONST */ 1705 /**@}*/ /* end of CANFD register group */ 1706 /**@}*/ /* end of REGISTER group */ 1707 1708 #if defined ( __CC_ARM ) 1709 #pragma no_anon_unions 1710 #endif 1711 1712 #endif /* __CANFD_REG_H__ */ 1713