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 S32K148_FLEXCAN.h
10  * @version 1.1
11  * @date 2022-02-02
12  * @brief Peripheral Access Layer for S32K148_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(S32K148_FLEXCAN_H_)  /* Check if memory map has not been already included */
58 #define S32K148_FLEXCAN_H_
59 
60 #include "S32K148_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_BUF31TO0M_MASK            (0xFFFFFFFFU)
562 #define CAN_IMASK1_BUF31TO0M_SHIFT           (0U)
563 #define CAN_IMASK1_BUF31TO0M_WIDTH           (32U)
564 #define CAN_IMASK1_BUF31TO0M(x)              (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUF31TO0M_SHIFT)) & CAN_IMASK1_BUF31TO0M_MASK)
565 /*! @} */
566 
567 /*! @name IFLAG1 - Interrupt Flags 1 Register */
568 /*! @{ */
569 
570 #define CAN_IFLAG1_BUF0I_MASK                (0x1U)
571 #define CAN_IFLAG1_BUF0I_SHIFT               (0U)
572 #define CAN_IFLAG1_BUF0I_WIDTH               (1U)
573 #define CAN_IFLAG1_BUF0I(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF0I_SHIFT)) & CAN_IFLAG1_BUF0I_MASK)
574 
575 #define CAN_IFLAG1_BUF4TO1I_MASK             (0x1EU)
576 #define CAN_IFLAG1_BUF4TO1I_SHIFT            (1U)
577 #define CAN_IFLAG1_BUF4TO1I_WIDTH            (4U)
578 #define CAN_IFLAG1_BUF4TO1I(x)               (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF4TO1I_SHIFT)) & CAN_IFLAG1_BUF4TO1I_MASK)
579 
580 #define CAN_IFLAG1_BUF5I_MASK                (0x20U)
581 #define CAN_IFLAG1_BUF5I_SHIFT               (5U)
582 #define CAN_IFLAG1_BUF5I_WIDTH               (1U)
583 #define CAN_IFLAG1_BUF5I(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF5I_SHIFT)) & CAN_IFLAG1_BUF5I_MASK)
584 
585 #define CAN_IFLAG1_BUF6I_MASK                (0x40U)
586 #define CAN_IFLAG1_BUF6I_SHIFT               (6U)
587 #define CAN_IFLAG1_BUF6I_WIDTH               (1U)
588 #define CAN_IFLAG1_BUF6I(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF6I_SHIFT)) & CAN_IFLAG1_BUF6I_MASK)
589 
590 #define CAN_IFLAG1_BUF7I_MASK                (0x80U)
591 #define CAN_IFLAG1_BUF7I_SHIFT               (7U)
592 #define CAN_IFLAG1_BUF7I_WIDTH               (1U)
593 #define CAN_IFLAG1_BUF7I(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF7I_SHIFT)) & CAN_IFLAG1_BUF7I_MASK)
594 
595 #define CAN_IFLAG1_BUF31TO8I_MASK            (0xFFFFFF00U)
596 #define CAN_IFLAG1_BUF31TO8I_SHIFT           (8U)
597 #define CAN_IFLAG1_BUF31TO8I_WIDTH           (24U)
598 #define CAN_IFLAG1_BUF31TO8I(x)              (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF31TO8I_SHIFT)) & CAN_IFLAG1_BUF31TO8I_MASK)
599 /*! @} */
600 
601 /*! @name CTRL2 - Control 2 Register */
602 /*! @{ */
603 
604 #define CAN_CTRL2_EDFLTDIS_MASK              (0x800U)
605 #define CAN_CTRL2_EDFLTDIS_SHIFT             (11U)
606 #define CAN_CTRL2_EDFLTDIS_WIDTH             (1U)
607 #define CAN_CTRL2_EDFLTDIS(x)                (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EDFLTDIS_SHIFT)) & CAN_CTRL2_EDFLTDIS_MASK)
608 
609 #define CAN_CTRL2_ISOCANFDEN_MASK            (0x1000U)
610 #define CAN_CTRL2_ISOCANFDEN_SHIFT           (12U)
611 #define CAN_CTRL2_ISOCANFDEN_WIDTH           (1U)
612 #define CAN_CTRL2_ISOCANFDEN(x)              (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ISOCANFDEN_SHIFT)) & CAN_CTRL2_ISOCANFDEN_MASK)
613 
614 #define CAN_CTRL2_PREXCEN_MASK               (0x4000U)
615 #define CAN_CTRL2_PREXCEN_SHIFT              (14U)
616 #define CAN_CTRL2_PREXCEN_WIDTH              (1U)
617 #define CAN_CTRL2_PREXCEN(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_PREXCEN_SHIFT)) & CAN_CTRL2_PREXCEN_MASK)
618 
619 #define CAN_CTRL2_TIMER_SRC_MASK             (0x8000U)
620 #define CAN_CTRL2_TIMER_SRC_SHIFT            (15U)
621 #define CAN_CTRL2_TIMER_SRC_WIDTH            (1U)
622 #define CAN_CTRL2_TIMER_SRC(x)               (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TIMER_SRC_SHIFT)) & CAN_CTRL2_TIMER_SRC_MASK)
623 
624 #define CAN_CTRL2_EACEN_MASK                 (0x10000U)
625 #define CAN_CTRL2_EACEN_SHIFT                (16U)
626 #define CAN_CTRL2_EACEN_WIDTH                (1U)
627 #define CAN_CTRL2_EACEN(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EACEN_SHIFT)) & CAN_CTRL2_EACEN_MASK)
628 
629 #define CAN_CTRL2_RRS_MASK                   (0x20000U)
630 #define CAN_CTRL2_RRS_SHIFT                  (17U)
631 #define CAN_CTRL2_RRS_WIDTH                  (1U)
632 #define CAN_CTRL2_RRS(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RRS_SHIFT)) & CAN_CTRL2_RRS_MASK)
633 
634 #define CAN_CTRL2_MRP_MASK                   (0x40000U)
635 #define CAN_CTRL2_MRP_SHIFT                  (18U)
636 #define CAN_CTRL2_MRP_WIDTH                  (1U)
637 #define CAN_CTRL2_MRP(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MRP_SHIFT)) & CAN_CTRL2_MRP_MASK)
638 
639 #define CAN_CTRL2_TASD_MASK                  (0xF80000U)
640 #define CAN_CTRL2_TASD_SHIFT                 (19U)
641 #define CAN_CTRL2_TASD_WIDTH                 (5U)
642 #define CAN_CTRL2_TASD(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TASD_SHIFT)) & CAN_CTRL2_TASD_MASK)
643 
644 #define CAN_CTRL2_RFFN_MASK                  (0xF000000U)
645 #define CAN_CTRL2_RFFN_SHIFT                 (24U)
646 #define CAN_CTRL2_RFFN_WIDTH                 (4U)
647 #define CAN_CTRL2_RFFN(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RFFN_SHIFT)) & CAN_CTRL2_RFFN_MASK)
648 
649 #define CAN_CTRL2_BOFFDONEMSK_MASK           (0x40000000U)
650 #define CAN_CTRL2_BOFFDONEMSK_SHIFT          (30U)
651 #define CAN_CTRL2_BOFFDONEMSK_WIDTH          (1U)
652 #define CAN_CTRL2_BOFFDONEMSK(x)             (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_BOFFDONEMSK_SHIFT)) & CAN_CTRL2_BOFFDONEMSK_MASK)
653 
654 #define CAN_CTRL2_ERRMSK_FAST_MASK           (0x80000000U)
655 #define CAN_CTRL2_ERRMSK_FAST_SHIFT          (31U)
656 #define CAN_CTRL2_ERRMSK_FAST_WIDTH          (1U)
657 #define CAN_CTRL2_ERRMSK_FAST(x)             (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ERRMSK_FAST_SHIFT)) & CAN_CTRL2_ERRMSK_FAST_MASK)
658 /*! @} */
659 
660 /*! @name ESR2 - Error and Status 2 Register */
661 /*! @{ */
662 
663 #define CAN_ESR2_IMB_MASK                    (0x2000U)
664 #define CAN_ESR2_IMB_SHIFT                   (13U)
665 #define CAN_ESR2_IMB_WIDTH                   (1U)
666 #define CAN_ESR2_IMB(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_IMB_SHIFT)) & CAN_ESR2_IMB_MASK)
667 
668 #define CAN_ESR2_VPS_MASK                    (0x4000U)
669 #define CAN_ESR2_VPS_SHIFT                   (14U)
670 #define CAN_ESR2_VPS_WIDTH                   (1U)
671 #define CAN_ESR2_VPS(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_VPS_SHIFT)) & CAN_ESR2_VPS_MASK)
672 
673 #define CAN_ESR2_LPTM_MASK                   (0x7F0000U)
674 #define CAN_ESR2_LPTM_SHIFT                  (16U)
675 #define CAN_ESR2_LPTM_WIDTH                  (7U)
676 #define CAN_ESR2_LPTM(x)                     (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_LPTM_SHIFT)) & CAN_ESR2_LPTM_MASK)
677 /*! @} */
678 
679 /*! @name CRCR - CRC Register */
680 /*! @{ */
681 
682 #define CAN_CRCR_TXCRC_MASK                  (0x7FFFU)
683 #define CAN_CRCR_TXCRC_SHIFT                 (0U)
684 #define CAN_CRCR_TXCRC_WIDTH                 (15U)
685 #define CAN_CRCR_TXCRC(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_TXCRC_SHIFT)) & CAN_CRCR_TXCRC_MASK)
686 
687 #define CAN_CRCR_MBCRC_MASK                  (0x7F0000U)
688 #define CAN_CRCR_MBCRC_SHIFT                 (16U)
689 #define CAN_CRCR_MBCRC_WIDTH                 (7U)
690 #define CAN_CRCR_MBCRC(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_MBCRC_SHIFT)) & CAN_CRCR_MBCRC_MASK)
691 /*! @} */
692 
693 /*! @name RXFGMASK - Rx FIFO Global Mask Register */
694 /*! @{ */
695 
696 #define CAN_RXFGMASK_FGM_MASK                (0xFFFFFFFFU)
697 #define CAN_RXFGMASK_FGM_SHIFT               (0U)
698 #define CAN_RXFGMASK_FGM_WIDTH               (32U)
699 #define CAN_RXFGMASK_FGM(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_RXFGMASK_FGM_SHIFT)) & CAN_RXFGMASK_FGM_MASK)
700 /*! @} */
701 
702 /*! @name RXFIR - Rx FIFO Information Register */
703 /*! @{ */
704 
705 #define CAN_RXFIR_IDHIT_MASK                 (0x1FFU)
706 #define CAN_RXFIR_IDHIT_SHIFT                (0U)
707 #define CAN_RXFIR_IDHIT_WIDTH                (9U)
708 #define CAN_RXFIR_IDHIT(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_RXFIR_IDHIT_SHIFT)) & CAN_RXFIR_IDHIT_MASK)
709 /*! @} */
710 
711 /*! @name CBT - CAN Bit Timing Register */
712 /*! @{ */
713 
714 #define CAN_CBT_EPSEG2_MASK                  (0x1FU)
715 #define CAN_CBT_EPSEG2_SHIFT                 (0U)
716 #define CAN_CBT_EPSEG2_WIDTH                 (5U)
717 #define CAN_CBT_EPSEG2(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG2_SHIFT)) & CAN_CBT_EPSEG2_MASK)
718 
719 #define CAN_CBT_EPSEG1_MASK                  (0x3E0U)
720 #define CAN_CBT_EPSEG1_SHIFT                 (5U)
721 #define CAN_CBT_EPSEG1_WIDTH                 (5U)
722 #define CAN_CBT_EPSEG1(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG1_SHIFT)) & CAN_CBT_EPSEG1_MASK)
723 
724 #define CAN_CBT_EPROPSEG_MASK                (0xFC00U)
725 #define CAN_CBT_EPROPSEG_SHIFT               (10U)
726 #define CAN_CBT_EPROPSEG_WIDTH               (6U)
727 #define CAN_CBT_EPROPSEG(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPROPSEG_SHIFT)) & CAN_CBT_EPROPSEG_MASK)
728 
729 #define CAN_CBT_ERJW_MASK                    (0x1F0000U)
730 #define CAN_CBT_ERJW_SHIFT                   (16U)
731 #define CAN_CBT_ERJW_WIDTH                   (5U)
732 #define CAN_CBT_ERJW(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_CBT_ERJW_SHIFT)) & CAN_CBT_ERJW_MASK)
733 
734 #define CAN_CBT_EPRESDIV_MASK                (0x7FE00000U)
735 #define CAN_CBT_EPRESDIV_SHIFT               (21U)
736 #define CAN_CBT_EPRESDIV_WIDTH               (10U)
737 #define CAN_CBT_EPRESDIV(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPRESDIV_SHIFT)) & CAN_CBT_EPRESDIV_MASK)
738 
739 #define CAN_CBT_BTF_MASK                     (0x80000000U)
740 #define CAN_CBT_BTF_SHIFT                    (31U)
741 #define CAN_CBT_BTF_WIDTH                    (1U)
742 #define CAN_CBT_BTF(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_CBT_BTF_SHIFT)) & CAN_CBT_BTF_MASK)
743 /*! @} */
744 
745 /*! @name CS - Message Buffer 0 CS Register..Message Buffer 31 CS Register */
746 /*! @{ */
747 
748 #define CAN_CS_TIME_STAMP_MASK               (0xFFFFU)
749 #define CAN_CS_TIME_STAMP_SHIFT              (0U)
750 #define CAN_CS_TIME_STAMP(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CS_TIME_STAMP_SHIFT)) & CAN_CS_TIME_STAMP_MASK)
751 
752 #define CAN_CS_DLC_MASK                      (0xF0000U)
753 #define CAN_CS_DLC_SHIFT                     (16U)
754 #define CAN_CS_DLC(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_DLC_SHIFT)) & CAN_CS_DLC_MASK)
755 
756 #define CAN_CS_RTR_MASK                      (0x100000U)
757 #define CAN_CS_RTR_SHIFT                     (20U)
758 #define CAN_CS_RTR(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_RTR_SHIFT)) & CAN_CS_RTR_MASK)
759 
760 #define CAN_CS_IDE_MASK                      (0x200000U)
761 #define CAN_CS_IDE_SHIFT                     (21U)
762 #define CAN_CS_IDE(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_IDE_SHIFT)) & CAN_CS_IDE_MASK)
763 
764 #define CAN_CS_SRR_MASK                      (0x400000U)
765 #define CAN_CS_SRR_SHIFT                     (22U)
766 #define CAN_CS_SRR(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_SRR_SHIFT)) & CAN_CS_SRR_MASK)
767 
768 #define CAN_CS_CODE_MASK                     (0xF000000U)
769 #define CAN_CS_CODE_SHIFT                    (24U)
770 #define CAN_CS_CODE(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_CS_CODE_SHIFT)) & CAN_CS_CODE_MASK)
771 
772 #define CAN_CS_ESI_MASK                      (0x20000000U)
773 #define CAN_CS_ESI_SHIFT                     (29U)
774 #define CAN_CS_ESI(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_ESI_SHIFT)) & CAN_CS_ESI_MASK)
775 
776 #define CAN_CS_BRS_MASK                      (0x40000000U)
777 #define CAN_CS_BRS_SHIFT                     (30U)
778 #define CAN_CS_BRS(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_BRS_SHIFT)) & CAN_CS_BRS_MASK)
779 
780 #define CAN_CS_EDL_MASK                      (0x80000000U)
781 #define CAN_CS_EDL_SHIFT                     (31U)
782 #define CAN_CS_EDL(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_CS_EDL_SHIFT)) & CAN_CS_EDL_MASK)
783 /*! @} */
784 
785 /* The count of CAN_CS */
786 #define CAN_CS_COUNT                         (32U)
787 
788 /*! @name ID - Message Buffer 0 ID Register..Message Buffer 31 ID Register */
789 /*! @{ */
790 
791 #define CAN_ID_EXT_MASK                      (0x3FFFFU)
792 #define CAN_ID_EXT_SHIFT                     (0U)
793 #define CAN_ID_EXT(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_ID_EXT_SHIFT)) & CAN_ID_EXT_MASK)
794 
795 #define CAN_ID_STD_MASK                      (0x1FFC0000U)
796 #define CAN_ID_STD_SHIFT                     (18U)
797 #define CAN_ID_STD(x)                        (((uint32_t)(((uint32_t)(x)) << CAN_ID_STD_SHIFT)) & CAN_ID_STD_MASK)
798 
799 #define CAN_ID_PRIO_MASK                     (0xE0000000U)
800 #define CAN_ID_PRIO_SHIFT                    (29U)
801 #define CAN_ID_PRIO(x)                       (((uint32_t)(((uint32_t)(x)) << CAN_ID_PRIO_SHIFT)) & CAN_ID_PRIO_MASK)
802 /*! @} */
803 
804 /* The count of CAN_ID */
805 #define CAN_ID_COUNT                         (32U)
806 
807 /*! @name WORD0 - Message Buffer 0 WORD0 Register..Message Buffer 31 WORD0 Register */
808 /*! @{ */
809 
810 #define CAN_WORD0_DATA_BYTE_3_MASK           (0xFFU)
811 #define CAN_WORD0_DATA_BYTE_3_SHIFT          (0U)
812 #define CAN_WORD0_DATA_BYTE_3(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_3_SHIFT)) & CAN_WORD0_DATA_BYTE_3_MASK)
813 
814 #define CAN_WORD0_DATA_BYTE_2_MASK           (0xFF00U)
815 #define CAN_WORD0_DATA_BYTE_2_SHIFT          (8U)
816 #define CAN_WORD0_DATA_BYTE_2(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_2_SHIFT)) & CAN_WORD0_DATA_BYTE_2_MASK)
817 
818 #define CAN_WORD0_DATA_BYTE_1_MASK           (0xFF0000U)
819 #define CAN_WORD0_DATA_BYTE_1_SHIFT          (16U)
820 #define CAN_WORD0_DATA_BYTE_1(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_1_SHIFT)) & CAN_WORD0_DATA_BYTE_1_MASK)
821 
822 #define CAN_WORD0_DATA_BYTE_0_MASK           (0xFF000000U)
823 #define CAN_WORD0_DATA_BYTE_0_SHIFT          (24U)
824 #define CAN_WORD0_DATA_BYTE_0(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_0_SHIFT)) & CAN_WORD0_DATA_BYTE_0_MASK)
825 /*! @} */
826 
827 /* The count of CAN_WORD0 */
828 #define CAN_WORD0_COUNT                      (32U)
829 
830 /*! @name WORD1 - Message Buffer 0 WORD1 Register..Message Buffer 31 WORD1 Register */
831 /*! @{ */
832 
833 #define CAN_WORD1_DATA_BYTE_7_MASK           (0xFFU)
834 #define CAN_WORD1_DATA_BYTE_7_SHIFT          (0U)
835 #define CAN_WORD1_DATA_BYTE_7(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_7_SHIFT)) & CAN_WORD1_DATA_BYTE_7_MASK)
836 
837 #define CAN_WORD1_DATA_BYTE_6_MASK           (0xFF00U)
838 #define CAN_WORD1_DATA_BYTE_6_SHIFT          (8U)
839 #define CAN_WORD1_DATA_BYTE_6(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_6_SHIFT)) & CAN_WORD1_DATA_BYTE_6_MASK)
840 
841 #define CAN_WORD1_DATA_BYTE_5_MASK           (0xFF0000U)
842 #define CAN_WORD1_DATA_BYTE_5_SHIFT          (16U)
843 #define CAN_WORD1_DATA_BYTE_5(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_5_SHIFT)) & CAN_WORD1_DATA_BYTE_5_MASK)
844 
845 #define CAN_WORD1_DATA_BYTE_4_MASK           (0xFF000000U)
846 #define CAN_WORD1_DATA_BYTE_4_SHIFT          (24U)
847 #define CAN_WORD1_DATA_BYTE_4(x)             (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_4_SHIFT)) & CAN_WORD1_DATA_BYTE_4_MASK)
848 /*! @} */
849 
850 /* The count of CAN_WORD1 */
851 #define CAN_WORD1_COUNT                      (32U)
852 
853 /*! @name RXIMR - Rx Individual Mask Registers */
854 /*! @{ */
855 
856 #define CAN_RXIMR_MI_MASK                    (0xFFFFFFFFU)
857 #define CAN_RXIMR_MI_SHIFT                   (0U)
858 #define CAN_RXIMR_MI_WIDTH                   (32U)
859 #define CAN_RXIMR_MI(x)                      (((uint32_t)(((uint32_t)(x)) << CAN_RXIMR_MI_SHIFT)) & CAN_RXIMR_MI_MASK)
860 /*! @} */
861 
862 /*! @name CTRL1_PN - Pretended Networking Control 1 Register */
863 /*! @{ */
864 
865 #define CAN_CTRL1_PN_FCS_MASK                (0x3U)
866 #define CAN_CTRL1_PN_FCS_SHIFT               (0U)
867 #define CAN_CTRL1_PN_FCS_WIDTH               (2U)
868 #define CAN_CTRL1_PN_FCS(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_FCS_SHIFT)) & CAN_CTRL1_PN_FCS_MASK)
869 
870 #define CAN_CTRL1_PN_IDFS_MASK               (0xCU)
871 #define CAN_CTRL1_PN_IDFS_SHIFT              (2U)
872 #define CAN_CTRL1_PN_IDFS_WIDTH              (2U)
873 #define CAN_CTRL1_PN_IDFS(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_IDFS_SHIFT)) & CAN_CTRL1_PN_IDFS_MASK)
874 
875 #define CAN_CTRL1_PN_PLFS_MASK               (0x30U)
876 #define CAN_CTRL1_PN_PLFS_SHIFT              (4U)
877 #define CAN_CTRL1_PN_PLFS_WIDTH              (2U)
878 #define CAN_CTRL1_PN_PLFS(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_PLFS_SHIFT)) & CAN_CTRL1_PN_PLFS_MASK)
879 
880 #define CAN_CTRL1_PN_NMATCH_MASK             (0xFF00U)
881 #define CAN_CTRL1_PN_NMATCH_SHIFT            (8U)
882 #define CAN_CTRL1_PN_NMATCH_WIDTH            (8U)
883 #define CAN_CTRL1_PN_NMATCH(x)               (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_NMATCH_SHIFT)) & CAN_CTRL1_PN_NMATCH_MASK)
884 
885 #define CAN_CTRL1_PN_WUMF_MSK_MASK           (0x10000U)
886 #define CAN_CTRL1_PN_WUMF_MSK_SHIFT          (16U)
887 #define CAN_CTRL1_PN_WUMF_MSK_WIDTH          (1U)
888 #define CAN_CTRL1_PN_WUMF_MSK(x)             (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_WUMF_MSK_SHIFT)) & CAN_CTRL1_PN_WUMF_MSK_MASK)
889 
890 #define CAN_CTRL1_PN_WTOF_MSK_MASK           (0x20000U)
891 #define CAN_CTRL1_PN_WTOF_MSK_SHIFT          (17U)
892 #define CAN_CTRL1_PN_WTOF_MSK_WIDTH          (1U)
893 #define CAN_CTRL1_PN_WTOF_MSK(x)             (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PN_WTOF_MSK_SHIFT)) & CAN_CTRL1_PN_WTOF_MSK_MASK)
894 /*! @} */
895 
896 /*! @name CTRL2_PN - Pretended Networking Control 2 Register */
897 /*! @{ */
898 
899 #define CAN_CTRL2_PN_MATCHTO_MASK            (0xFFFFU)
900 #define CAN_CTRL2_PN_MATCHTO_SHIFT           (0U)
901 #define CAN_CTRL2_PN_MATCHTO_WIDTH           (16U)
902 #define CAN_CTRL2_PN_MATCHTO(x)              (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_PN_MATCHTO_SHIFT)) & CAN_CTRL2_PN_MATCHTO_MASK)
903 /*! @} */
904 
905 /*! @name WU_MTC - Pretended Networking Wake Up Match Register */
906 /*! @{ */
907 
908 #define CAN_WU_MTC_MCOUNTER_MASK             (0xFF00U)
909 #define CAN_WU_MTC_MCOUNTER_SHIFT            (8U)
910 #define CAN_WU_MTC_MCOUNTER_WIDTH            (8U)
911 #define CAN_WU_MTC_MCOUNTER(x)               (((uint32_t)(((uint32_t)(x)) << CAN_WU_MTC_MCOUNTER_SHIFT)) & CAN_WU_MTC_MCOUNTER_MASK)
912 
913 #define CAN_WU_MTC_WUMF_MASK                 (0x10000U)
914 #define CAN_WU_MTC_WUMF_SHIFT                (16U)
915 #define CAN_WU_MTC_WUMF_WIDTH                (1U)
916 #define CAN_WU_MTC_WUMF(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WU_MTC_WUMF_SHIFT)) & CAN_WU_MTC_WUMF_MASK)
917 
918 #define CAN_WU_MTC_WTOF_MASK                 (0x20000U)
919 #define CAN_WU_MTC_WTOF_SHIFT                (17U)
920 #define CAN_WU_MTC_WTOF_WIDTH                (1U)
921 #define CAN_WU_MTC_WTOF(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WU_MTC_WTOF_SHIFT)) & CAN_WU_MTC_WTOF_MASK)
922 /*! @} */
923 
924 /*! @name FLT_ID1 - Pretended Networking ID Filter 1 Register */
925 /*! @{ */
926 
927 #define CAN_FLT_ID1_FLT_ID1_MASK             (0x1FFFFFFFU)
928 #define CAN_FLT_ID1_FLT_ID1_SHIFT            (0U)
929 #define CAN_FLT_ID1_FLT_ID1_WIDTH            (29U)
930 #define CAN_FLT_ID1_FLT_ID1(x)               (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID1_FLT_ID1_SHIFT)) & CAN_FLT_ID1_FLT_ID1_MASK)
931 
932 #define CAN_FLT_ID1_FLT_RTR_MASK             (0x20000000U)
933 #define CAN_FLT_ID1_FLT_RTR_SHIFT            (29U)
934 #define CAN_FLT_ID1_FLT_RTR_WIDTH            (1U)
935 #define CAN_FLT_ID1_FLT_RTR(x)               (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID1_FLT_RTR_SHIFT)) & CAN_FLT_ID1_FLT_RTR_MASK)
936 
937 #define CAN_FLT_ID1_FLT_IDE_MASK             (0x40000000U)
938 #define CAN_FLT_ID1_FLT_IDE_SHIFT            (30U)
939 #define CAN_FLT_ID1_FLT_IDE_WIDTH            (1U)
940 #define CAN_FLT_ID1_FLT_IDE(x)               (((uint32_t)(((uint32_t)(x)) << CAN_FLT_ID1_FLT_IDE_SHIFT)) & CAN_FLT_ID1_FLT_IDE_MASK)
941 /*! @} */
942 
943 /*! @name FLT_DLC - Pretended Networking DLC Filter Register */
944 /*! @{ */
945 
946 #define CAN_FLT_DLC_FLT_DLC_HI_MASK          (0xFU)
947 #define CAN_FLT_DLC_FLT_DLC_HI_SHIFT         (0U)
948 #define CAN_FLT_DLC_FLT_DLC_HI_WIDTH         (4U)
949 #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)
950 
951 #define CAN_FLT_DLC_FLT_DLC_LO_MASK          (0xF0000U)
952 #define CAN_FLT_DLC_FLT_DLC_LO_SHIFT         (16U)
953 #define CAN_FLT_DLC_FLT_DLC_LO_WIDTH         (4U)
954 #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)
955 /*! @} */
956 
957 /*! @name PL1_LO - Pretended Networking Payload Low Filter 1 Register */
958 /*! @{ */
959 
960 #define CAN_PL1_LO_Data_byte_3_MASK          (0xFFU)
961 #define CAN_PL1_LO_Data_byte_3_SHIFT         (0U)
962 #define CAN_PL1_LO_Data_byte_3_WIDTH         (8U)
963 #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)
964 
965 #define CAN_PL1_LO_Data_byte_2_MASK          (0xFF00U)
966 #define CAN_PL1_LO_Data_byte_2_SHIFT         (8U)
967 #define CAN_PL1_LO_Data_byte_2_WIDTH         (8U)
968 #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)
969 
970 #define CAN_PL1_LO_Data_byte_1_MASK          (0xFF0000U)
971 #define CAN_PL1_LO_Data_byte_1_SHIFT         (16U)
972 #define CAN_PL1_LO_Data_byte_1_WIDTH         (8U)
973 #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)
974 
975 #define CAN_PL1_LO_Data_byte_0_MASK          (0xFF000000U)
976 #define CAN_PL1_LO_Data_byte_0_SHIFT         (24U)
977 #define CAN_PL1_LO_Data_byte_0_WIDTH         (8U)
978 #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)
979 /*! @} */
980 
981 /*! @name PL1_HI - Pretended Networking Payload High Filter 1 Register */
982 /*! @{ */
983 
984 #define CAN_PL1_HI_Data_byte_7_MASK          (0xFFU)
985 #define CAN_PL1_HI_Data_byte_7_SHIFT         (0U)
986 #define CAN_PL1_HI_Data_byte_7_WIDTH         (8U)
987 #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)
988 
989 #define CAN_PL1_HI_Data_byte_6_MASK          (0xFF00U)
990 #define CAN_PL1_HI_Data_byte_6_SHIFT         (8U)
991 #define CAN_PL1_HI_Data_byte_6_WIDTH         (8U)
992 #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)
993 
994 #define CAN_PL1_HI_Data_byte_5_MASK          (0xFF0000U)
995 #define CAN_PL1_HI_Data_byte_5_SHIFT         (16U)
996 #define CAN_PL1_HI_Data_byte_5_WIDTH         (8U)
997 #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)
998 
999 #define CAN_PL1_HI_Data_byte_4_MASK          (0xFF000000U)
1000 #define CAN_PL1_HI_Data_byte_4_SHIFT         (24U)
1001 #define CAN_PL1_HI_Data_byte_4_WIDTH         (8U)
1002 #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)
1003 /*! @} */
1004 
1005 /*! @name FLT_ID2_IDMASK - Pretended Networking ID Filter 2 Register / ID Mask Register */
1006 /*! @{ */
1007 
1008 #define CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK_MASK (0x1FFFFFFFU)
1009 #define CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK_SHIFT (0U)
1010 #define CAN_FLT_ID2_IDMASK_FLT_ID2_IDMASK_WIDTH (29U)
1011 #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)
1012 
1013 #define CAN_FLT_ID2_IDMASK_RTR_MSK_MASK      (0x20000000U)
1014 #define CAN_FLT_ID2_IDMASK_RTR_MSK_SHIFT     (29U)
1015 #define CAN_FLT_ID2_IDMASK_RTR_MSK_WIDTH     (1U)
1016 #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)
1017 
1018 #define CAN_FLT_ID2_IDMASK_IDE_MSK_MASK      (0x40000000U)
1019 #define CAN_FLT_ID2_IDMASK_IDE_MSK_SHIFT     (30U)
1020 #define CAN_FLT_ID2_IDMASK_IDE_MSK_WIDTH     (1U)
1021 #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)
1022 /*! @} */
1023 
1024 /*! @name PL2_PLMASK_LO - Pretended Networking Payload Low Filter 2 Register / Payload Low Mask register */
1025 /*! @{ */
1026 
1027 #define CAN_PL2_PLMASK_LO_Data_byte_3_MASK   (0xFFU)
1028 #define CAN_PL2_PLMASK_LO_Data_byte_3_SHIFT  (0U)
1029 #define CAN_PL2_PLMASK_LO_Data_byte_3_WIDTH  (8U)
1030 #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)
1031 
1032 #define CAN_PL2_PLMASK_LO_Data_byte_2_MASK   (0xFF00U)
1033 #define CAN_PL2_PLMASK_LO_Data_byte_2_SHIFT  (8U)
1034 #define CAN_PL2_PLMASK_LO_Data_byte_2_WIDTH  (8U)
1035 #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)
1036 
1037 #define CAN_PL2_PLMASK_LO_Data_byte_1_MASK   (0xFF0000U)
1038 #define CAN_PL2_PLMASK_LO_Data_byte_1_SHIFT  (16U)
1039 #define CAN_PL2_PLMASK_LO_Data_byte_1_WIDTH  (8U)
1040 #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)
1041 
1042 #define CAN_PL2_PLMASK_LO_Data_byte_0_MASK   (0xFF000000U)
1043 #define CAN_PL2_PLMASK_LO_Data_byte_0_SHIFT  (24U)
1044 #define CAN_PL2_PLMASK_LO_Data_byte_0_WIDTH  (8U)
1045 #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)
1046 /*! @} */
1047 
1048 /*! @name PL2_PLMASK_HI - Pretended Networking Payload High Filter 2 low order bits / Payload High Mask register */
1049 /*! @{ */
1050 
1051 #define CAN_PL2_PLMASK_HI_Data_byte_7_MASK   (0xFFU)
1052 #define CAN_PL2_PLMASK_HI_Data_byte_7_SHIFT  (0U)
1053 #define CAN_PL2_PLMASK_HI_Data_byte_7_WIDTH  (8U)
1054 #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)
1055 
1056 #define CAN_PL2_PLMASK_HI_Data_byte_6_MASK   (0xFF00U)
1057 #define CAN_PL2_PLMASK_HI_Data_byte_6_SHIFT  (8U)
1058 #define CAN_PL2_PLMASK_HI_Data_byte_6_WIDTH  (8U)
1059 #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)
1060 
1061 #define CAN_PL2_PLMASK_HI_Data_byte_5_MASK   (0xFF0000U)
1062 #define CAN_PL2_PLMASK_HI_Data_byte_5_SHIFT  (16U)
1063 #define CAN_PL2_PLMASK_HI_Data_byte_5_WIDTH  (8U)
1064 #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)
1065 
1066 #define CAN_PL2_PLMASK_HI_Data_byte_4_MASK   (0xFF000000U)
1067 #define CAN_PL2_PLMASK_HI_Data_byte_4_SHIFT  (24U)
1068 #define CAN_PL2_PLMASK_HI_Data_byte_4_WIDTH  (8U)
1069 #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)
1070 /*! @} */
1071 
1072 /*! @name WMBn_CS - Wake Up Message Buffer register for C/S */
1073 /*! @{ */
1074 
1075 #define CAN_WMBn_CS_DLC_MASK                 (0xF0000U)
1076 #define CAN_WMBn_CS_DLC_SHIFT                (16U)
1077 #define CAN_WMBn_CS_DLC_WIDTH                (4U)
1078 #define CAN_WMBn_CS_DLC(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_CS_DLC_SHIFT)) & CAN_WMBn_CS_DLC_MASK)
1079 
1080 #define CAN_WMBn_CS_RTR_MASK                 (0x100000U)
1081 #define CAN_WMBn_CS_RTR_SHIFT                (20U)
1082 #define CAN_WMBn_CS_RTR_WIDTH                (1U)
1083 #define CAN_WMBn_CS_RTR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_CS_RTR_SHIFT)) & CAN_WMBn_CS_RTR_MASK)
1084 
1085 #define CAN_WMBn_CS_IDE_MASK                 (0x200000U)
1086 #define CAN_WMBn_CS_IDE_SHIFT                (21U)
1087 #define CAN_WMBn_CS_IDE_WIDTH                (1U)
1088 #define CAN_WMBn_CS_IDE(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_CS_IDE_SHIFT)) & CAN_WMBn_CS_IDE_MASK)
1089 
1090 #define CAN_WMBn_CS_SRR_MASK                 (0x400000U)
1091 #define CAN_WMBn_CS_SRR_SHIFT                (22U)
1092 #define CAN_WMBn_CS_SRR_WIDTH                (1U)
1093 #define CAN_WMBn_CS_SRR(x)                   (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_CS_SRR_SHIFT)) & CAN_WMBn_CS_SRR_MASK)
1094 /*! @} */
1095 
1096 /*! @name WMBn_ID - Wake Up Message Buffer Register for ID */
1097 /*! @{ */
1098 
1099 #define CAN_WMBn_ID_ID_MASK                  (0x1FFFFFFFU)
1100 #define CAN_WMBn_ID_ID_SHIFT                 (0U)
1101 #define CAN_WMBn_ID_ID_WIDTH                 (29U)
1102 #define CAN_WMBn_ID_ID(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_WMBn_ID_ID_SHIFT)) & CAN_WMBn_ID_ID_MASK)
1103 /*! @} */
1104 
1105 /*! @name WMBn_D03 - Wake Up Message Buffer Register for Data 0-3 */
1106 /*! @{ */
1107 
1108 #define CAN_WMBn_D03_Data_byte_3_MASK        (0xFFU)
1109 #define CAN_WMBn_D03_Data_byte_3_SHIFT       (0U)
1110 #define CAN_WMBn_D03_Data_byte_3_WIDTH       (8U)
1111 #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)
1112 
1113 #define CAN_WMBn_D03_Data_byte_2_MASK        (0xFF00U)
1114 #define CAN_WMBn_D03_Data_byte_2_SHIFT       (8U)
1115 #define CAN_WMBn_D03_Data_byte_2_WIDTH       (8U)
1116 #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)
1117 
1118 #define CAN_WMBn_D03_Data_byte_1_MASK        (0xFF0000U)
1119 #define CAN_WMBn_D03_Data_byte_1_SHIFT       (16U)
1120 #define CAN_WMBn_D03_Data_byte_1_WIDTH       (8U)
1121 #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)
1122 
1123 #define CAN_WMBn_D03_Data_byte_0_MASK        (0xFF000000U)
1124 #define CAN_WMBn_D03_Data_byte_0_SHIFT       (24U)
1125 #define CAN_WMBn_D03_Data_byte_0_WIDTH       (8U)
1126 #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)
1127 /*! @} */
1128 
1129 /*! @name WMBn_D47 - Wake Up Message Buffer Register Data 4-7 */
1130 /*! @{ */
1131 
1132 #define CAN_WMBn_D47_Data_byte_7_MASK        (0xFFU)
1133 #define CAN_WMBn_D47_Data_byte_7_SHIFT       (0U)
1134 #define CAN_WMBn_D47_Data_byte_7_WIDTH       (8U)
1135 #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)
1136 
1137 #define CAN_WMBn_D47_Data_byte_6_MASK        (0xFF00U)
1138 #define CAN_WMBn_D47_Data_byte_6_SHIFT       (8U)
1139 #define CAN_WMBn_D47_Data_byte_6_WIDTH       (8U)
1140 #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)
1141 
1142 #define CAN_WMBn_D47_Data_byte_5_MASK        (0xFF0000U)
1143 #define CAN_WMBn_D47_Data_byte_5_SHIFT       (16U)
1144 #define CAN_WMBn_D47_Data_byte_5_WIDTH       (8U)
1145 #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)
1146 
1147 #define CAN_WMBn_D47_Data_byte_4_MASK        (0xFF000000U)
1148 #define CAN_WMBn_D47_Data_byte_4_SHIFT       (24U)
1149 #define CAN_WMBn_D47_Data_byte_4_WIDTH       (8U)
1150 #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)
1151 /*! @} */
1152 
1153 /*! @name FDCTRL - CAN FD Control Register */
1154 /*! @{ */
1155 
1156 #define CAN_FDCTRL_TDCVAL_MASK               (0x3FU)
1157 #define CAN_FDCTRL_TDCVAL_SHIFT              (0U)
1158 #define CAN_FDCTRL_TDCVAL_WIDTH              (6U)
1159 #define CAN_FDCTRL_TDCVAL(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCVAL_SHIFT)) & CAN_FDCTRL_TDCVAL_MASK)
1160 
1161 #define CAN_FDCTRL_TDCOFF_MASK               (0x1F00U)
1162 #define CAN_FDCTRL_TDCOFF_SHIFT              (8U)
1163 #define CAN_FDCTRL_TDCOFF_WIDTH              (5U)
1164 #define CAN_FDCTRL_TDCOFF(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCOFF_SHIFT)) & CAN_FDCTRL_TDCOFF_MASK)
1165 
1166 #define CAN_FDCTRL_TDCFAIL_MASK              (0x4000U)
1167 #define CAN_FDCTRL_TDCFAIL_SHIFT             (14U)
1168 #define CAN_FDCTRL_TDCFAIL_WIDTH             (1U)
1169 #define CAN_FDCTRL_TDCFAIL(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCFAIL_SHIFT)) & CAN_FDCTRL_TDCFAIL_MASK)
1170 
1171 #define CAN_FDCTRL_TDCEN_MASK                (0x8000U)
1172 #define CAN_FDCTRL_TDCEN_SHIFT               (15U)
1173 #define CAN_FDCTRL_TDCEN_WIDTH               (1U)
1174 #define CAN_FDCTRL_TDCEN(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCEN_SHIFT)) & CAN_FDCTRL_TDCEN_MASK)
1175 
1176 #define CAN_FDCTRL_MBDSR0_MASK               (0x30000U)
1177 #define CAN_FDCTRL_MBDSR0_SHIFT              (16U)
1178 #define CAN_FDCTRL_MBDSR0_WIDTH              (2U)
1179 #define CAN_FDCTRL_MBDSR0(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR0_SHIFT)) & CAN_FDCTRL_MBDSR0_MASK)
1180 
1181 #define CAN_FDCTRL_FDRATE_MASK               (0x80000000U)
1182 #define CAN_FDCTRL_FDRATE_SHIFT              (31U)
1183 #define CAN_FDCTRL_FDRATE_WIDTH              (1U)
1184 #define CAN_FDCTRL_FDRATE(x)                 (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_FDRATE_SHIFT)) & CAN_FDCTRL_FDRATE_MASK)
1185 /*! @} */
1186 
1187 /*! @name FDCBT - CAN FD Bit Timing Register */
1188 /*! @{ */
1189 
1190 #define CAN_FDCBT_FPSEG2_MASK                (0x7U)
1191 #define CAN_FDCBT_FPSEG2_SHIFT               (0U)
1192 #define CAN_FDCBT_FPSEG2_WIDTH               (3U)
1193 #define CAN_FDCBT_FPSEG2(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG2_SHIFT)) & CAN_FDCBT_FPSEG2_MASK)
1194 
1195 #define CAN_FDCBT_FPSEG1_MASK                (0xE0U)
1196 #define CAN_FDCBT_FPSEG1_SHIFT               (5U)
1197 #define CAN_FDCBT_FPSEG1_WIDTH               (3U)
1198 #define CAN_FDCBT_FPSEG1(x)                  (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG1_SHIFT)) & CAN_FDCBT_FPSEG1_MASK)
1199 
1200 #define CAN_FDCBT_FPROPSEG_MASK              (0x7C00U)
1201 #define CAN_FDCBT_FPROPSEG_SHIFT             (10U)
1202 #define CAN_FDCBT_FPROPSEG_WIDTH             (5U)
1203 #define CAN_FDCBT_FPROPSEG(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPROPSEG_SHIFT)) & CAN_FDCBT_FPROPSEG_MASK)
1204 
1205 #define CAN_FDCBT_FRJW_MASK                  (0x70000U)
1206 #define CAN_FDCBT_FRJW_SHIFT                 (16U)
1207 #define CAN_FDCBT_FRJW_WIDTH                 (3U)
1208 #define CAN_FDCBT_FRJW(x)                    (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FRJW_SHIFT)) & CAN_FDCBT_FRJW_MASK)
1209 
1210 #define CAN_FDCBT_FPRESDIV_MASK              (0x3FF00000U)
1211 #define CAN_FDCBT_FPRESDIV_SHIFT             (20U)
1212 #define CAN_FDCBT_FPRESDIV_WIDTH             (10U)
1213 #define CAN_FDCBT_FPRESDIV(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPRESDIV_SHIFT)) & CAN_FDCBT_FPRESDIV_MASK)
1214 /*! @} */
1215 
1216 /*! @name FDCRC - CAN FD CRC Register */
1217 /*! @{ */
1218 
1219 #define CAN_FDCRC_FD_TXCRC_MASK              (0x1FFFFFU)
1220 #define CAN_FDCRC_FD_TXCRC_SHIFT             (0U)
1221 #define CAN_FDCRC_FD_TXCRC_WIDTH             (21U)
1222 #define CAN_FDCRC_FD_TXCRC(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_TXCRC_SHIFT)) & CAN_FDCRC_FD_TXCRC_MASK)
1223 
1224 #define CAN_FDCRC_FD_MBCRC_MASK              (0x7F000000U)
1225 #define CAN_FDCRC_FD_MBCRC_SHIFT             (24U)
1226 #define CAN_FDCRC_FD_MBCRC_WIDTH             (7U)
1227 #define CAN_FDCRC_FD_MBCRC(x)                (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_MBCRC_SHIFT)) & CAN_FDCRC_FD_MBCRC_MASK)
1228 /*! @} */
1229 
1230 /*!
1231  * @}
1232  */ /* end of group CAN_Register_Masks */
1233 
1234 /*!
1235  * @}
1236  */ /* end of group CAN_Peripheral_Access_Layer */
1237 
1238 #endif  /* #if !defined(S32K148_FLEXCAN_H_) */
1239