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