1 /*
2  * Copyright 1997-2016 Freescale Semiconductor, Inc.
3  * Copyright 2016-2022 NXP
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 /*!
9  * @file S32K146_FLEXCAN.h
10  * @version 1.1
11  * @date 2022-01-31
12  * @brief Peripheral Access Layer for S32K146_FLEXCAN
13  *
14  * This file contains register definitions and macros for easy access to their
15  * bit fields.
16  *
17  * This file assumes LITTLE endian system.
18  */
19 
20 /**
21 * @page misra_violations MISRA-C:2012 violations
22 *
23 * @section [global]
24 * Violates MISRA 2012 Advisory Rule 2.3, local typedef not referenced
25 * The SoC header defines typedef for all modules.
26 *
27 * @section [global]
28 * Violates MISRA 2012 Advisory Rule 2.5, local macro not referenced
29 * The SoC header defines macros for all modules and registers.
30 *
31 * @section [global]
32 * Violates MISRA 2012 Advisory Directive 4.9, Function-like macro
33 * These are generated macros used for accessing the bit-fields from registers.
34 *
35 * @section [global]
36 * Violates MISRA 2012 Required Rule 5.1, identifier clash
37 * The supported compilers use more than 31 significant characters for identifiers.
38 *
39 * @section [global]
40 * Violates MISRA 2012 Required Rule 5.2, identifier clash
41 * The supported compilers use more than 31 significant characters for identifiers.
42 *
43 * @section [global]
44 * Violates MISRA 2012 Required Rule 5.4, identifier clash
45 * The supported compilers use more than 31 significant characters for identifiers.
46 *
47 * @section [global]
48 * Violates MISRA 2012 Required Rule 5.5, identifier clash
49 * The supported compilers use more than 31 significant characters for identifiers.
50 *
51 * @section [global]
52 * Violates MISRA 2012 Required Rule 21.1, defined macro '__I' is reserved to the compiler
53 * This type qualifier is needed to ensure correct I/O access and addressing.
54 */
55 
56 /* Prevention from multiple including the same memory map */
57 #if !defined(S32K146_FLEXCAN_H_)  /* Check if memory map has not been already included */
58 #define S32K146_FLEXCAN_H_
59 
60 #include "S32K146_COMMON.h"
61 
62 /* ----------------------------------------------------------------------------
63    -- FLEXCAN Peripheral Access Layer
64    ---------------------------------------------------------------------------- */
65 
66 /*!
67  * @addtogroup CAN_Peripheral_Access_Layer FLEXCAN Peripheral Access Layer
68  * @{
69  */
70 
71 /** FLEXCAN - Size of Registers Arrays */
72 #define CAN_RAMn_COUNT                        128u
73 #define CAN_RXIMR_COUNT                       32u
74 #define CAN_WMB_COUNT                         4u
75 
76 /** FLEXCAN - Register Layout Typedef */
77 typedef struct {
78   __IO uint32_t MCR;                               /**< Module Configuration Register, offset: 0x0 */
79   __IO uint32_t CTRL1;                             /**< Control 1 Register, offset: 0x4 */
80   __IO uint32_t TIMER;                             /**< Free Running Timer, offset: 0x8 */
81   uint8_t RESERVED_0[4];
82   __IO uint32_t RXMGMASK;                          /**< Rx Mailboxes Global Mask Register, offset: 0x10 */
83   __IO uint32_t RX14MASK;                          /**< Rx 14 Mask Register, offset: 0x14 */
84   __IO uint32_t RX15MASK;                          /**< Rx 15 Mask Register, offset: 0x18 */
85   __IO uint32_t ECR;                               /**< Error Counter, offset: 0x1C */
86   __IO uint32_t ESR1;                              /**< Error and Status 1 Register, offset: 0x20 */
87   uint8_t RESERVED_1[4];
88   __IO uint32_t IMASK1;                            /**< Interrupt Masks 1 Register, offset: 0x28 */
89   uint8_t RESERVED_2[4];
90   __IO uint32_t IFLAG1;                            /**< Interrupt Flags 1 Register, offset: 0x30 */
91   __IO uint32_t CTRL2;                             /**< Control 2 Register, offset: 0x34 */
92   __I  uint32_t ESR2;                              /**< Error and Status 2 Register, offset: 0x38 */
93   uint8_t RESERVED_3[8];
94   __I  uint32_t CRCR;                              /**< CRC Register, offset: 0x44 */
95   __IO uint32_t RXFGMASK;                          /**< Rx FIFO Global Mask Register, offset: 0x48 */
96   __I  uint32_t RXFIR;                             /**< Rx FIFO Information Register, offset: 0x4C */
97   __IO uint32_t CBT;                               /**< CAN Bit Timing Register, offset: 0x50 */
98   uint8_t RESERVED_4[44];
99   struct {                                         /* offset: 0x80, array step: 0x10 */
100     __IO uint32_t CS;                              /**< Message Buffer 0 CS Register..Message Buffer 95 CS Register, array offset: 0x80, array step: 0x10 */
101     __IO uint32_t ID;                              /**< Message Buffer 0 ID Register..Message Buffer 95 ID Register, array offset: 0x84, array step: 0x10 */
102     __IO uint32_t WORD0;                           /**< Message Buffer 0 WORD0 Register..Message Buffer 95 WORD0 Register, array offset: 0x88, array step: 0x10 */
103     __IO uint32_t WORD1;                           /**< Message Buffer 0 WORD1 Register..Message Buffer 95 WORD1 Register, array offset: 0x8C, array step: 0x10 */
104   } MB[32];
105   uint8_t RESERVED_5[1536];
106   __IO uint32_t RXIMR[CAN_RXIMR_COUNT];            /**< Rx Individual Mask Registers, array offset: 0x880, array step: 0x4 */
107   uint8_t RESERVED_6[512];
108   __IO uint32_t CTRL1_PN;                          /**< Pretended Networking Control 1 Register, offset: 0xB00 */
109   __IO uint32_t CTRL2_PN;                          /**< Pretended Networking Control 2 Register, offset: 0xB04 */
110   __IO uint32_t WU_MTC;                            /**< Pretended Networking Wake Up Match Register, offset: 0xB08 */
111   __IO uint32_t FLT_ID1;                           /**< Pretended Networking ID Filter 1 Register, offset: 0xB0C */
112   __IO uint32_t FLT_DLC;                           /**< Pretended Networking DLC Filter Register, offset: 0xB10 */
113   __IO uint32_t PL1_LO;                            /**< Pretended Networking Payload Low Filter 1 Register, offset: 0xB14 */
114   __IO uint32_t PL1_HI;                            /**< Pretended Networking Payload High Filter 1 Register, offset: 0xB18 */
115   __IO uint32_t FLT_ID2_IDMASK;                    /**< Pretended Networking ID Filter 2 Register / ID Mask Register, offset: 0xB1C */
116   __IO uint32_t PL2_PLMASK_LO;                     /**< Pretended Networking Payload Low Filter 2 Register / Payload Low Mask register, offset: 0xB20 */
117   __IO uint32_t PL2_PLMASK_HI;                     /**< Pretended Networking Payload High Filter 2 low order bits / Payload High Mask register, offset: 0xB24 */
118   uint8_t RESERVED_7[24];
119   struct {                                         /* offset: 0xB40, array step: 0x10 */
120     __I  uint32_t WMBn_CS;                           /**< Wake Up Message Buffer register for C/S, array offset: 0xB40, array step: 0x10 */
121     __I  uint32_t WMBn_ID;                           /**< Wake Up Message Buffer Register for ID, array offset: 0xB44, array step: 0x10 */
122     __I  uint32_t WMBn_D03;                          /**< Wake Up Message Buffer Register for Data 0-3, array offset: 0xB48, array step: 0x10 */
123     __I  uint32_t WMBn_D47;                          /**< Wake Up Message Buffer Register Data 4-7, array offset: 0xB4C, array step: 0x10 */
124   } WMB[CAN_WMB_COUNT];
125   uint8_t RESERVED_8[128];
126   __IO uint32_t FDCTRL;                            /**< CAN FD Control Register, offset: 0xC00 */
127   __IO uint32_t FDCBT;                             /**< CAN FD Bit Timing Register, offset: 0xC04 */
128   __I  uint32_t FDCRC;                             /**< CAN FD CRC Register, offset: 0xC08 */
129 } CAN_Type, *CAN_MemMapPtr;
130 
131 /** Number of instances of the FLEXCAN module. */
132 #define CAN_INSTANCE_COUNT                       (3u)
133 
134 /* FLEXCAN - Peripheral instance base addresses */
135 /** Peripheral FLEXCAN0 base address */
136 #define IP_FLEXCAN0_BASE                         (0x40024000u)
137 /** Peripheral FLEXCAN0 base pointer */
138 #define IP_FLEXCAN0                              ((CAN_Type *)IP_FLEXCAN0_BASE)
139 /** Peripheral FLEXCAN1 base address */
140 #define IP_FLEXCAN1_BASE                         (0x40025000u)
141 /** Peripheral FLEXCAN1 base pointer */
142 #define IP_FLEXCAN1                              ((CAN_Type *)IP_FLEXCAN1_BASE)
143 /** Peripheral FLEXCAN2 base address */
144 #define IP_FLEXCAN2_BASE                         (0x4002B000u)
145 /** Peripheral FLEXCAN2 base pointer */
146 #define IP_FLEXCAN2                              ((CAN_Type *)IP_FLEXCAN2_BASE)
147 /** Array initializer of FLEXCAN peripheral base addresses */
148 #define IP_FLEXCAN_BASE_ADDRS                    { IP_FLEXCAN0_BASE, IP_FLEXCAN1_BASE, IP_FLEXCAN2_BASE }
149 /** Array initializer of FLEXCAN peripheral base pointers */
150 #define IP_FLEXCAN_BASE_PTRS                     { IP_FLEXCAN0, IP_FLEXCAN1, IP_FLEXCAN2 }
151 
152 /* ----------------------------------------------------------------------------
153    -- FLEXCAN Register Masks
154    ---------------------------------------------------------------------------- */
155 
156 /*!
157  * @addtogroup CAN_Register_Masks FLEXCAN Register Masks
158  * @{
159  */
160 
161 /*! @name MCR - Module Configuration Register */
162 /*! @{ */
163 
164 #define CAN_MCR_MAXMB_MASK                   (0x7FU)
165 #define CAN_MCR_MAXMB_SHIFT                  (0U)
166 #define CAN_MCR_MAXMB_WIDTH                  (7U)
167 #define CAN_MCR_MAXMB(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MAXMB_SHIFT)) & CAN_MCR_MAXMB_MASK)
168 
169 #define CAN_MCR_IDAM_MASK                    (0x300U)
170 #define CAN_MCR_IDAM_SHIFT                   (8U)
171 #define CAN_MCR_IDAM_WIDTH                   (2U)
172 #define CAN_MCR_IDAM(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IDAM_SHIFT)) & CAN_MCR_IDAM_MASK)
173 
174 #define CAN_MCR_FDEN_MASK                    (0x800U)
175 #define CAN_MCR_FDEN_SHIFT                   (11U)
176 #define CAN_MCR_FDEN_WIDTH                   (1U)
177 #define CAN_MCR_FDEN(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FDEN_SHIFT)) & CAN_MCR_FDEN_MASK)
178 
179 #define CAN_MCR_AEN_MASK                     (0x1000U)
180 #define CAN_MCR_AEN_SHIFT                    (12U)
181 #define CAN_MCR_AEN_WIDTH                    (1U)
182 #define CAN_MCR_AEN(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_MCR_AEN_SHIFT)) & CAN_MCR_AEN_MASK)
183 
184 #define CAN_MCR_LPRIOEN_MASK                 (0x2000U)
185 #define CAN_MCR_LPRIOEN_SHIFT                (13U)
186 #define CAN_MCR_LPRIOEN_WIDTH                (1U)
187 #define CAN_MCR_LPRIOEN(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPRIOEN_SHIFT)) & CAN_MCR_LPRIOEN_MASK)
188 
189 #define CAN_MCR_PNET_EN_MASK                 (0x4000U)
190 #define CAN_MCR_PNET_EN_SHIFT                (14U)
191 #define CAN_MCR_PNET_EN_WIDTH                (1U)
192 #define CAN_MCR_PNET_EN(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_MCR_PNET_EN_SHIFT)) & CAN_MCR_PNET_EN_MASK)
193 
194 #define CAN_MCR_DMA_MASK                     (0x8000U)
195 #define CAN_MCR_DMA_SHIFT                    (15U)
196 #define CAN_MCR_DMA_WIDTH                    (1U)
197 #define CAN_MCR_DMA(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DMA_SHIFT)) & CAN_MCR_DMA_MASK)
198 
199 #define CAN_MCR_IRMQ_MASK                    (0x10000U)
200 #define CAN_MCR_IRMQ_SHIFT                   (16U)
201 #define CAN_MCR_IRMQ_WIDTH                   (1U)
202 #define CAN_MCR_IRMQ(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IRMQ_SHIFT)) & CAN_MCR_IRMQ_MASK)
203 
204 #define CAN_MCR_SRXDIS_MASK                  (0x20000U)
205 #define CAN_MCR_SRXDIS_SHIFT                 (17U)
206 #define CAN_MCR_SRXDIS_WIDTH                 (1U)
207 #define CAN_MCR_SRXDIS(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SRXDIS_SHIFT)) & CAN_MCR_SRXDIS_MASK)
208 
209 #define CAN_MCR_DOZE_MASK                    (0x40000U)
210 #define CAN_MCR_DOZE_SHIFT                   (18U)
211 #define CAN_MCR_DOZE_WIDTH                   (1U)
212 #define CAN_MCR_DOZE(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DOZE_SHIFT)) & CAN_MCR_DOZE_MASK)
213 
214 #define CAN_MCR_WAKSRC_MASK                  (0x80000U) /* Reserved */
215 #define CAN_MCR_WAKSRC_SHIFT                 (19U)
216 #define CAN_MCR_WAKSRC_WIDTH                 (1U)
217 #define CAN_MCR_WAKSRC(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKSRC_SHIFT)) & CAN_MCR_WAKSRC_MASK)
218 
219 #define CAN_MCR_LPMACK_MASK                  (0x100000U)
220 #define CAN_MCR_LPMACK_SHIFT                 (20U)
221 #define CAN_MCR_LPMACK_WIDTH                 (1U)
222 #define CAN_MCR_LPMACK(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPMACK_SHIFT)) & CAN_MCR_LPMACK_MASK)
223 
224 #define CAN_MCR_WRNEN_MASK                   (0x200000U)
225 #define CAN_MCR_WRNEN_SHIFT                  (21U)
226 #define CAN_MCR_WRNEN_WIDTH                  (1U)
227 #define CAN_MCR_WRNEN(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WRNEN_SHIFT)) & CAN_MCR_WRNEN_MASK)
228 
229 #define CAN_MCR_SLFWAK_MASK                  (0x400000U) /* Reserved */
230 #define CAN_MCR_SLFWAK_SHIFT                 (22U)
231 #define CAN_MCR_SLFWAK_WIDTH                 (1U)
232 #define CAN_MCR_SLFWAK(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SLFWAK_SHIFT)) & CAN_MCR_SLFWAK_MASK)
233 
234 #define CAN_MCR_SUPV_MASK                    (0x800000U)
235 #define CAN_MCR_SUPV_SHIFT                   (23U)
236 #define CAN_MCR_SUPV_WIDTH                   (1U)
237 #define CAN_MCR_SUPV(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SUPV_SHIFT)) & CAN_MCR_SUPV_MASK)
238 
239 #define CAN_MCR_FRZACK_MASK                  (0x1000000U)
240 #define CAN_MCR_FRZACK_SHIFT                 (24U)
241 #define CAN_MCR_FRZACK_WIDTH                 (1U)
242 #define CAN_MCR_FRZACK(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZACK_SHIFT)) & CAN_MCR_FRZACK_MASK)
243 
244 #define CAN_MCR_SOFTRST_MASK                 (0x2000000U)
245 #define CAN_MCR_SOFTRST_SHIFT                (25U)
246 #define CAN_MCR_SOFTRST_WIDTH                (1U)
247 #define CAN_MCR_SOFTRST(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SOFTRST_SHIFT)) & CAN_MCR_SOFTRST_MASK)
248 
249 #define CAN_MCR_WAKMSK_MASK                  (0x4000000U) /* Reserved */
250 #define CAN_MCR_WAKMSK_SHIFT                 (26U)
251 #define CAN_MCR_WAKMSK_WIDTH                 (1U)
252 #define CAN_MCR_WAKMSK(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKMSK_SHIFT)) & CAN_MCR_WAKMSK_MASK)
253 
254 #define CAN_MCR_NOTRDY_MASK                  (0x8000000U)
255 #define CAN_MCR_NOTRDY_SHIFT                 (27U)
256 #define CAN_MCR_NOTRDY_WIDTH                 (1U)
257 #define CAN_MCR_NOTRDY(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_MCR_NOTRDY_SHIFT)) & CAN_MCR_NOTRDY_MASK)
258 
259 #define CAN_MCR_HALT_MASK                    (0x10000000U)
260 #define CAN_MCR_HALT_SHIFT                   (28U)
261 #define CAN_MCR_HALT_WIDTH                   (1U)
262 #define CAN_MCR_HALT(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_MCR_HALT_SHIFT)) & CAN_MCR_HALT_MASK)
263 
264 #define CAN_MCR_RFEN_MASK                    (0x20000000U)
265 #define CAN_MCR_RFEN_SHIFT                   (29U)
266 #define CAN_MCR_RFEN_WIDTH                   (1U)
267 #define CAN_MCR_RFEN(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_MCR_RFEN_SHIFT)) & CAN_MCR_RFEN_MASK)
268 
269 #define CAN_MCR_FRZ_MASK                     (0x40000000U)
270 #define CAN_MCR_FRZ_SHIFT                    (30U)
271 #define CAN_MCR_FRZ_WIDTH                    (1U)
272 #define CAN_MCR_FRZ(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZ_SHIFT)) & CAN_MCR_FRZ_MASK)
273 
274 #define CAN_MCR_MDIS_MASK                    (0x80000000U)
275 #define CAN_MCR_MDIS_SHIFT                   (31U)
276 #define CAN_MCR_MDIS_WIDTH                   (1U)
277 #define CAN_MCR_MDIS(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MDIS_SHIFT)) & CAN_MCR_MDIS_MASK)
278 /*! @} */
279 
280 /*! @name CTRL1 - Control 1 Register */
281 /*! @{ */
282 
283 #define CAN_CTRL1_PROPSEG_MASK               (0x7U)
284 #define CAN_CTRL1_PROPSEG_SHIFT              (0U)
285 #define CAN_CTRL1_PROPSEG_WIDTH              (3U)
286 #define CAN_CTRL1_PROPSEG(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PROPSEG_SHIFT)) & CAN_CTRL1_PROPSEG_MASK)
287 
288 #define CAN_CTRL1_LOM_MASK                   (0x8U)
289 #define CAN_CTRL1_LOM_SHIFT                  (3U)
290 #define CAN_CTRL1_LOM_WIDTH                  (1U)
291 #define CAN_CTRL1_LOM(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LOM_SHIFT)) & CAN_CTRL1_LOM_MASK)
292 
293 #define CAN_CTRL1_LBUF_MASK                  (0x10U)
294 #define CAN_CTRL1_LBUF_SHIFT                 (4U)
295 #define CAN_CTRL1_LBUF_WIDTH                 (1U)
296 #define CAN_CTRL1_LBUF(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LBUF_SHIFT)) & CAN_CTRL1_LBUF_MASK)
297 
298 #define CAN_CTRL1_TSYN_MASK                  (0x20U)
299 #define CAN_CTRL1_TSYN_SHIFT                 (5U)
300 #define CAN_CTRL1_TSYN_WIDTH                 (1U)
301 #define CAN_CTRL1_TSYN(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TSYN_SHIFT)) & CAN_CTRL1_TSYN_MASK)
302 
303 #define CAN_CTRL1_BOFFREC_MASK               (0x40U)
304 #define CAN_CTRL1_BOFFREC_SHIFT              (6U)
305 #define CAN_CTRL1_BOFFREC_WIDTH              (1U)
306 #define CAN_CTRL1_BOFFREC(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFREC_SHIFT)) & CAN_CTRL1_BOFFREC_MASK)
307 
308 #define CAN_CTRL1_SMP_MASK                   (0x80U)
309 #define CAN_CTRL1_SMP_SHIFT                  (7U)
310 #define CAN_CTRL1_SMP_WIDTH                  (1U)
311 #define CAN_CTRL1_SMP(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_SMP_SHIFT)) & CAN_CTRL1_SMP_MASK)
312 
313 #define CAN_CTRL1_RWRNMSK_MASK               (0x400U)
314 #define CAN_CTRL1_RWRNMSK_SHIFT              (10U)
315 #define CAN_CTRL1_RWRNMSK_WIDTH              (1U)
316 #define CAN_CTRL1_RWRNMSK(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RWRNMSK_SHIFT)) & CAN_CTRL1_RWRNMSK_MASK)
317 
318 #define CAN_CTRL1_TWRNMSK_MASK               (0x800U)
319 #define CAN_CTRL1_TWRNMSK_SHIFT              (11U)
320 #define CAN_CTRL1_TWRNMSK_WIDTH              (1U)
321 #define CAN_CTRL1_TWRNMSK(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TWRNMSK_SHIFT)) & CAN_CTRL1_TWRNMSK_MASK)
322 
323 #define CAN_CTRL1_LPB_MASK                   (0x1000U)
324 #define CAN_CTRL1_LPB_SHIFT                  (12U)
325 #define CAN_CTRL1_LPB_WIDTH                  (1U)
326 #define CAN_CTRL1_LPB(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LPB_SHIFT)) & CAN_CTRL1_LPB_MASK)
327 
328 #define CAN_CTRL1_CLKSRC_MASK                (0x2000U)
329 #define CAN_CTRL1_CLKSRC_SHIFT               (13U)
330 #define CAN_CTRL1_CLKSRC_WIDTH               (1U)
331 #define CAN_CTRL1_CLKSRC(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_CLKSRC_SHIFT)) & CAN_CTRL1_CLKSRC_MASK)
332 
333 #define CAN_CTRL1_ERRMSK_MASK                (0x4000U)
334 #define CAN_CTRL1_ERRMSK_SHIFT               (14U)
335 #define CAN_CTRL1_ERRMSK_WIDTH               (1U)
336 #define CAN_CTRL1_ERRMSK(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_ERRMSK_SHIFT)) & CAN_CTRL1_ERRMSK_MASK)
337 
338 #define CAN_CTRL1_BOFFMSK_MASK               (0x8000U)
339 #define CAN_CTRL1_BOFFMSK_SHIFT              (15U)
340 #define CAN_CTRL1_BOFFMSK_WIDTH              (1U)
341 #define CAN_CTRL1_BOFFMSK(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFMSK_SHIFT)) & CAN_CTRL1_BOFFMSK_MASK)
342 
343 #define CAN_CTRL1_PSEG2_MASK                 (0x70000U)
344 #define CAN_CTRL1_PSEG2_SHIFT                (16U)
345 #define CAN_CTRL1_PSEG2_WIDTH                (3U)
346 #define CAN_CTRL1_PSEG2(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG2_SHIFT)) & CAN_CTRL1_PSEG2_MASK)
347 
348 #define CAN_CTRL1_PSEG1_MASK                 (0x380000U)
349 #define CAN_CTRL1_PSEG1_SHIFT                (19U)
350 #define CAN_CTRL1_PSEG1_WIDTH                (3U)
351 #define CAN_CTRL1_PSEG1(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG1_SHIFT)) & CAN_CTRL1_PSEG1_MASK)
352 
353 #define CAN_CTRL1_RJW_MASK                   (0xC00000U)
354 #define CAN_CTRL1_RJW_SHIFT                  (22U)
355 #define CAN_CTRL1_RJW_WIDTH                  (2U)
356 #define CAN_CTRL1_RJW(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RJW_SHIFT)) & CAN_CTRL1_RJW_MASK)
357 
358 #define CAN_CTRL1_PRESDIV_MASK               (0xFF000000U)
359 #define CAN_CTRL1_PRESDIV_SHIFT              (24U)
360 #define CAN_CTRL1_PRESDIV_WIDTH              (8U)
361 #define CAN_CTRL1_PRESDIV(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PRESDIV_SHIFT)) & CAN_CTRL1_PRESDIV_MASK)
362 /*! @} */
363 
364 /*! @name TIMER - Free Running Timer */
365 /*! @{ */
366 
367 #define CAN_TIMER_TIMER_MASK                 (0xFFFFU)
368 #define CAN_TIMER_TIMER_SHIFT                (0U)
369 #define CAN_TIMER_TIMER_WIDTH                (16U)
370 #define CAN_TIMER_TIMER(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_TIMER_TIMER_SHIFT)) & CAN_TIMER_TIMER_MASK)
371 /*! @} */
372 
373 /*! @name RXMGMASK - Rx Mailboxes Global Mask Register */
374 /*! @{ */
375 
376 #define CAN_RXMGMASK_MG_MASK                 (0xFFFFFFFFU)
377 #define CAN_RXMGMASK_MG_SHIFT                (0U)
378 #define CAN_RXMGMASK_MG_WIDTH                (32U)
379 #define CAN_RXMGMASK_MG(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_RXMGMASK_MG_SHIFT)) & CAN_RXMGMASK_MG_MASK)
380 /*! @} */
381 
382 /*! @name RX14MASK - Rx 14 Mask Register */
383 /*! @{ */
384 
385 #define CAN_RX14MASK_RX14M_MASK              (0xFFFFFFFFU)
386 #define CAN_RX14MASK_RX14M_SHIFT             (0U)
387 #define CAN_RX14MASK_RX14M_WIDTH             (32U)
388 #define CAN_RX14MASK_RX14M(x)                (((uint32_t)(((uint32_t)(x)) << CAN_RX14MASK_RX14M_SHIFT)) & CAN_RX14MASK_RX14M_MASK)
389 /*! @} */
390 
391 /*! @name RX15MASK - Rx 15 Mask Register */
392 /*! @{ */
393 
394 #define CAN_RX15MASK_RX15M_MASK              (0xFFFFFFFFU)
395 #define CAN_RX15MASK_RX15M_SHIFT             (0U)
396 #define CAN_RX15MASK_RX15M_WIDTH             (32U)
397 #define CAN_RX15MASK_RX15M(x)                (((uint32_t)(((uint32_t)(x)) << CAN_RX15MASK_RX15M_SHIFT)) & CAN_RX15MASK_RX15M_MASK)
398 /*! @} */
399 
400 /*! @name ECR - Error Counter */
401 /*! @{ */
402 
403 #define CAN_ECR_TXERRCNT_MASK                (0xFFU)
404 #define CAN_ECR_TXERRCNT_SHIFT               (0U)
405 #define CAN_ECR_TXERRCNT_WIDTH               (8U)
406 #define CAN_ECR_TXERRCNT(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_SHIFT)) & CAN_ECR_TXERRCNT_MASK)
407 
408 #define CAN_ECR_RXERRCNT_MASK                (0xFF00U)
409 #define CAN_ECR_RXERRCNT_SHIFT               (8U)
410 #define CAN_ECR_RXERRCNT_WIDTH               (8U)
411 #define CAN_ECR_RXERRCNT(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_SHIFT)) & CAN_ECR_RXERRCNT_MASK)
412 
413 #define CAN_ECR_TXERRCNT_FAST_MASK           (0xFF0000U)
414 #define CAN_ECR_TXERRCNT_FAST_SHIFT          (16U)
415 #define CAN_ECR_TXERRCNT_FAST_WIDTH          (8U)
416 #define CAN_ECR_TXERRCNT_FAST(x)             (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_FAST_SHIFT)) & CAN_ECR_TXERRCNT_FAST_MASK)
417 
418 #define CAN_ECR_RXERRCNT_FAST_MASK           (0xFF000000U)
419 #define CAN_ECR_RXERRCNT_FAST_SHIFT          (24U)
420 #define CAN_ECR_RXERRCNT_FAST_WIDTH          (8U)
421 #define CAN_ECR_RXERRCNT_FAST(x)             (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_FAST_SHIFT)) & CAN_ECR_RXERRCNT_FAST_MASK)
422 /*! @} */
423 
424 /*! @name ESR1 - Error and Status 1 Register */
425 /*! @{ */
426 
427 #define CAN_ESR1_WAKINT_MASK                 (0x1U) /* Reserved */
428 #define CAN_ESR1_WAKINT_SHIFT                (0U)
429 #define CAN_ESR1_WAKINT_WIDTH                (1U)
430 #define CAN_ESR1_WAKINT(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_WAKINT_SHIFT)) & CAN_ESR1_WAKINT_MASK)
431 
432 #define CAN_ESR1_ERRINT_MASK                 (0x2U)
433 #define CAN_ESR1_ERRINT_SHIFT                (1U)
434 #define CAN_ESR1_ERRINT_WIDTH                (1U)
435 #define CAN_ESR1_ERRINT(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_SHIFT)) & CAN_ESR1_ERRINT_MASK)
436 
437 #define CAN_ESR1_BOFFINT_MASK                (0x4U)
438 #define CAN_ESR1_BOFFINT_SHIFT               (2U)
439 #define CAN_ESR1_BOFFINT_WIDTH               (1U)
440 #define CAN_ESR1_BOFFINT(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFINT_SHIFT)) & CAN_ESR1_BOFFINT_MASK)
441 
442 #define CAN_ESR1_RX_MASK                     (0x8U)
443 #define CAN_ESR1_RX_SHIFT                    (3U)
444 #define CAN_ESR1_RX_WIDTH                    (1U)
445 #define CAN_ESR1_RX(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RX_SHIFT)) & CAN_ESR1_RX_MASK)
446 
447 #define CAN_ESR1_FLTCONF_MASK                (0x30U)
448 #define CAN_ESR1_FLTCONF_SHIFT               (4U)
449 #define CAN_ESR1_FLTCONF_WIDTH               (2U)
450 #define CAN_ESR1_FLTCONF(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FLTCONF_SHIFT)) & CAN_ESR1_FLTCONF_MASK)
451 
452 #define CAN_ESR1_TX_MASK                     (0x40U)
453 #define CAN_ESR1_TX_SHIFT                    (6U)
454 #define CAN_ESR1_TX_WIDTH                    (1U)
455 #define CAN_ESR1_TX(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TX_SHIFT)) & CAN_ESR1_TX_MASK)
456 
457 #define CAN_ESR1_IDLE_MASK                   (0x80U)
458 #define CAN_ESR1_IDLE_SHIFT                  (7U)
459 #define CAN_ESR1_IDLE_WIDTH                  (1U)
460 #define CAN_ESR1_IDLE(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_IDLE_SHIFT)) & CAN_ESR1_IDLE_MASK)
461 
462 #define CAN_ESR1_RXWRN_MASK                  (0x100U)
463 #define CAN_ESR1_RXWRN_SHIFT                 (8U)
464 #define CAN_ESR1_RXWRN_WIDTH                 (1U)
465 #define CAN_ESR1_RXWRN(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RXWRN_SHIFT)) & CAN_ESR1_RXWRN_MASK)
466 
467 #define CAN_ESR1_TXWRN_MASK                  (0x200U)
468 #define CAN_ESR1_TXWRN_SHIFT                 (9U)
469 #define CAN_ESR1_TXWRN_WIDTH                 (1U)
470 #define CAN_ESR1_TXWRN(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TXWRN_SHIFT)) & CAN_ESR1_TXWRN_MASK)
471 
472 #define CAN_ESR1_STFERR_MASK                 (0x400U)
473 #define CAN_ESR1_STFERR_SHIFT                (10U)
474 #define CAN_ESR1_STFERR_WIDTH                (1U)
475 #define CAN_ESR1_STFERR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_SHIFT)) & CAN_ESR1_STFERR_MASK)
476 
477 #define CAN_ESR1_FRMERR_MASK                 (0x800U)
478 #define CAN_ESR1_FRMERR_SHIFT                (11U)
479 #define CAN_ESR1_FRMERR_WIDTH                (1U)
480 #define CAN_ESR1_FRMERR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_SHIFT)) & CAN_ESR1_FRMERR_MASK)
481 
482 #define CAN_ESR1_CRCERR_MASK                 (0x1000U)
483 #define CAN_ESR1_CRCERR_SHIFT                (12U)
484 #define CAN_ESR1_CRCERR_WIDTH                (1U)
485 #define CAN_ESR1_CRCERR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_SHIFT)) & CAN_ESR1_CRCERR_MASK)
486 
487 #define CAN_ESR1_ACKERR_MASK                 (0x2000U)
488 #define CAN_ESR1_ACKERR_SHIFT                (13U)
489 #define CAN_ESR1_ACKERR_WIDTH                (1U)
490 #define CAN_ESR1_ACKERR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ACKERR_SHIFT)) & CAN_ESR1_ACKERR_MASK)
491 
492 #define CAN_ESR1_BIT0ERR_MASK                (0x4000U)
493 #define CAN_ESR1_BIT0ERR_SHIFT               (14U)
494 #define CAN_ESR1_BIT0ERR_WIDTH               (1U)
495 #define CAN_ESR1_BIT0ERR(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_SHIFT)) & CAN_ESR1_BIT0ERR_MASK)
496 
497 #define CAN_ESR1_BIT1ERR_MASK                (0x8000U)
498 #define CAN_ESR1_BIT1ERR_SHIFT               (15U)
499 #define CAN_ESR1_BIT1ERR_WIDTH               (1U)
500 #define CAN_ESR1_BIT1ERR(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_SHIFT)) & CAN_ESR1_BIT1ERR_MASK)
501 
502 #define CAN_ESR1_RWRNINT_MASK                (0x10000U)
503 #define CAN_ESR1_RWRNINT_SHIFT               (16U)
504 #define CAN_ESR1_RWRNINT_WIDTH               (1U)
505 #define CAN_ESR1_RWRNINT(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RWRNINT_SHIFT)) & CAN_ESR1_RWRNINT_MASK)
506 
507 #define CAN_ESR1_TWRNINT_MASK                (0x20000U)
508 #define CAN_ESR1_TWRNINT_SHIFT               (17U)
509 #define CAN_ESR1_TWRNINT_WIDTH               (1U)
510 #define CAN_ESR1_TWRNINT(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TWRNINT_SHIFT)) & CAN_ESR1_TWRNINT_MASK)
511 
512 #define CAN_ESR1_SYNCH_MASK                  (0x40000U)
513 #define CAN_ESR1_SYNCH_SHIFT                 (18U)
514 #define CAN_ESR1_SYNCH_WIDTH                 (1U)
515 #define CAN_ESR1_SYNCH(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_SYNCH_SHIFT)) & CAN_ESR1_SYNCH_MASK)
516 
517 #define CAN_ESR1_BOFFDONEINT_MASK            (0x80000U)
518 #define CAN_ESR1_BOFFDONEINT_SHIFT           (19U)
519 #define CAN_ESR1_BOFFDONEINT_WIDTH           (1U)
520 #define CAN_ESR1_BOFFDONEINT(x)              (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFDONEINT_SHIFT)) & CAN_ESR1_BOFFDONEINT_MASK)
521 
522 #define CAN_ESR1_ERRINT_FAST_MASK            (0x100000U)
523 #define CAN_ESR1_ERRINT_FAST_SHIFT           (20U)
524 #define CAN_ESR1_ERRINT_FAST_WIDTH           (1U)
525 #define CAN_ESR1_ERRINT_FAST(x)              (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_FAST_SHIFT)) & CAN_ESR1_ERRINT_FAST_MASK)
526 
527 #define CAN_ESR1_ERROVR_MASK                 (0x200000U)
528 #define CAN_ESR1_ERROVR_SHIFT                (21U)
529 #define CAN_ESR1_ERROVR_WIDTH                (1U)
530 #define CAN_ESR1_ERROVR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERROVR_SHIFT)) & CAN_ESR1_ERROVR_MASK)
531 
532 #define CAN_ESR1_STFERR_FAST_MASK            (0x4000000U)
533 #define CAN_ESR1_STFERR_FAST_SHIFT           (26U)
534 #define CAN_ESR1_STFERR_FAST_WIDTH           (1U)
535 #define CAN_ESR1_STFERR_FAST(x)              (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_FAST_SHIFT)) & CAN_ESR1_STFERR_FAST_MASK)
536 
537 #define CAN_ESR1_FRMERR_FAST_MASK            (0x8000000U)
538 #define CAN_ESR1_FRMERR_FAST_SHIFT           (27U)
539 #define CAN_ESR1_FRMERR_FAST_WIDTH           (1U)
540 #define CAN_ESR1_FRMERR_FAST(x)              (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_FAST_SHIFT)) & CAN_ESR1_FRMERR_FAST_MASK)
541 
542 #define CAN_ESR1_CRCERR_FAST_MASK            (0x10000000U)
543 #define CAN_ESR1_CRCERR_FAST_SHIFT           (28U)
544 #define CAN_ESR1_CRCERR_FAST_WIDTH           (1U)
545 #define CAN_ESR1_CRCERR_FAST(x)              (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_FAST_SHIFT)) & CAN_ESR1_CRCERR_FAST_MASK)
546 
547 #define CAN_ESR1_BIT0ERR_FAST_MASK           (0x40000000U)
548 #define CAN_ESR1_BIT0ERR_FAST_SHIFT          (30U)
549 #define CAN_ESR1_BIT0ERR_FAST_WIDTH          (1U)
550 #define CAN_ESR1_BIT0ERR_FAST(x)             (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_FAST_SHIFT)) & CAN_ESR1_BIT0ERR_FAST_MASK)
551 
552 #define CAN_ESR1_BIT1ERR_FAST_MASK           (0x80000000U)
553 #define CAN_ESR1_BIT1ERR_FAST_SHIFT          (31U)
554 #define CAN_ESR1_BIT1ERR_FAST_WIDTH          (1U)
555 #define CAN_ESR1_BIT1ERR_FAST(x)             (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_FAST_SHIFT)) & CAN_ESR1_BIT1ERR_FAST_MASK)
556 /*! @} */
557 
558 /*! @name IMASK1 - Interrupt Masks 1 Register */
559 /*! @{ */
560 
561 #define CAN_IMASK1_BUF15TO0M_MASK            (0xFFFFU)
562 #define CAN_IMASK1_BUF15TO0M_SHIFT           (0U)
563 #define CAN_IMASK1_BUF15TO0M_WIDTH           (16U)
564 #define CAN_IMASK1_BUF15TO0M(x)              (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUF15TO0M_SHIFT)) & CAN_IMASK1_BUF15TO0M_MASK)
565 
566 #define CAN_IMASK1_BUF31TO0M_MASK            (0xFFFFFFFFU)
567 #define CAN_IMASK1_BUF31TO0M_SHIFT           (0U)
568 #define CAN_IMASK1_BUF31TO0M_WIDTH           (32U)
569 #define CAN_IMASK1_BUF31TO0M(x)              (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUF31TO0M_SHIFT)) & CAN_IMASK1_BUF31TO0M_MASK)
570 /*! @} */
571 
572 /*! @name IFLAG1 - Interrupt Flags 1 Register */
573 /*! @{ */
574 
575 #define CAN_IFLAG1_BUF0I_MASK                (0x1U)
576 #define CAN_IFLAG1_BUF0I_SHIFT               (0U)
577 #define CAN_IFLAG1_BUF0I_WIDTH               (1U)
578 #define CAN_IFLAG1_BUF0I(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF0I_SHIFT)) & CAN_IFLAG1_BUF0I_MASK)
579 
580 #define CAN_IFLAG1_BUF4TO1I_MASK             (0x1EU)
581 #define CAN_IFLAG1_BUF4TO1I_SHIFT            (1U)
582 #define CAN_IFLAG1_BUF4TO1I_WIDTH            (4U)
583 #define CAN_IFLAG1_BUF4TO1I(x)               (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF4TO1I_SHIFT)) & CAN_IFLAG1_BUF4TO1I_MASK)
584 
585 #define CAN_IFLAG1_BUF5I_MASK                (0x20U)
586 #define CAN_IFLAG1_BUF5I_SHIFT               (5U)
587 #define CAN_IFLAG1_BUF5I_WIDTH               (1U)
588 #define CAN_IFLAG1_BUF5I(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF5I_SHIFT)) & CAN_IFLAG1_BUF5I_MASK)
589 
590 #define CAN_IFLAG1_BUF6I_MASK                (0x40U)
591 #define CAN_IFLAG1_BUF6I_SHIFT               (6U)
592 #define CAN_IFLAG1_BUF6I_WIDTH               (1U)
593 #define CAN_IFLAG1_BUF6I(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF6I_SHIFT)) & CAN_IFLAG1_BUF6I_MASK)
594 
595 #define CAN_IFLAG1_BUF7I_MASK                (0x80U)
596 #define CAN_IFLAG1_BUF7I_SHIFT               (7U)
597 #define CAN_IFLAG1_BUF7I_WIDTH               (1U)
598 #define CAN_IFLAG1_BUF7I(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF7I_SHIFT)) & CAN_IFLAG1_BUF7I_MASK)
599 
600 #define CAN_IFLAG1_BUF15TO8I_MASK            (0xFF00U)
601 #define CAN_IFLAG1_BUF15TO8I_SHIFT           (8U)
602 #define CAN_IFLAG1_BUF15TO8I_WIDTH           (8U)
603 #define CAN_IFLAG1_BUF15TO8I(x)              (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF15TO8I_SHIFT)) & CAN_IFLAG1_BUF15TO8I_MASK)
604 
605 #define CAN_IFLAG1_BUF31TO8I_MASK            (0xFFFFFF00U)
606 #define CAN_IFLAG1_BUF31TO8I_SHIFT           (8U)
607 #define CAN_IFLAG1_BUF31TO8I_WIDTH           (24U)
608 #define CAN_IFLAG1_BUF31TO8I(x)              (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF31TO8I_SHIFT)) & CAN_IFLAG1_BUF31TO8I_MASK)
609 /*! @} */
610 
611 /*! @name CTRL2 - Control 2 Register */
612 /*! @{ */
613 
614 #define CAN_CTRL2_EDFLTDIS_MASK              (0x800U)
615 #define CAN_CTRL2_EDFLTDIS_SHIFT             (11U)
616 #define CAN_CTRL2_EDFLTDIS_WIDTH             (1U)
617 #define CAN_CTRL2_EDFLTDIS(x)                (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EDFLTDIS_SHIFT)) & CAN_CTRL2_EDFLTDIS_MASK)
618 
619 #define CAN_CTRL2_ISOCANFDEN_MASK            (0x1000U)
620 #define CAN_CTRL2_ISOCANFDEN_SHIFT           (12U)
621 #define CAN_CTRL2_ISOCANFDEN_WIDTH           (1U)
622 #define CAN_CTRL2_ISOCANFDEN(x)              (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ISOCANFDEN_SHIFT)) & CAN_CTRL2_ISOCANFDEN_MASK)
623 
624 #define CAN_CTRL2_PREXCEN_MASK               (0x4000U)
625 #define CAN_CTRL2_PREXCEN_SHIFT              (14U)
626 #define CAN_CTRL2_PREXCEN_WIDTH              (1U)
627 #define CAN_CTRL2_PREXCEN(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_PREXCEN_SHIFT)) & CAN_CTRL2_PREXCEN_MASK)
628 
629 #define CAN_CTRL2_TIMER_SRC_MASK             (0x8000U)
630 #define CAN_CTRL2_TIMER_SRC_SHIFT            (15U)
631 #define CAN_CTRL2_TIMER_SRC_WIDTH            (1U)
632 #define CAN_CTRL2_TIMER_SRC(x)               (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TIMER_SRC_SHIFT)) & CAN_CTRL2_TIMER_SRC_MASK)
633 
634 #define CAN_CTRL2_EACEN_MASK                 (0x10000U)
635 #define CAN_CTRL2_EACEN_SHIFT                (16U)
636 #define CAN_CTRL2_EACEN_WIDTH                (1U)
637 #define CAN_CTRL2_EACEN(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EACEN_SHIFT)) & CAN_CTRL2_EACEN_MASK)
638 
639 #define CAN_CTRL2_RRS_MASK                   (0x20000U)
640 #define CAN_CTRL2_RRS_SHIFT                  (17U)
641 #define CAN_CTRL2_RRS_WIDTH                  (1U)
642 #define CAN_CTRL2_RRS(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RRS_SHIFT)) & CAN_CTRL2_RRS_MASK)
643 
644 #define CAN_CTRL2_MRP_MASK                   (0x40000U)
645 #define CAN_CTRL2_MRP_SHIFT                  (18U)
646 #define CAN_CTRL2_MRP_WIDTH                  (1U)
647 #define CAN_CTRL2_MRP(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MRP_SHIFT)) & CAN_CTRL2_MRP_MASK)
648 
649 #define CAN_CTRL2_TASD_MASK                  (0xF80000U)
650 #define CAN_CTRL2_TASD_SHIFT                 (19U)
651 #define CAN_CTRL2_TASD_WIDTH                 (5U)
652 #define CAN_CTRL2_TASD(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TASD_SHIFT)) & CAN_CTRL2_TASD_MASK)
653 
654 #define CAN_CTRL2_RFFN_MASK                  (0xF000000U)
655 #define CAN_CTRL2_RFFN_SHIFT                 (24U)
656 #define CAN_CTRL2_RFFN_WIDTH                 (4U)
657 #define CAN_CTRL2_RFFN(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RFFN_SHIFT)) & CAN_CTRL2_RFFN_MASK)
658 
659 #define CAN_CTRL2_BOFFDONEMSK_MASK           (0x40000000U)
660 #define CAN_CTRL2_BOFFDONEMSK_SHIFT          (30U)
661 #define CAN_CTRL2_BOFFDONEMSK_WIDTH          (1U)
662 #define CAN_CTRL2_BOFFDONEMSK(x)             (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_BOFFDONEMSK_SHIFT)) & CAN_CTRL2_BOFFDONEMSK_MASK)
663 
664 #define CAN_CTRL2_ERRMSK_FAST_MASK           (0x80000000U)
665 #define CAN_CTRL2_ERRMSK_FAST_SHIFT          (31U)
666 #define CAN_CTRL2_ERRMSK_FAST_WIDTH          (1U)
667 #define CAN_CTRL2_ERRMSK_FAST(x)             (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ERRMSK_FAST_SHIFT)) & CAN_CTRL2_ERRMSK_FAST_MASK)
668 /*! @} */
669 
670 /*! @name ESR2 - Error and Status 2 Register */
671 /*! @{ */
672 
673 #define CAN_ESR2_IMB_MASK                    (0x2000U)
674 #define CAN_ESR2_IMB_SHIFT                   (13U)
675 #define CAN_ESR2_IMB_WIDTH                   (1U)
676 #define CAN_ESR2_IMB(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_IMB_SHIFT)) & CAN_ESR2_IMB_MASK)
677 
678 #define CAN_ESR2_VPS_MASK                    (0x4000U)
679 #define CAN_ESR2_VPS_SHIFT                   (14U)
680 #define CAN_ESR2_VPS_WIDTH                   (1U)
681 #define CAN_ESR2_VPS(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_VPS_SHIFT)) & CAN_ESR2_VPS_MASK)
682 
683 #define CAN_ESR2_LPTM_MASK                   (0x7F0000U)
684 #define CAN_ESR2_LPTM_SHIFT                  (16U)
685 #define CAN_ESR2_LPTM_WIDTH                  (7U)
686 #define CAN_ESR2_LPTM(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_LPTM_SHIFT)) & CAN_ESR2_LPTM_MASK)
687 /*! @} */
688 
689 /*! @name CRCR - CRC Register */
690 /*! @{ */
691 
692 #define CAN_CRCR_TXCRC_MASK                  (0x7FFFU)
693 #define CAN_CRCR_TXCRC_SHIFT                 (0U)
694 #define CAN_CRCR_TXCRC_WIDTH                 (15U)
695 #define CAN_CRCR_TXCRC(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_TXCRC_SHIFT)) & CAN_CRCR_TXCRC_MASK)
696 
697 #define CAN_CRCR_MBCRC_MASK                  (0x7F0000U)
698 #define CAN_CRCR_MBCRC_SHIFT                 (16U)
699 #define CAN_CRCR_MBCRC_WIDTH                 (7U)
700 #define CAN_CRCR_MBCRC(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_MBCRC_SHIFT)) & CAN_CRCR_MBCRC_MASK)
701 /*! @} */
702 
703 /*! @name RXFGMASK - Rx FIFO Global Mask Register */
704 /*! @{ */
705 
706 #define CAN_RXFGMASK_FGM_MASK                (0xFFFFFFFFU)
707 #define CAN_RXFGMASK_FGM_SHIFT               (0U)
708 #define CAN_RXFGMASK_FGM_WIDTH               (32U)
709 #define CAN_RXFGMASK_FGM(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_RXFGMASK_FGM_SHIFT)) & CAN_RXFGMASK_FGM_MASK)
710 /*! @} */
711 
712 /*! @name RXFIR - Rx FIFO Information Register */
713 /*! @{ */
714 
715 #define CAN_RXFIR_IDHIT_MASK                 (0x1FFU)
716 #define CAN_RXFIR_IDHIT_SHIFT                (0U)
717 #define CAN_RXFIR_IDHIT_WIDTH                (9U)
718 #define CAN_RXFIR_IDHIT(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_RXFIR_IDHIT_SHIFT)) & CAN_RXFIR_IDHIT_MASK)
719 /*! @} */
720 
721 /*! @name CBT - CAN Bit Timing Register */
722 /*! @{ */
723 
724 #define CAN_CBT_EPSEG2_MASK                  (0x1FU)
725 #define CAN_CBT_EPSEG2_SHIFT                 (0U)
726 #define CAN_CBT_EPSEG2_WIDTH                 (5U)
727 #define CAN_CBT_EPSEG2(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG2_SHIFT)) & CAN_CBT_EPSEG2_MASK)
728 
729 #define CAN_CBT_EPSEG1_MASK                  (0x3E0U)
730 #define CAN_CBT_EPSEG1_SHIFT                 (5U)
731 #define CAN_CBT_EPSEG1_WIDTH                 (5U)
732 #define CAN_CBT_EPSEG1(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG1_SHIFT)) & CAN_CBT_EPSEG1_MASK)
733 
734 #define CAN_CBT_EPROPSEG_MASK                (0xFC00U)
735 #define CAN_CBT_EPROPSEG_SHIFT               (10U)
736 #define CAN_CBT_EPROPSEG_WIDTH               (6U)
737 #define CAN_CBT_EPROPSEG(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPROPSEG_SHIFT)) & CAN_CBT_EPROPSEG_MASK)
738 
739 #define CAN_CBT_ERJW_MASK                    (0x1F0000U)  /* Merged from fields with different position or width, of widths (4, 5), largest definition used */
740 #define CAN_CBT_ERJW_SHIFT                   (16U)
741 #define CAN_CBT_ERJW_WIDTH                   (5U)
742 #define CAN_CBT_ERJW(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_CBT_ERJW_SHIFT)) & CAN_CBT_ERJW_MASK)  /* Merged from fields with different position or width, of widths (4, 5), largest definition used */
743 
744 #define CAN_CBT_EPRESDIV_MASK                (0x7FE00000U)
745 #define CAN_CBT_EPRESDIV_SHIFT               (21U)
746 #define CAN_CBT_EPRESDIV_WIDTH               (10U)
747 #define CAN_CBT_EPRESDIV(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPRESDIV_SHIFT)) & CAN_CBT_EPRESDIV_MASK)
748 
749 #define CAN_CBT_BTF_MASK                     (0x80000000U)
750 #define CAN_CBT_BTF_SHIFT                    (31U)
751 #define CAN_CBT_BTF_WIDTH                    (1U)
752 #define CAN_CBT_BTF(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_CBT_BTF_SHIFT)) & CAN_CBT_BTF_MASK)
753 /*! @} */
754 
755 /*! @name CS - Message Buffer 0 CS Register..Message Buffer 31 CS Register */
756 /*! @{ */
757 
758 #define CAN_CS_TIME_STAMP_MASK               (0xFFFFU)
759 #define CAN_CS_TIME_STAMP_SHIFT              (0U)
760 #define CAN_CS_TIME_STAMP(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CS_TIME_STAMP_SHIFT)) & CAN_CS_TIME_STAMP_MASK)
761 
762 #define CAN_CS_DLC_MASK                      (0xF0000U)
763 #define CAN_CS_DLC_SHIFT                     (16U)
764 #define CAN_CS_DLC(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_DLC_SHIFT)) & CAN_CS_DLC_MASK)
765 
766 #define CAN_CS_RTR_MASK                      (0x100000U)
767 #define CAN_CS_RTR_SHIFT                     (20U)
768 #define CAN_CS_RTR(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_RTR_SHIFT)) & CAN_CS_RTR_MASK)
769 
770 #define CAN_CS_IDE_MASK                      (0x200000U)
771 #define CAN_CS_IDE_SHIFT                     (21U)
772 #define CAN_CS_IDE(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_IDE_SHIFT)) & CAN_CS_IDE_MASK)
773 
774 #define CAN_CS_SRR_MASK                      (0x400000U)
775 #define CAN_CS_SRR_SHIFT                     (22U)
776 #define CAN_CS_SRR(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_SRR_SHIFT)) & CAN_CS_SRR_MASK)
777 
778 #define CAN_CS_CODE_MASK                     (0xF000000U)
779 #define CAN_CS_CODE_SHIFT                    (24U)
780 #define CAN_CS_CODE(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_CS_CODE_SHIFT)) & CAN_CS_CODE_MASK)
781 
782 #define CAN_CS_ESI_MASK                      (0x20000000U)
783 #define CAN_CS_ESI_SHIFT                     (29U)
784 #define CAN_CS_ESI(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_ESI_SHIFT)) & CAN_CS_ESI_MASK)
785 
786 #define CAN_CS_BRS_MASK                      (0x40000000U)
787 #define CAN_CS_BRS_SHIFT                     (30U)
788 #define CAN_CS_BRS(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_BRS_SHIFT)) & CAN_CS_BRS_MASK)
789 
790 #define CAN_CS_EDL_MASK                      (0x80000000U)
791 #define CAN_CS_EDL_SHIFT                     (31U)
792 #define CAN_CS_EDL(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_EDL_SHIFT)) & CAN_CS_EDL_MASK)
793 /*! @} */
794 
795 /* The count of CAN_CS */
796 #define CAN_CS_COUNT                         (32U)
797 
798 /*! @name ID - Message Buffer 0 ID Register..Message Buffer 31 ID Register */
799 /*! @{ */
800 
801 #define CAN_ID_EXT_MASK                      (0x3FFFFU)
802 #define CAN_ID_EXT_SHIFT                     (0U)
803 #define CAN_ID_EXT(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_ID_EXT_SHIFT)) & CAN_ID_EXT_MASK)
804 
805 #define CAN_ID_STD_MASK                      (0x1FFC0000U)
806 #define CAN_ID_STD_SHIFT                     (18U)
807 #define CAN_ID_STD(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_ID_STD_SHIFT)) & CAN_ID_STD_MASK)
808 
809 #define CAN_ID_PRIO_MASK                     (0xE0000000U)
810 #define CAN_ID_PRIO_SHIFT                    (29U)
811 #define CAN_ID_PRIO(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_ID_PRIO_SHIFT)) & CAN_ID_PRIO_MASK)
812 /*! @} */
813 
814 /* The count of CAN_ID */
815 #define CAN_ID_COUNT                         (32U)
816 
817 /*! @name WORD0 - Message Buffer 0 WORD0 Register..Message Buffer 31 WORD0 Register */
818 /*! @{ */
819 
820 #define CAN_WORD0_DATA_BYTE_3_MASK           (0xFFU)
821 #define CAN_WORD0_DATA_BYTE_3_SHIFT          (0U)
822 #define CAN_WORD0_DATA_BYTE_3(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_3_SHIFT)) & CAN_WORD0_DATA_BYTE_3_MASK)
823 
824 #define CAN_WORD0_DATA_BYTE_2_MASK           (0xFF00U)
825 #define CAN_WORD0_DATA_BYTE_2_SHIFT          (8U)
826 #define CAN_WORD0_DATA_BYTE_2(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_2_SHIFT)) & CAN_WORD0_DATA_BYTE_2_MASK)
827 
828 #define CAN_WORD0_DATA_BYTE_1_MASK           (0xFF0000U)
829 #define CAN_WORD0_DATA_BYTE_1_SHIFT          (16U)
830 #define CAN_WORD0_DATA_BYTE_1(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_1_SHIFT)) & CAN_WORD0_DATA_BYTE_1_MASK)
831 
832 #define CAN_WORD0_DATA_BYTE_0_MASK           (0xFF000000U)
833 #define CAN_WORD0_DATA_BYTE_0_SHIFT          (24U)
834 #define CAN_WORD0_DATA_BYTE_0(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_0_SHIFT)) & CAN_WORD0_DATA_BYTE_0_MASK)
835 /*! @} */
836 
837 /* The count of CAN_WORD0 */
838 #define CAN_WORD0_COUNT                      (32U)
839 
840 /*! @name WORD1 - Message Buffer 0 WORD1 Register..Message Buffer 31 WORD1 Register */
841 /*! @{ */
842 
843 #define CAN_WORD1_DATA_BYTE_7_MASK           (0xFFU)
844 #define CAN_WORD1_DATA_BYTE_7_SHIFT          (0U)
845 #define CAN_WORD1_DATA_BYTE_7(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_7_SHIFT)) & CAN_WORD1_DATA_BYTE_7_MASK)
846 
847 #define CAN_WORD1_DATA_BYTE_6_MASK           (0xFF00U)
848 #define CAN_WORD1_DATA_BYTE_6_SHIFT          (8U)
849 #define CAN_WORD1_DATA_BYTE_6(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_6_SHIFT)) & CAN_WORD1_DATA_BYTE_6_MASK)
850 
851 #define CAN_WORD1_DATA_BYTE_5_MASK           (0xFF0000U)
852 #define CAN_WORD1_DATA_BYTE_5_SHIFT          (16U)
853 #define CAN_WORD1_DATA_BYTE_5(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_5_SHIFT)) & CAN_WORD1_DATA_BYTE_5_MASK)
854 
855 #define CAN_WORD1_DATA_BYTE_4_MASK           (0xFF000000U)
856 #define CAN_WORD1_DATA_BYTE_4_SHIFT          (24U)
857 #define CAN_WORD1_DATA_BYTE_4(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_4_SHIFT)) & CAN_WORD1_DATA_BYTE_4_MASK)
858 /*! @} */
859 
860 /* The count of CAN_WORD1 */
861 #define CAN_WORD1_COUNT                      (32U)
862 
863 /*! @name RXIMR - Rx Individual Mask Registers */
864 /*! @{ */
865 
866 #define CAN_RXIMR_MI_MASK                    (0xFFFFFFFFU)
867 #define CAN_RXIMR_MI_SHIFT                   (0U)
868 #define CAN_RXIMR_MI_WIDTH                   (32U)
869 #define CAN_RXIMR_MI(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_RXIMR_MI_SHIFT)) & CAN_RXIMR_MI_MASK)
870 /*! @} */
871 
872 /*! @name CTRL1_PN - Pretended Networking Control 1 Register */
873 /*! @{ */
874 
875 #define CAN_CTRL1_PN_FCS_MASK                (0x3U)
876 #define CAN_CTRL1_PN_FCS_SHIFT               (0U)
877 #define CAN_CTRL1_PN_FCS_WIDTH               (2U)
878 #define CAN_CTRL1_PN_FCS(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_FCS_SHIFT)) & CAN_CTRL1_PN_FCS_MASK)
879 
880 #define CAN_CTRL1_PN_IDFS_MASK               (0xCU)
881 #define CAN_CTRL1_PN_IDFS_SHIFT              (2U)
882 #define CAN_CTRL1_PN_IDFS_WIDTH              (2U)
883 #define CAN_CTRL1_PN_IDFS(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_IDFS_SHIFT)) & CAN_CTRL1_PN_IDFS_MASK)
884 
885 #define CAN_CTRL1_PN_PLFS_MASK               (0x30U)
886 #define CAN_CTRL1_PN_PLFS_SHIFT              (4U)
887 #define CAN_CTRL1_PN_PLFS_WIDTH              (2U)
888 #define CAN_CTRL1_PN_PLFS(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_PLFS_SHIFT)) & CAN_CTRL1_PN_PLFS_MASK)
889 
890 #define CAN_CTRL1_PN_NMATCH_MASK             (0xFF00U)
891 #define CAN_CTRL1_PN_NMATCH_SHIFT            (8U)
892 #define CAN_CTRL1_PN_NMATCH_WIDTH            (8U)
893 #define CAN_CTRL1_PN_NMATCH(x)               (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_NMATCH_SHIFT)) & CAN_CTRL1_PN_NMATCH_MASK)
894 
895 #define CAN_CTRL1_PN_WUMF_MSK_MASK           (0x10000U)
896 #define CAN_CTRL1_PN_WUMF_MSK_SHIFT          (16U)
897 #define CAN_CTRL1_PN_WUMF_MSK_WIDTH          (1U)
898 #define CAN_CTRL1_PN_WUMF_MSK(x)             (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_WUMF_MSK_SHIFT)) & CAN_CTRL1_PN_WUMF_MSK_MASK)
899 
900 #define CAN_CTRL1_PN_WTOF_MSK_MASK           (0x20000U)
901 #define CAN_CTRL1_PN_WTOF_MSK_SHIFT          (17U)
902 #define CAN_CTRL1_PN_WTOF_MSK_WIDTH          (1U)
903 #define CAN_CTRL1_PN_WTOF_MSK(x)             (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_WTOF_MSK_SHIFT)) & CAN_CTRL1_PN_WTOF_MSK_MASK)
904 /*! @} */
905 
906 /*! @name CTRL2_PN - Pretended Networking Control 2 Register */
907 /*! @{ */
908 
909 #define CAN_CTRL2_PN_MATCHTO_MASK            (0xFFFFU)
910 #define CAN_CTRL2_PN_MATCHTO_SHIFT           (0U)
911 #define CAN_CTRL2_PN_MATCHTO_WIDTH           (16U)
912 #define CAN_CTRL2_PN_MATCHTO(x)              (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_PN_MATCHTO_SHIFT)) & CAN_CTRL2_PN_MATCHTO_MASK)
913 /*! @} */
914 
915 /*! @name WU_MTC - Pretended Networking Wake Up Match Register */
916 /*! @{ */
917 
918 #define CAN_WU_MTC_MCOUNTER_MASK             (0xFF00U)
919 #define CAN_WU_MTC_MCOUNTER_SHIFT            (8U)
920 #define CAN_WU_MTC_MCOUNTER_WIDTH            (8U)
921 #define CAN_WU_MTC_MCOUNTER(x)               (((uint32_t)(((uint32_t)(x)) << CAN_WU_MTC_MCOUNTER_SHIFT)) & CAN_WU_MTC_MCOUNTER_MASK)
922 
923 #define CAN_WU_MTC_WUMF_MASK                 (0x10000U)
924 #define CAN_WU_MTC_WUMF_SHIFT                (16U)
925 #define CAN_WU_MTC_WUMF_WIDTH                (1U)
926 #define CAN_WU_MTC_WUMF(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WU_MTC_WUMF_SHIFT)) & CAN_WU_MTC_WUMF_MASK)
927 
928 #define CAN_WU_MTC_WTOF_MASK                 (0x20000U)
929 #define CAN_WU_MTC_WTOF_SHIFT                (17U)
930 #define CAN_WU_MTC_WTOF_WIDTH                (1U)
931 #define CAN_WU_MTC_WTOF(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WU_MTC_WTOF_SHIFT)) & CAN_WU_MTC_WTOF_MASK)
932 /*! @} */
933 
934 /*! @name FLT_ID1 - Pretended Networking ID Filter 1 Register */
935 /*! @{ */
936 
937 #define CAN_FLT_ID1_FLT_ID1_MASK             (0x1FFFFFFFU)
938 #define CAN_FLT_ID1_FLT_ID1_SHIFT            (0U)
939 #define CAN_FLT_ID1_FLT_ID1_WIDTH            (29U)
940 #define CAN_FLT_ID1_FLT_ID1(x)               (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID1_FLT_ID1_SHIFT)) & CAN_FLT_ID1_FLT_ID1_MASK)
941 
942 #define CAN_FLT_ID1_FLT_RTR_MASK             (0x20000000U)
943 #define CAN_FLT_ID1_FLT_RTR_SHIFT            (29U)
944 #define CAN_FLT_ID1_FLT_RTR_WIDTH            (1U)
945 #define CAN_FLT_ID1_FLT_RTR(x)               (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID1_FLT_RTR_SHIFT)) & CAN_FLT_ID1_FLT_RTR_MASK)
946 
947 #define CAN_FLT_ID1_FLT_IDE_MASK             (0x40000000U)
948 #define CAN_FLT_ID1_FLT_IDE_SHIFT            (30U)
949 #define CAN_FLT_ID1_FLT_IDE_WIDTH            (1U)
950 #define CAN_FLT_ID1_FLT_IDE(x)               (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID1_FLT_IDE_SHIFT)) & CAN_FLT_ID1_FLT_IDE_MASK)
951 /*! @} */
952 
953 /*! @name FLT_DLC - Pretended Networking DLC Filter Register */
954 /*! @{ */
955 
956 #define CAN_FLT_DLC_FLT_DLC_HI_MASK          (0xFU)
957 #define CAN_FLT_DLC_FLT_DLC_HI_SHIFT         (0U)
958 #define CAN_FLT_DLC_FLT_DLC_HI_WIDTH         (4U)
959 #define CAN_FLT_DLC_FLT_DLC_HI(x)            (((uint32_t)(((uint32_t)(x)) << CAN_FLT_DLC_FLT_DLC_HI_SHIFT)) & CAN_FLT_DLC_FLT_DLC_HI_MASK)
960 
961 #define CAN_FLT_DLC_FLT_DLC_LO_MASK          (0xF0000U)
962 #define CAN_FLT_DLC_FLT_DLC_LO_SHIFT         (16U)
963 #define CAN_FLT_DLC_FLT_DLC_LO_WIDTH         (4U)
964 #define CAN_FLT_DLC_FLT_DLC_LO(x)            (((uint32_t)(((uint32_t)(x)) << CAN_FLT_DLC_FLT_DLC_LO_SHIFT)) & CAN_FLT_DLC_FLT_DLC_LO_MASK)
965 /*! @} */
966 
967 /*! @name PL1_LO - Pretended Networking Payload Low Filter 1 Register */
968 /*! @{ */
969 
970 #define CAN_PL1_LO_Data_byte_3_MASK          (0xFFU)
971 #define CAN_PL1_LO_Data_byte_3_SHIFT         (0U)
972 #define CAN_PL1_LO_Data_byte_3_WIDTH         (8U)
973 #define CAN_PL1_LO_Data_byte_3(x)            (((uint32_t)(((uint32_t)(x)) << CAN_PL1_LO_Data_byte_3_SHIFT)) & CAN_PL1_LO_Data_byte_3_MASK)
974 
975 #define CAN_PL1_LO_Data_byte_2_MASK          (0xFF00U)
976 #define CAN_PL1_LO_Data_byte_2_SHIFT         (8U)
977 #define CAN_PL1_LO_Data_byte_2_WIDTH         (8U)
978 #define CAN_PL1_LO_Data_byte_2(x)            (((uint32_t)(((uint32_t)(x)) << CAN_PL1_LO_Data_byte_2_SHIFT)) & CAN_PL1_LO_Data_byte_2_MASK)
979 
980 #define CAN_PL1_LO_Data_byte_1_MASK          (0xFF0000U)
981 #define CAN_PL1_LO_Data_byte_1_SHIFT         (16U)
982 #define CAN_PL1_LO_Data_byte_1_WIDTH         (8U)
983 #define CAN_PL1_LO_Data_byte_1(x)            (((uint32_t)(((uint32_t)(x)) << CAN_PL1_LO_Data_byte_1_SHIFT)) & CAN_PL1_LO_Data_byte_1_MASK)
984 
985 #define CAN_PL1_LO_Data_byte_0_MASK          (0xFF000000U)
986 #define CAN_PL1_LO_Data_byte_0_SHIFT         (24U)
987 #define CAN_PL1_LO_Data_byte_0_WIDTH         (8U)
988 #define CAN_PL1_LO_Data_byte_0(x)            (((uint32_t)(((uint32_t)(x)) << CAN_PL1_LO_Data_byte_0_SHIFT)) & CAN_PL1_LO_Data_byte_0_MASK)
989 /*! @} */
990 
991 /*! @name PL1_HI - Pretended Networking Payload High Filter 1 Register */
992 /*! @{ */
993 
994 #define CAN_PL1_HI_Data_byte_7_MASK          (0xFFU)
995 #define CAN_PL1_HI_Data_byte_7_SHIFT         (0U)
996 #define CAN_PL1_HI_Data_byte_7_WIDTH         (8U)
997 #define CAN_PL1_HI_Data_byte_7(x)            (((uint32_t)(((uint32_t)(x)) << CAN_PL1_HI_Data_byte_7_SHIFT)) & CAN_PL1_HI_Data_byte_7_MASK)
998 
999 #define CAN_PL1_HI_Data_byte_6_MASK          (0xFF00U)
1000 #define CAN_PL1_HI_Data_byte_6_SHIFT         (8U)
1001 #define CAN_PL1_HI_Data_byte_6_WIDTH         (8U)
1002 #define CAN_PL1_HI_Data_byte_6(x)            (((uint32_t)(((uint32_t)(x)) << CAN_PL1_HI_Data_byte_6_SHIFT)) & CAN_PL1_HI_Data_byte_6_MASK)
1003 
1004 #define CAN_PL1_HI_Data_byte_5_MASK          (0xFF0000U)
1005 #define CAN_PL1_HI_Data_byte_5_SHIFT         (16U)
1006 #define CAN_PL1_HI_Data_byte_5_WIDTH         (8U)
1007 #define CAN_PL1_HI_Data_byte_5(x)            (((uint32_t)(((uint32_t)(x)) << CAN_PL1_HI_Data_byte_5_SHIFT)) & CAN_PL1_HI_Data_byte_5_MASK)
1008 
1009 #define CAN_PL1_HI_Data_byte_4_MASK          (0xFF000000U)
1010 #define CAN_PL1_HI_Data_byte_4_SHIFT         (24U)
1011 #define CAN_PL1_HI_Data_byte_4_WIDTH         (8U)
1012 #define CAN_PL1_HI_Data_byte_4(x)            (((uint32_t)(((uint32_t)(x)) << CAN_PL1_HI_Data_byte_4_SHIFT)) & CAN_PL1_HI_Data_byte_4_MASK)
1013 /*! @} */
1014 
1015 /*! @name FLT_ID2_IDMASK - Pretended Networking ID Filter 2 Register / ID Mask Register */
1016 /*! @{ */
1017 
1018 #define CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK_MASK (0x1FFFFFFFU)
1019 #define CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK_SHIFT (0U)
1020 #define CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK_WIDTH (29U)
1021 #define CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK(x) (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK_SHIFT)) & CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK_MASK)
1022 
1023 #define CAN_FLT_ID2_IDMASK_RTR_MSK_MASK      (0x20000000U)
1024 #define CAN_FLT_ID2_IDMASK_RTR_MSK_SHIFT     (29U)
1025 #define CAN_FLT_ID2_IDMASK_RTR_MSK_WIDTH     (1U)
1026 #define CAN_FLT_ID2_IDMASK_RTR_MSK(x)        (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID2_IDMASK_RTR_MSK_SHIFT)) & CAN_FLT_ID2_IDMASK_RTR_MSK_MASK)
1027 
1028 #define CAN_FLT_ID2_IDMASK_IDE_MSK_MASK      (0x40000000U)
1029 #define CAN_FLT_ID2_IDMASK_IDE_MSK_SHIFT     (30U)
1030 #define CAN_FLT_ID2_IDMASK_IDE_MSK_WIDTH     (1U)
1031 #define CAN_FLT_ID2_IDMASK_IDE_MSK(x)        (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID2_IDMASK_IDE_MSK_SHIFT)) & CAN_FLT_ID2_IDMASK_IDE_MSK_MASK)
1032 /*! @} */
1033 
1034 /*! @name PL2_PLMASK_LO - Pretended Networking Payload Low Filter 2 Register / Payload Low Mask register */
1035 /*! @{ */
1036 
1037 #define CAN_PL2_PLMASK_LO_Data_byte_3_MASK   (0xFFU)
1038 #define CAN_PL2_PLMASK_LO_Data_byte_3_SHIFT  (0U)
1039 #define CAN_PL2_PLMASK_LO_Data_byte_3_WIDTH  (8U)
1040 #define CAN_PL2_PLMASK_LO_Data_byte_3(x)     (((uint32_t)(((uint32_t)(x)) << CAN_PL2_PLMASK_LO_Data_byte_3_SHIFT)) & CAN_PL2_PLMASK_LO_Data_byte_3_MASK)
1041 
1042 #define CAN_PL2_PLMASK_LO_Data_byte_2_MASK   (0xFF00U)
1043 #define CAN_PL2_PLMASK_LO_Data_byte_2_SHIFT  (8U)
1044 #define CAN_PL2_PLMASK_LO_Data_byte_2_WIDTH  (8U)
1045 #define CAN_PL2_PLMASK_LO_Data_byte_2(x)     (((uint32_t)(((uint32_t)(x)) << CAN_PL2_PLMASK_LO_Data_byte_2_SHIFT)) & CAN_PL2_PLMASK_LO_Data_byte_2_MASK)
1046 
1047 #define CAN_PL2_PLMASK_LO_Data_byte_1_MASK   (0xFF0000U)
1048 #define CAN_PL2_PLMASK_LO_Data_byte_1_SHIFT  (16U)
1049 #define CAN_PL2_PLMASK_LO_Data_byte_1_WIDTH  (8U)
1050 #define CAN_PL2_PLMASK_LO_Data_byte_1(x)     (((uint32_t)(((uint32_t)(x)) << CAN_PL2_PLMASK_LO_Data_byte_1_SHIFT)) & CAN_PL2_PLMASK_LO_Data_byte_1_MASK)
1051 
1052 #define CAN_PL2_PLMASK_LO_Data_byte_0_MASK   (0xFF000000U)
1053 #define CAN_PL2_PLMASK_LO_Data_byte_0_SHIFT  (24U)
1054 #define CAN_PL2_PLMASK_LO_Data_byte_0_WIDTH  (8U)
1055 #define CAN_PL2_PLMASK_LO_Data_byte_0(x)     (((uint32_t)(((uint32_t)(x)) << CAN_PL2_PLMASK_LO_Data_byte_0_SHIFT)) & CAN_PL2_PLMASK_LO_Data_byte_0_MASK)
1056 /*! @} */
1057 
1058 /*! @name PL2_PLMASK_HI - Pretended Networking Payload High Filter 2 low order bits / Payload High Mask register */
1059 /*! @{ */
1060 
1061 #define CAN_PL2_PLMASK_HI_Data_byte_7_MASK   (0xFFU)
1062 #define CAN_PL2_PLMASK_HI_Data_byte_7_SHIFT  (0U)
1063 #define CAN_PL2_PLMASK_HI_Data_byte_7_WIDTH  (8U)
1064 #define CAN_PL2_PLMASK_HI_Data_byte_7(x)     (((uint32_t)(((uint32_t)(x)) << CAN_PL2_PLMASK_HI_Data_byte_7_SHIFT)) & CAN_PL2_PLMASK_HI_Data_byte_7_MASK)
1065 
1066 #define CAN_PL2_PLMASK_HI_Data_byte_6_MASK   (0xFF00U)
1067 #define CAN_PL2_PLMASK_HI_Data_byte_6_SHIFT  (8U)
1068 #define CAN_PL2_PLMASK_HI_Data_byte_6_WIDTH  (8U)
1069 #define CAN_PL2_PLMASK_HI_Data_byte_6(x)     (((uint32_t)(((uint32_t)(x)) << CAN_PL2_PLMASK_HI_Data_byte_6_SHIFT)) & CAN_PL2_PLMASK_HI_Data_byte_6_MASK)
1070 
1071 #define CAN_PL2_PLMASK_HI_Data_byte_5_MASK   (0xFF0000U)
1072 #define CAN_PL2_PLMASK_HI_Data_byte_5_SHIFT  (16U)
1073 #define CAN_PL2_PLMASK_HI_Data_byte_5_WIDTH  (8U)
1074 #define CAN_PL2_PLMASK_HI_Data_byte_5(x)     (((uint32_t)(((uint32_t)(x)) << CAN_PL2_PLMASK_HI_Data_byte_5_SHIFT)) & CAN_PL2_PLMASK_HI_Data_byte_5_MASK)
1075 
1076 #define CAN_PL2_PLMASK_HI_Data_byte_4_MASK   (0xFF000000U)
1077 #define CAN_PL2_PLMASK_HI_Data_byte_4_SHIFT  (24U)
1078 #define CAN_PL2_PLMASK_HI_Data_byte_4_WIDTH  (8U)
1079 #define CAN_PL2_PLMASK_HI_Data_byte_4(x)     (((uint32_t)(((uint32_t)(x)) << CAN_PL2_PLMASK_HI_Data_byte_4_SHIFT)) & CAN_PL2_PLMASK_HI_Data_byte_4_MASK)
1080 /*! @} */
1081 
1082 /*! @name WMBn_CS - Wake Up Message Buffer register for C/S */
1083 /*! @{ */
1084 
1085 #define CAN_WMBn_CS_DLC_MASK                 (0xF0000U)
1086 #define CAN_WMBn_CS_DLC_SHIFT                (16U)
1087 #define CAN_WMBn_CS_DLC_WIDTH                (4U)
1088 #define CAN_WMBn_CS_DLC(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_CS_DLC_SHIFT)) & CAN_WMBn_CS_DLC_MASK)
1089 
1090 #define CAN_WMBn_CS_RTR_MASK                 (0x100000U)
1091 #define CAN_WMBn_CS_RTR_SHIFT                (20U)
1092 #define CAN_WMBn_CS_RTR_WIDTH                (1U)
1093 #define CAN_WMBn_CS_RTR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_CS_RTR_SHIFT)) & CAN_WMBn_CS_RTR_MASK)
1094 
1095 #define CAN_WMBn_CS_IDE_MASK                 (0x200000U)
1096 #define CAN_WMBn_CS_IDE_SHIFT                (21U)
1097 #define CAN_WMBn_CS_IDE_WIDTH                (1U)
1098 #define CAN_WMBn_CS_IDE(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_CS_IDE_SHIFT)) & CAN_WMBn_CS_IDE_MASK)
1099 
1100 #define CAN_WMBn_CS_SRR_MASK                 (0x400000U)
1101 #define CAN_WMBn_CS_SRR_SHIFT                (22U)
1102 #define CAN_WMBn_CS_SRR_WIDTH                (1U)
1103 #define CAN_WMBn_CS_SRR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_CS_SRR_SHIFT)) & CAN_WMBn_CS_SRR_MASK)
1104 /*! @} */
1105 
1106 /*! @name WMBn_ID - Wake Up Message Buffer Register for ID */
1107 /*! @{ */
1108 
1109 #define CAN_WMBn_ID_ID_MASK                  (0x1FFFFFFFU)
1110 #define CAN_WMBn_ID_ID_SHIFT                 (0U)
1111 #define CAN_WMBn_ID_ID_WIDTH                 (29U)
1112 #define CAN_WMBn_ID_ID(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_ID_ID_SHIFT)) & CAN_WMBn_ID_ID_MASK)
1113 /*! @} */
1114 
1115 /*! @name WMBn_D03 - Wake Up Message Buffer Register for Data 0-3 */
1116 /*! @{ */
1117 
1118 #define CAN_WMBn_D03_Data_byte_3_MASK        (0xFFU)
1119 #define CAN_WMBn_D03_Data_byte_3_SHIFT       (0U)
1120 #define CAN_WMBn_D03_Data_byte_3_WIDTH       (8U)
1121 #define CAN_WMBn_D03_Data_byte_3(x)          (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_D03_Data_byte_3_SHIFT)) & CAN_WMBn_D03_Data_byte_3_MASK)
1122 
1123 #define CAN_WMBn_D03_Data_byte_2_MASK        (0xFF00U)
1124 #define CAN_WMBn_D03_Data_byte_2_SHIFT       (8U)
1125 #define CAN_WMBn_D03_Data_byte_2_WIDTH       (8U)
1126 #define CAN_WMBn_D03_Data_byte_2(x)          (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_D03_Data_byte_2_SHIFT)) & CAN_WMBn_D03_Data_byte_2_MASK)
1127 
1128 #define CAN_WMBn_D03_Data_byte_1_MASK        (0xFF0000U)
1129 #define CAN_WMBn_D03_Data_byte_1_SHIFT       (16U)
1130 #define CAN_WMBn_D03_Data_byte_1_WIDTH       (8U)
1131 #define CAN_WMBn_D03_Data_byte_1(x)          (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_D03_Data_byte_1_SHIFT)) & CAN_WMBn_D03_Data_byte_1_MASK)
1132 
1133 #define CAN_WMBn_D03_Data_byte_0_MASK        (0xFF000000U)
1134 #define CAN_WMBn_D03_Data_byte_0_SHIFT       (24U)
1135 #define CAN_WMBn_D03_Data_byte_0_WIDTH       (8U)
1136 #define CAN_WMBn_D03_Data_byte_0(x)          (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_D03_Data_byte_0_SHIFT)) & CAN_WMBn_D03_Data_byte_0_MASK)
1137 /*! @} */
1138 
1139 /*! @name WMBn_D47 - Wake Up Message Buffer Register Data 4-7 */
1140 /*! @{ */
1141 
1142 #define CAN_WMBn_D47_Data_byte_7_MASK        (0xFFU)
1143 #define CAN_WMBn_D47_Data_byte_7_SHIFT       (0U)
1144 #define CAN_WMBn_D47_Data_byte_7_WIDTH       (8U)
1145 #define CAN_WMBn_D47_Data_byte_7(x)          (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_D47_Data_byte_7_SHIFT)) & CAN_WMBn_D47_Data_byte_7_MASK)
1146 
1147 #define CAN_WMBn_D47_Data_byte_6_MASK        (0xFF00U)
1148 #define CAN_WMBn_D47_Data_byte_6_SHIFT       (8U)
1149 #define CAN_WMBn_D47_Data_byte_6_WIDTH       (8U)
1150 #define CAN_WMBn_D47_Data_byte_6(x)          (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_D47_Data_byte_6_SHIFT)) & CAN_WMBn_D47_Data_byte_6_MASK)
1151 
1152 #define CAN_WMBn_D47_Data_byte_5_MASK        (0xFF0000U)
1153 #define CAN_WMBn_D47_Data_byte_5_SHIFT       (16U)
1154 #define CAN_WMBn_D47_Data_byte_5_WIDTH       (8U)
1155 #define CAN_WMBn_D47_Data_byte_5(x)          (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_D47_Data_byte_5_SHIFT)) & CAN_WMBn_D47_Data_byte_5_MASK)
1156 
1157 #define CAN_WMBn_D47_Data_byte_4_MASK        (0xFF000000U)
1158 #define CAN_WMBn_D47_Data_byte_4_SHIFT       (24U)
1159 #define CAN_WMBn_D47_Data_byte_4_WIDTH       (8U)
1160 #define CAN_WMBn_D47_Data_byte_4(x)          (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_D47_Data_byte_4_SHIFT)) & CAN_WMBn_D47_Data_byte_4_MASK)
1161 /*! @} */
1162 
1163 /*! @name FDCTRL - CAN FD Control Register */
1164 /*! @{ */
1165 
1166 #define CAN_FDCTRL_TDCVAL_MASK               (0x3FU)
1167 #define CAN_FDCTRL_TDCVAL_SHIFT              (0U)
1168 #define CAN_FDCTRL_TDCVAL_WIDTH              (6U)
1169 #define CAN_FDCTRL_TDCVAL(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCVAL_SHIFT)) & CAN_FDCTRL_TDCVAL_MASK)
1170 
1171 #define CAN_FDCTRL_TDCOFF_MASK               (0x1F00U)
1172 #define CAN_FDCTRL_TDCOFF_SHIFT              (8U)
1173 #define CAN_FDCTRL_TDCOFF_WIDTH              (5U)
1174 #define CAN_FDCTRL_TDCOFF(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCOFF_SHIFT)) & CAN_FDCTRL_TDCOFF_MASK)
1175 
1176 #define CAN_FDCTRL_TDCFAIL_MASK              (0x4000U)
1177 #define CAN_FDCTRL_TDCFAIL_SHIFT             (14U)
1178 #define CAN_FDCTRL_TDCFAIL_WIDTH             (1U)
1179 #define CAN_FDCTRL_TDCFAIL(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCFAIL_SHIFT)) & CAN_FDCTRL_TDCFAIL_MASK)
1180 
1181 #define CAN_FDCTRL_TDCEN_MASK                (0x8000U)
1182 #define CAN_FDCTRL_TDCEN_SHIFT               (15U)
1183 #define CAN_FDCTRL_TDCEN_WIDTH               (1U)
1184 #define CAN_FDCTRL_TDCEN(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCEN_SHIFT)) & CAN_FDCTRL_TDCEN_MASK)
1185 
1186 #define CAN_FDCTRL_MBDSR0_MASK               (0x30000U)
1187 #define CAN_FDCTRL_MBDSR0_SHIFT              (16U)
1188 #define CAN_FDCTRL_MBDSR0_WIDTH              (2U)
1189 #define CAN_FDCTRL_MBDSR0(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR0_SHIFT)) & CAN_FDCTRL_MBDSR0_MASK)
1190 
1191 #define CAN_FDCTRL_FDRATE_MASK               (0x80000000U)
1192 #define CAN_FDCTRL_FDRATE_SHIFT              (31U)
1193 #define CAN_FDCTRL_FDRATE_WIDTH              (1U)
1194 #define CAN_FDCTRL_FDRATE(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_FDRATE_SHIFT)) & CAN_FDCTRL_FDRATE_MASK)
1195 /*! @} */
1196 
1197 /*! @name FDCBT - CAN FD Bit Timing Register */
1198 /*! @{ */
1199 
1200 #define CAN_FDCBT_FPSEG2_MASK                (0x7U)
1201 #define CAN_FDCBT_FPSEG2_SHIFT               (0U)
1202 #define CAN_FDCBT_FPSEG2_WIDTH               (3U)
1203 #define CAN_FDCBT_FPSEG2(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG2_SHIFT)) & CAN_FDCBT_FPSEG2_MASK)
1204 
1205 #define CAN_FDCBT_FPSEG1_MASK                (0xE0U)
1206 #define CAN_FDCBT_FPSEG1_SHIFT               (5U)
1207 #define CAN_FDCBT_FPSEG1_WIDTH               (3U)
1208 #define CAN_FDCBT_FPSEG1(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG1_SHIFT)) & CAN_FDCBT_FPSEG1_MASK)
1209 
1210 #define CAN_FDCBT_FPROPSEG_MASK              (0x7C00U)
1211 #define CAN_FDCBT_FPROPSEG_SHIFT             (10U)
1212 #define CAN_FDCBT_FPROPSEG_WIDTH             (5U)
1213 #define CAN_FDCBT_FPROPSEG(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPROPSEG_SHIFT)) & CAN_FDCBT_FPROPSEG_MASK)
1214 
1215 #define CAN_FDCBT_FRJW_MASK                  (0x70000U)
1216 #define CAN_FDCBT_FRJW_SHIFT                 (16U)
1217 #define CAN_FDCBT_FRJW_WIDTH                 (3U)
1218 #define CAN_FDCBT_FRJW(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FRJW_SHIFT)) & CAN_FDCBT_FRJW_MASK)
1219 
1220 #define CAN_FDCBT_FPRESDIV_MASK              (0x3FF00000U)
1221 #define CAN_FDCBT_FPRESDIV_SHIFT             (20U)
1222 #define CAN_FDCBT_FPRESDIV_WIDTH             (10U)
1223 #define CAN_FDCBT_FPRESDIV(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPRESDIV_SHIFT)) & CAN_FDCBT_FPRESDIV_MASK)
1224 /*! @} */
1225 
1226 /*! @name FDCRC - CAN FD CRC Register */
1227 /*! @{ */
1228 
1229 #define CAN_FDCRC_FD_TXCRC_MASK              (0x1FFFFFU)
1230 #define CAN_FDCRC_FD_TXCRC_SHIFT             (0U)
1231 #define CAN_FDCRC_FD_TXCRC_WIDTH             (21U)
1232 #define CAN_FDCRC_FD_TXCRC(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_TXCRC_SHIFT)) & CAN_FDCRC_FD_TXCRC_MASK)
1233 
1234 #define CAN_FDCRC_FD_MBCRC_MASK              (0x7F000000U)
1235 #define CAN_FDCRC_FD_MBCRC_SHIFT             (24U)
1236 #define CAN_FDCRC_FD_MBCRC_WIDTH             (7U)
1237 #define CAN_FDCRC_FD_MBCRC(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_MBCRC_SHIFT)) & CAN_FDCRC_FD_MBCRC_MASK)
1238 /*! @} */
1239 
1240 /*!
1241  * @}
1242  */ /* end of group CAN_Register_Masks */
1243 
1244 /*!
1245  * @}
1246  */ /* end of group CAN_Peripheral_Access_Layer */
1247 
1248 #endif  /* #if !defined(S32K146_FLEXCAN_H_) */
1249