4 * \brief Component description for CAN
6 * Copyright (c) 2016 Atmel Corporation. All rights reserved.
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions are met:
15 * 1. Redistributions of source code must retain the above copyright notice,
16 * this list of conditions and the following disclaimer.
18 * 2. Redistributions in binary form must reproduce the above copyright notice,
19 * this list of conditions and the following disclaimer in the documentation
20 * and/or other materials provided with the distribution.
22 * 3. The name of Atmel may not be used to endorse or promote products derived
23 * from this software without specific prior written permission.
25 * 4. This software may only be redistributed and used in connection with an
26 * Atmel microcontroller product.
28 * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
29 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
30 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
31 * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
32 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
36 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
37 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 * POSSIBILITY OF SUCH DAMAGE.
44 #ifndef _SAMD51_CAN_COMPONENT_
45 #define _SAMD51_CAN_COMPONENT_
47 /* ========================================================================== */
48 /** SOFTWARE API DEFINITION FOR CAN */
49 /* ========================================================================== */
50 /** \addtogroup SAMD51_CAN Control Area Network */
56 /* -------- CAN_CREL : (CAN Offset: 0x00) (R/ 32) Core Release -------- */
57 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
60 uint32_t :20; /*!< bit: 0..19 Reserved */
61 uint32_t SUBSTEP:4; /*!< bit: 20..23 Sub-step of Core Release */
62 uint32_t STEP:4; /*!< bit: 24..27 Step of Core Release */
63 uint32_t REL:4; /*!< bit: 28..31 Core Release */
64 } bit; /*!< Structure used for bit access */
65 uint32_t reg; /*!< Type used for register access */
67 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
69 #define CAN_CREL_OFFSET 0x00 /**< \brief (CAN_CREL offset) Core Release */
70 #define CAN_CREL_RESETVALUE 0x32100000u /**< \brief (CAN_CREL reset_value) Core Release */
72 #define CAN_CREL_SUBSTEP_Pos 20 /**< \brief (CAN_CREL) Sub-step of Core Release */
73 #define CAN_CREL_SUBSTEP_Msk (0xFu << CAN_CREL_SUBSTEP_Pos)
74 #define CAN_CREL_SUBSTEP(value) (CAN_CREL_SUBSTEP_Msk & ((value) << CAN_CREL_SUBSTEP_Pos))
75 #define CAN_CREL_STEP_Pos 24 /**< \brief (CAN_CREL) Step of Core Release */
76 #define CAN_CREL_STEP_Msk (0xFu << CAN_CREL_STEP_Pos)
77 #define CAN_CREL_STEP(value) (CAN_CREL_STEP_Msk & ((value) << CAN_CREL_STEP_Pos))
78 #define CAN_CREL_REL_Pos 28 /**< \brief (CAN_CREL) Core Release */
79 #define CAN_CREL_REL_Msk (0xFu << CAN_CREL_REL_Pos)
80 #define CAN_CREL_REL(value) (CAN_CREL_REL_Msk & ((value) << CAN_CREL_REL_Pos))
81 #define CAN_CREL_MASK 0xFFF00000u /**< \brief (CAN_CREL) MASK Register */
83 /* -------- CAN_ENDN : (CAN Offset: 0x04) (R/ 32) Endian -------- */
84 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
87 uint32_t ETV:32; /*!< bit: 0..31 Endianness Test Value */
88 } bit; /*!< Structure used for bit access */
89 uint32_t reg; /*!< Type used for register access */
91 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
93 #define CAN_ENDN_OFFSET 0x04 /**< \brief (CAN_ENDN offset) Endian */
94 #define CAN_ENDN_RESETVALUE 0x87654321u /**< \brief (CAN_ENDN reset_value) Endian */
96 #define CAN_ENDN_ETV_Pos 0 /**< \brief (CAN_ENDN) Endianness Test Value */
97 #define CAN_ENDN_ETV_Msk (0xFFFFFFFFu << CAN_ENDN_ETV_Pos)
98 #define CAN_ENDN_ETV(value) (CAN_ENDN_ETV_Msk & ((value) << CAN_ENDN_ETV_Pos))
99 #define CAN_ENDN_MASK 0xFFFFFFFFu /**< \brief (CAN_ENDN) MASK Register */
101 /* -------- CAN_MRCFG : (CAN Offset: 0x08) (R/W 32) Message RAM Configuration -------- */
102 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
105 uint32_t QOS:2; /*!< bit: 0.. 1 Quality of Service */
106 uint32_t :30; /*!< bit: 2..31 Reserved */
107 } bit; /*!< Structure used for bit access */
108 uint32_t reg; /*!< Type used for register access */
110 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
112 #define CAN_MRCFG_OFFSET 0x08 /**< \brief (CAN_MRCFG offset) Message RAM Configuration */
113 #define CAN_MRCFG_RESETVALUE 0x00000002u /**< \brief (CAN_MRCFG reset_value) Message RAM Configuration */
115 #define CAN_MRCFG_QOS_Pos 0 /**< \brief (CAN_MRCFG) Quality of Service */
116 #define CAN_MRCFG_QOS_Msk (0x3u << CAN_MRCFG_QOS_Pos)
117 #define CAN_MRCFG_QOS(value) (CAN_MRCFG_QOS_Msk & ((value) << CAN_MRCFG_QOS_Pos))
118 #define CAN_MRCFG_QOS_DISABLE_Val 0x0u /**< \brief (CAN_MRCFG) Background (no sensitive operation) */
119 #define CAN_MRCFG_QOS_LOW_Val 0x1u /**< \brief (CAN_MRCFG) Sensitive Bandwidth */
120 #define CAN_MRCFG_QOS_MEDIUM_Val 0x2u /**< \brief (CAN_MRCFG) Sensitive Latency */
121 #define CAN_MRCFG_QOS_HIGH_Val 0x3u /**< \brief (CAN_MRCFG) Critical Latency */
122 #define CAN_MRCFG_QOS_DISABLE (CAN_MRCFG_QOS_DISABLE_Val << CAN_MRCFG_QOS_Pos)
123 #define CAN_MRCFG_QOS_LOW (CAN_MRCFG_QOS_LOW_Val << CAN_MRCFG_QOS_Pos)
124 #define CAN_MRCFG_QOS_MEDIUM (CAN_MRCFG_QOS_MEDIUM_Val << CAN_MRCFG_QOS_Pos)
125 #define CAN_MRCFG_QOS_HIGH (CAN_MRCFG_QOS_HIGH_Val << CAN_MRCFG_QOS_Pos)
126 #define CAN_MRCFG_MASK 0x00000003u /**< \brief (CAN_MRCFG) MASK Register */
128 /* -------- CAN_DBTP : (CAN Offset: 0x0C) (R/W 32) Fast Bit Timing and Prescaler -------- */
129 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
132 uint32_t DSJW:4; /*!< bit: 0.. 3 Data (Re)Synchronization Jump Width */
133 uint32_t DTSEG2:4; /*!< bit: 4.. 7 Data time segment after sample point */
134 uint32_t DTSEG1:5; /*!< bit: 8..12 Data time segment before sample point */
135 uint32_t :3; /*!< bit: 13..15 Reserved */
136 uint32_t DBRP:5; /*!< bit: 16..20 Data Baud Rate Prescaler */
137 uint32_t :2; /*!< bit: 21..22 Reserved */
138 uint32_t TDC:1; /*!< bit: 23 Tranceiver Delay Compensation */
139 uint32_t :8; /*!< bit: 24..31 Reserved */
140 } bit; /*!< Structure used for bit access */
141 uint32_t reg; /*!< Type used for register access */
143 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
145 #define CAN_DBTP_OFFSET 0x0C /**< \brief (CAN_DBTP offset) Fast Bit Timing and Prescaler */
146 #define CAN_DBTP_RESETVALUE 0x00000A33u /**< \brief (CAN_DBTP reset_value) Fast Bit Timing and Prescaler */
148 #define CAN_DBTP_DSJW_Pos 0 /**< \brief (CAN_DBTP) Data (Re)Synchronization Jump Width */
149 #define CAN_DBTP_DSJW_Msk (0xFu << CAN_DBTP_DSJW_Pos)
150 #define CAN_DBTP_DSJW(value) (CAN_DBTP_DSJW_Msk & ((value) << CAN_DBTP_DSJW_Pos))
151 #define CAN_DBTP_DTSEG2_Pos 4 /**< \brief (CAN_DBTP) Data time segment after sample point */
152 #define CAN_DBTP_DTSEG2_Msk (0xFu << CAN_DBTP_DTSEG2_Pos)
153 #define CAN_DBTP_DTSEG2(value) (CAN_DBTP_DTSEG2_Msk & ((value) << CAN_DBTP_DTSEG2_Pos))
154 #define CAN_DBTP_DTSEG1_Pos 8 /**< \brief (CAN_DBTP) Data time segment before sample point */
155 #define CAN_DBTP_DTSEG1_Msk (0x1Fu << CAN_DBTP_DTSEG1_Pos)
156 #define CAN_DBTP_DTSEG1(value) (CAN_DBTP_DTSEG1_Msk & ((value) << CAN_DBTP_DTSEG1_Pos))
157 #define CAN_DBTP_DBRP_Pos 16 /**< \brief (CAN_DBTP) Data Baud Rate Prescaler */
158 #define CAN_DBTP_DBRP_Msk (0x1Fu << CAN_DBTP_DBRP_Pos)
159 #define CAN_DBTP_DBRP(value) (CAN_DBTP_DBRP_Msk & ((value) << CAN_DBTP_DBRP_Pos))
160 #define CAN_DBTP_TDC_Pos 23 /**< \brief (CAN_DBTP) Tranceiver Delay Compensation */
161 #define CAN_DBTP_TDC (0x1u << CAN_DBTP_TDC_Pos)
162 #define CAN_DBTP_MASK 0x009F1FFFu /**< \brief (CAN_DBTP) MASK Register */
164 /* -------- CAN_TEST : (CAN Offset: 0x10) (R/W 32) Test -------- */
165 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
168 uint32_t :4; /*!< bit: 0.. 3 Reserved */
169 uint32_t LBCK:1; /*!< bit: 4 Loop Back Mode */
170 uint32_t TX:2; /*!< bit: 5.. 6 Control of Transmit Pin */
171 uint32_t RX:1; /*!< bit: 7 Receive Pin */
172 uint32_t :24; /*!< bit: 8..31 Reserved */
173 } bit; /*!< Structure used for bit access */
174 uint32_t reg; /*!< Type used for register access */
176 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
178 #define CAN_TEST_OFFSET 0x10 /**< \brief (CAN_TEST offset) Test */
179 #define CAN_TEST_RESETVALUE 0x00000000u /**< \brief (CAN_TEST reset_value) Test */
181 #define CAN_TEST_LBCK_Pos 4 /**< \brief (CAN_TEST) Loop Back Mode */
182 #define CAN_TEST_LBCK (0x1u << CAN_TEST_LBCK_Pos)
183 #define CAN_TEST_TX_Pos 5 /**< \brief (CAN_TEST) Control of Transmit Pin */
184 #define CAN_TEST_TX_Msk (0x3u << CAN_TEST_TX_Pos)
185 #define CAN_TEST_TX(value) (CAN_TEST_TX_Msk & ((value) << CAN_TEST_TX_Pos))
186 #define CAN_TEST_TX_CORE_Val 0x0u /**< \brief (CAN_TEST) TX controlled by CAN core */
187 #define CAN_TEST_TX_SAMPLE_Val 0x1u /**< \brief (CAN_TEST) TX monitoring sample point */
188 #define CAN_TEST_TX_DOMINANT_Val 0x2u /**< \brief (CAN_TEST) Dominant (0) level at pin CAN_TX */
189 #define CAN_TEST_TX_RECESSIVE_Val 0x3u /**< \brief (CAN_TEST) Recessive (1) level at pin CAN_TX */
190 #define CAN_TEST_TX_CORE (CAN_TEST_TX_CORE_Val << CAN_TEST_TX_Pos)
191 #define CAN_TEST_TX_SAMPLE (CAN_TEST_TX_SAMPLE_Val << CAN_TEST_TX_Pos)
192 #define CAN_TEST_TX_DOMINANT (CAN_TEST_TX_DOMINANT_Val << CAN_TEST_TX_Pos)
193 #define CAN_TEST_TX_RECESSIVE (CAN_TEST_TX_RECESSIVE_Val << CAN_TEST_TX_Pos)
194 #define CAN_TEST_RX_Pos 7 /**< \brief (CAN_TEST) Receive Pin */
195 #define CAN_TEST_RX (0x1u << CAN_TEST_RX_Pos)
196 #define CAN_TEST_MASK 0x000000F0u /**< \brief (CAN_TEST) MASK Register */
198 /* -------- CAN_RWD : (CAN Offset: 0x14) (R/W 32) RAM Watchdog -------- */
199 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
202 uint32_t WDC:8; /*!< bit: 0.. 7 Watchdog Configuration */
203 uint32_t WDV:8; /*!< bit: 8..15 Watchdog Value */
204 uint32_t :16; /*!< bit: 16..31 Reserved */
205 } bit; /*!< Structure used for bit access */
206 uint32_t reg; /*!< Type used for register access */
208 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
210 #define CAN_RWD_OFFSET 0x14 /**< \brief (CAN_RWD offset) RAM Watchdog */
211 #define CAN_RWD_RESETVALUE 0x00000000u /**< \brief (CAN_RWD reset_value) RAM Watchdog */
213 #define CAN_RWD_WDC_Pos 0 /**< \brief (CAN_RWD) Watchdog Configuration */
214 #define CAN_RWD_WDC_Msk (0xFFu << CAN_RWD_WDC_Pos)
215 #define CAN_RWD_WDC(value) (CAN_RWD_WDC_Msk & ((value) << CAN_RWD_WDC_Pos))
216 #define CAN_RWD_WDV_Pos 8 /**< \brief (CAN_RWD) Watchdog Value */
217 #define CAN_RWD_WDV_Msk (0xFFu << CAN_RWD_WDV_Pos)
218 #define CAN_RWD_WDV(value) (CAN_RWD_WDV_Msk & ((value) << CAN_RWD_WDV_Pos))
219 #define CAN_RWD_MASK 0x0000FFFFu /**< \brief (CAN_RWD) MASK Register */
221 /* -------- CAN_CCCR : (CAN Offset: 0x18) (R/W 32) CC Control -------- */
222 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
225 uint32_t INIT:1; /*!< bit: 0 Initialization */
226 uint32_t CCE:1; /*!< bit: 1 Configuration Change Enable */
227 uint32_t ASM:1; /*!< bit: 2 ASM Restricted Operation Mode */
228 uint32_t CSA:1; /*!< bit: 3 Clock Stop Acknowledge */
229 uint32_t CSR:1; /*!< bit: 4 Clock Stop Request */
230 uint32_t MON:1; /*!< bit: 5 Bus Monitoring Mode */
231 uint32_t DAR:1; /*!< bit: 6 Disable Automatic Retransmission */
232 uint32_t TEST:1; /*!< bit: 7 Test Mode Enable */
233 uint32_t FDOE:1; /*!< bit: 8 FD Operation Enable */
234 uint32_t BRSE:1; /*!< bit: 9 Bit Rate Switch Enable */
235 uint32_t :2; /*!< bit: 10..11 Reserved */
236 uint32_t PXHD:1; /*!< bit: 12 Protocol Exception Handling Disable */
237 uint32_t EFBI:1; /*!< bit: 13 Edge Filtering during Bus Integration */
238 uint32_t TXP:1; /*!< bit: 14 Transmit Pause */
239 uint32_t NISO:1; /*!< bit: 15 Non ISO Operation */
240 uint32_t :16; /*!< bit: 16..31 Reserved */
241 } bit; /*!< Structure used for bit access */
242 uint32_t reg; /*!< Type used for register access */
244 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
246 #define CAN_CCCR_OFFSET 0x18 /**< \brief (CAN_CCCR offset) CC Control */
247 #define CAN_CCCR_RESETVALUE 0x00000001u /**< \brief (CAN_CCCR reset_value) CC Control */
249 #define CAN_CCCR_INIT_Pos 0 /**< \brief (CAN_CCCR) Initialization */
250 #define CAN_CCCR_INIT (0x1u << CAN_CCCR_INIT_Pos)
251 #define CAN_CCCR_CCE_Pos 1 /**< \brief (CAN_CCCR) Configuration Change Enable */
252 #define CAN_CCCR_CCE (0x1u << CAN_CCCR_CCE_Pos)
253 #define CAN_CCCR_ASM_Pos 2 /**< \brief (CAN_CCCR) ASM Restricted Operation Mode */
254 #define CAN_CCCR_ASM (0x1u << CAN_CCCR_ASM_Pos)
255 #define CAN_CCCR_CSA_Pos 3 /**< \brief (CAN_CCCR) Clock Stop Acknowledge */
256 #define CAN_CCCR_CSA (0x1u << CAN_CCCR_CSA_Pos)
257 #define CAN_CCCR_CSR_Pos 4 /**< \brief (CAN_CCCR) Clock Stop Request */
258 #define CAN_CCCR_CSR (0x1u << CAN_CCCR_CSR_Pos)
259 #define CAN_CCCR_MON_Pos 5 /**< \brief (CAN_CCCR) Bus Monitoring Mode */
260 #define CAN_CCCR_MON (0x1u << CAN_CCCR_MON_Pos)
261 #define CAN_CCCR_DAR_Pos 6 /**< \brief (CAN_CCCR) Disable Automatic Retransmission */
262 #define CAN_CCCR_DAR (0x1u << CAN_CCCR_DAR_Pos)
263 #define CAN_CCCR_TEST_Pos 7 /**< \brief (CAN_CCCR) Test Mode Enable */
264 #define CAN_CCCR_TEST (0x1u << CAN_CCCR_TEST_Pos)
265 #define CAN_CCCR_FDOE_Pos 8 /**< \brief (CAN_CCCR) FD Operation Enable */
266 #define CAN_CCCR_FDOE (0x1u << CAN_CCCR_FDOE_Pos)
267 #define CAN_CCCR_BRSE_Pos 9 /**< \brief (CAN_CCCR) Bit Rate Switch Enable */
268 #define CAN_CCCR_BRSE (0x1u << CAN_CCCR_BRSE_Pos)
269 #define CAN_CCCR_PXHD_Pos 12 /**< \brief (CAN_CCCR) Protocol Exception Handling Disable */
270 #define CAN_CCCR_PXHD (0x1u << CAN_CCCR_PXHD_Pos)
271 #define CAN_CCCR_EFBI_Pos 13 /**< \brief (CAN_CCCR) Edge Filtering during Bus Integration */
272 #define CAN_CCCR_EFBI (0x1u << CAN_CCCR_EFBI_Pos)
273 #define CAN_CCCR_TXP_Pos 14 /**< \brief (CAN_CCCR) Transmit Pause */
274 #define CAN_CCCR_TXP (0x1u << CAN_CCCR_TXP_Pos)
275 #define CAN_CCCR_NISO_Pos 15 /**< \brief (CAN_CCCR) Non ISO Operation */
276 #define CAN_CCCR_NISO (0x1u << CAN_CCCR_NISO_Pos)
277 #define CAN_CCCR_MASK 0x0000F3FFu /**< \brief (CAN_CCCR) MASK Register */
279 /* -------- CAN_NBTP : (CAN Offset: 0x1C) (R/W 32) Nominal Bit Timing and Prescaler -------- */
280 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
283 uint32_t NTSEG2:7; /*!< bit: 0.. 6 Nominal Time segment after sample point */
284 uint32_t :1; /*!< bit: 7 Reserved */
285 uint32_t NTSEG1:8; /*!< bit: 8..15 Nominal Time segment before sample point */
286 uint32_t NBRP:9; /*!< bit: 16..24 Nominal Baud Rate Prescaler */
287 uint32_t NSJW:7; /*!< bit: 25..31 Nominal (Re)Synchronization Jump Width */
288 } bit; /*!< Structure used for bit access */
289 uint32_t reg; /*!< Type used for register access */
291 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
293 #define CAN_NBTP_OFFSET 0x1C /**< \brief (CAN_NBTP offset) Nominal Bit Timing and Prescaler */
294 #define CAN_NBTP_RESETVALUE 0x06000A03u /**< \brief (CAN_NBTP reset_value) Nominal Bit Timing and Prescaler */
296 #define CAN_NBTP_NTSEG2_Pos 0 /**< \brief (CAN_NBTP) Nominal Time segment after sample point */
297 #define CAN_NBTP_NTSEG2_Msk (0x7Fu << CAN_NBTP_NTSEG2_Pos)
298 #define CAN_NBTP_NTSEG2(value) (CAN_NBTP_NTSEG2_Msk & ((value) << CAN_NBTP_NTSEG2_Pos))
299 #define CAN_NBTP_NTSEG1_Pos 8 /**< \brief (CAN_NBTP) Nominal Time segment before sample point */
300 #define CAN_NBTP_NTSEG1_Msk (0xFFu << CAN_NBTP_NTSEG1_Pos)
301 #define CAN_NBTP_NTSEG1(value) (CAN_NBTP_NTSEG1_Msk & ((value) << CAN_NBTP_NTSEG1_Pos))
302 #define CAN_NBTP_NBRP_Pos 16 /**< \brief (CAN_NBTP) Nominal Baud Rate Prescaler */
303 #define CAN_NBTP_NBRP_Msk (0x1FFu << CAN_NBTP_NBRP_Pos)
304 #define CAN_NBTP_NBRP(value) (CAN_NBTP_NBRP_Msk & ((value) << CAN_NBTP_NBRP_Pos))
305 #define CAN_NBTP_NSJW_Pos 25 /**< \brief (CAN_NBTP) Nominal (Re)Synchronization Jump Width */
306 #define CAN_NBTP_NSJW_Msk (0x7Fu << CAN_NBTP_NSJW_Pos)
307 #define CAN_NBTP_NSJW(value) (CAN_NBTP_NSJW_Msk & ((value) << CAN_NBTP_NSJW_Pos))
308 #define CAN_NBTP_MASK 0xFFFFFF7Fu /**< \brief (CAN_NBTP) MASK Register */
310 /* -------- CAN_TSCC : (CAN Offset: 0x20) (R/W 32) Timestamp Counter Configuration -------- */
311 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
314 uint32_t TSS:2; /*!< bit: 0.. 1 Timestamp Select */
315 uint32_t :14; /*!< bit: 2..15 Reserved */
316 uint32_t TCP:4; /*!< bit: 16..19 Timestamp Counter Prescaler */
317 uint32_t :12; /*!< bit: 20..31 Reserved */
318 } bit; /*!< Structure used for bit access */
319 uint32_t reg; /*!< Type used for register access */
321 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
323 #define CAN_TSCC_OFFSET 0x20 /**< \brief (CAN_TSCC offset) Timestamp Counter Configuration */
324 #define CAN_TSCC_RESETVALUE 0x00000000u /**< \brief (CAN_TSCC reset_value) Timestamp Counter Configuration */
326 #define CAN_TSCC_TSS_Pos 0 /**< \brief (CAN_TSCC) Timestamp Select */
327 #define CAN_TSCC_TSS_Msk (0x3u << CAN_TSCC_TSS_Pos)
328 #define CAN_TSCC_TSS(value) (CAN_TSCC_TSS_Msk & ((value) << CAN_TSCC_TSS_Pos))
329 #define CAN_TSCC_TSS_ZERO_Val 0x0u /**< \brief (CAN_TSCC) Timestamp counter value always 0x0000 */
330 #define CAN_TSCC_TSS_INC_Val 0x1u /**< \brief (CAN_TSCC) Timestamp counter value incremented by TCP */
331 #define CAN_TSCC_TSS_EXT_Val 0x2u /**< \brief (CAN_TSCC) External timestamp counter value used */
332 #define CAN_TSCC_TSS_ZERO (CAN_TSCC_TSS_ZERO_Val << CAN_TSCC_TSS_Pos)
333 #define CAN_TSCC_TSS_INC (CAN_TSCC_TSS_INC_Val << CAN_TSCC_TSS_Pos)
334 #define CAN_TSCC_TSS_EXT (CAN_TSCC_TSS_EXT_Val << CAN_TSCC_TSS_Pos)
335 #define CAN_TSCC_TCP_Pos 16 /**< \brief (CAN_TSCC) Timestamp Counter Prescaler */
336 #define CAN_TSCC_TCP_Msk (0xFu << CAN_TSCC_TCP_Pos)
337 #define CAN_TSCC_TCP(value) (CAN_TSCC_TCP_Msk & ((value) << CAN_TSCC_TCP_Pos))
338 #define CAN_TSCC_MASK 0x000F0003u /**< \brief (CAN_TSCC) MASK Register */
340 /* -------- CAN_TSCV : (CAN Offset: 0x24) (R/ 32) Timestamp Counter Value -------- */
341 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
344 uint32_t TSC:16; /*!< bit: 0..15 Timestamp Counter */
345 uint32_t :16; /*!< bit: 16..31 Reserved */
346 } bit; /*!< Structure used for bit access */
347 uint32_t reg; /*!< Type used for register access */
349 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
351 #define CAN_TSCV_OFFSET 0x24 /**< \brief (CAN_TSCV offset) Timestamp Counter Value */
352 #define CAN_TSCV_RESETVALUE 0x00000000u /**< \brief (CAN_TSCV reset_value) Timestamp Counter Value */
354 #define CAN_TSCV_TSC_Pos 0 /**< \brief (CAN_TSCV) Timestamp Counter */
355 #define CAN_TSCV_TSC_Msk (0xFFFFu << CAN_TSCV_TSC_Pos)
356 #define CAN_TSCV_TSC(value) (CAN_TSCV_TSC_Msk & ((value) << CAN_TSCV_TSC_Pos))
357 #define CAN_TSCV_MASK 0x0000FFFFu /**< \brief (CAN_TSCV) MASK Register */
359 /* -------- CAN_TOCC : (CAN Offset: 0x28) (R/W 32) Timeout Counter Configuration -------- */
360 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
363 uint32_t ETOC:1; /*!< bit: 0 Enable Timeout Counter */
364 uint32_t TOS:2; /*!< bit: 1.. 2 Timeout Select */
365 uint32_t :13; /*!< bit: 3..15 Reserved */
366 uint32_t TOP:16; /*!< bit: 16..31 Timeout Period */
367 } bit; /*!< Structure used for bit access */
368 uint32_t reg; /*!< Type used for register access */
370 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
372 #define CAN_TOCC_OFFSET 0x28 /**< \brief (CAN_TOCC offset) Timeout Counter Configuration */
373 #define CAN_TOCC_RESETVALUE 0xFFFF0000u /**< \brief (CAN_TOCC reset_value) Timeout Counter Configuration */
375 #define CAN_TOCC_ETOC_Pos 0 /**< \brief (CAN_TOCC) Enable Timeout Counter */
376 #define CAN_TOCC_ETOC (0x1u << CAN_TOCC_ETOC_Pos)
377 #define CAN_TOCC_TOS_Pos 1 /**< \brief (CAN_TOCC) Timeout Select */
378 #define CAN_TOCC_TOS_Msk (0x3u << CAN_TOCC_TOS_Pos)
379 #define CAN_TOCC_TOS(value) (CAN_TOCC_TOS_Msk & ((value) << CAN_TOCC_TOS_Pos))
380 #define CAN_TOCC_TOS_CONT_Val 0x0u /**< \brief (CAN_TOCC) Continuout operation */
381 #define CAN_TOCC_TOS_TXEF_Val 0x1u /**< \brief (CAN_TOCC) Timeout controlled by TX Event FIFO */
382 #define CAN_TOCC_TOS_RXF0_Val 0x2u /**< \brief (CAN_TOCC) Timeout controlled by Rx FIFO 0 */
383 #define CAN_TOCC_TOS_RXF1_Val 0x3u /**< \brief (CAN_TOCC) Timeout controlled by Rx FIFO 1 */
384 #define CAN_TOCC_TOS_CONT (CAN_TOCC_TOS_CONT_Val << CAN_TOCC_TOS_Pos)
385 #define CAN_TOCC_TOS_TXEF (CAN_TOCC_TOS_TXEF_Val << CAN_TOCC_TOS_Pos)
386 #define CAN_TOCC_TOS_RXF0 (CAN_TOCC_TOS_RXF0_Val << CAN_TOCC_TOS_Pos)
387 #define CAN_TOCC_TOS_RXF1 (CAN_TOCC_TOS_RXF1_Val << CAN_TOCC_TOS_Pos)
388 #define CAN_TOCC_TOP_Pos 16 /**< \brief (CAN_TOCC) Timeout Period */
389 #define CAN_TOCC_TOP_Msk (0xFFFFu << CAN_TOCC_TOP_Pos)
390 #define CAN_TOCC_TOP(value) (CAN_TOCC_TOP_Msk & ((value) << CAN_TOCC_TOP_Pos))
391 #define CAN_TOCC_MASK 0xFFFF0007u /**< \brief (CAN_TOCC) MASK Register */
393 /* -------- CAN_TOCV : (CAN Offset: 0x2C) (R/W 32) Timeout Counter Value -------- */
394 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
397 uint32_t TOC:16; /*!< bit: 0..15 Timeout Counter */
398 uint32_t :16; /*!< bit: 16..31 Reserved */
399 } bit; /*!< Structure used for bit access */
400 uint32_t reg; /*!< Type used for register access */
402 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
404 #define CAN_TOCV_OFFSET 0x2C /**< \brief (CAN_TOCV offset) Timeout Counter Value */
405 #define CAN_TOCV_RESETVALUE 0x0000FFFFu /**< \brief (CAN_TOCV reset_value) Timeout Counter Value */
407 #define CAN_TOCV_TOC_Pos 0 /**< \brief (CAN_TOCV) Timeout Counter */
408 #define CAN_TOCV_TOC_Msk (0xFFFFu << CAN_TOCV_TOC_Pos)
409 #define CAN_TOCV_TOC(value) (CAN_TOCV_TOC_Msk & ((value) << CAN_TOCV_TOC_Pos))
410 #define CAN_TOCV_MASK 0x0000FFFFu /**< \brief (CAN_TOCV) MASK Register */
412 /* -------- CAN_ECR : (CAN Offset: 0x40) (R/ 32) Error Counter -------- */
413 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
416 uint32_t TEC:8; /*!< bit: 0.. 7 Transmit Error Counter */
417 uint32_t REC:7; /*!< bit: 8..14 Receive Error Counter */
418 uint32_t RP:1; /*!< bit: 15 Receive Error Passive */
419 uint32_t CEL:8; /*!< bit: 16..23 CAN Error Logging */
420 uint32_t :8; /*!< bit: 24..31 Reserved */
421 } bit; /*!< Structure used for bit access */
422 uint32_t reg; /*!< Type used for register access */
424 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
426 #define CAN_ECR_OFFSET 0x40 /**< \brief (CAN_ECR offset) Error Counter */
427 #define CAN_ECR_RESETVALUE 0x00000000u /**< \brief (CAN_ECR reset_value) Error Counter */
429 #define CAN_ECR_TEC_Pos 0 /**< \brief (CAN_ECR) Transmit Error Counter */
430 #define CAN_ECR_TEC_Msk (0xFFu << CAN_ECR_TEC_Pos)
431 #define CAN_ECR_TEC(value) (CAN_ECR_TEC_Msk & ((value) << CAN_ECR_TEC_Pos))
432 #define CAN_ECR_REC_Pos 8 /**< \brief (CAN_ECR) Receive Error Counter */
433 #define CAN_ECR_REC_Msk (0x7Fu << CAN_ECR_REC_Pos)
434 #define CAN_ECR_REC(value) (CAN_ECR_REC_Msk & ((value) << CAN_ECR_REC_Pos))
435 #define CAN_ECR_RP_Pos 15 /**< \brief (CAN_ECR) Receive Error Passive */
436 #define CAN_ECR_RP (0x1u << CAN_ECR_RP_Pos)
437 #define CAN_ECR_CEL_Pos 16 /**< \brief (CAN_ECR) CAN Error Logging */
438 #define CAN_ECR_CEL_Msk (0xFFu << CAN_ECR_CEL_Pos)
439 #define CAN_ECR_CEL(value) (CAN_ECR_CEL_Msk & ((value) << CAN_ECR_CEL_Pos))
440 #define CAN_ECR_MASK 0x00FFFFFFu /**< \brief (CAN_ECR) MASK Register */
442 /* -------- CAN_PSR : (CAN Offset: 0x44) (R/ 32) Protocol Status -------- */
443 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
446 uint32_t LEC:3; /*!< bit: 0.. 2 Last Error Code */
447 uint32_t ACT:2; /*!< bit: 3.. 4 Activity */
448 uint32_t EP:1; /*!< bit: 5 Error Passive */
449 uint32_t EW:1; /*!< bit: 6 Warning Status */
450 uint32_t BO:1; /*!< bit: 7 Bus_Off Status */
451 uint32_t DLEC:3; /*!< bit: 8..10 Data Phase Last Error Code */
452 uint32_t RESI:1; /*!< bit: 11 ESI flag of last received CAN FD Message */
453 uint32_t RBRS:1; /*!< bit: 12 BRS flag of last received CAN FD Message */
454 uint32_t RFDF:1; /*!< bit: 13 Received a CAN FD Message */
455 uint32_t PXE:1; /*!< bit: 14 Protocol Exception Event */
456 uint32_t :1; /*!< bit: 15 Reserved */
457 uint32_t TDCV:7; /*!< bit: 16..22 Transmitter Delay Compensation Value */
458 uint32_t :9; /*!< bit: 23..31 Reserved */
459 } bit; /*!< Structure used for bit access */
460 uint32_t reg; /*!< Type used for register access */
462 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
464 #define CAN_PSR_OFFSET 0x44 /**< \brief (CAN_PSR offset) Protocol Status */
465 #define CAN_PSR_RESETVALUE 0x00000707u /**< \brief (CAN_PSR reset_value) Protocol Status */
467 #define CAN_PSR_LEC_Pos 0 /**< \brief (CAN_PSR) Last Error Code */
468 #define CAN_PSR_LEC_Msk (0x7u << CAN_PSR_LEC_Pos)
469 #define CAN_PSR_LEC(value) (CAN_PSR_LEC_Msk & ((value) << CAN_PSR_LEC_Pos))
470 #define CAN_PSR_LEC_NONE_Val 0x0u /**< \brief (CAN_PSR) No Error */
471 #define CAN_PSR_LEC_STUFF_Val 0x1u /**< \brief (CAN_PSR) Stuff Error */
472 #define CAN_PSR_LEC_FORM_Val 0x2u /**< \brief (CAN_PSR) Form Error */
473 #define CAN_PSR_LEC_ACK_Val 0x3u /**< \brief (CAN_PSR) Ack Error */
474 #define CAN_PSR_LEC_BIT1_Val 0x4u /**< \brief (CAN_PSR) Bit1 Error */
475 #define CAN_PSR_LEC_BIT0_Val 0x5u /**< \brief (CAN_PSR) Bit0 Error */
476 #define CAN_PSR_LEC_CRC_Val 0x6u /**< \brief (CAN_PSR) CRC Error */
477 #define CAN_PSR_LEC_NC_Val 0x7u /**< \brief (CAN_PSR) No Change */
478 #define CAN_PSR_LEC_NONE (CAN_PSR_LEC_NONE_Val << CAN_PSR_LEC_Pos)
479 #define CAN_PSR_LEC_STUFF (CAN_PSR_LEC_STUFF_Val << CAN_PSR_LEC_Pos)
480 #define CAN_PSR_LEC_FORM (CAN_PSR_LEC_FORM_Val << CAN_PSR_LEC_Pos)
481 #define CAN_PSR_LEC_ACK (CAN_PSR_LEC_ACK_Val << CAN_PSR_LEC_Pos)
482 #define CAN_PSR_LEC_BIT1 (CAN_PSR_LEC_BIT1_Val << CAN_PSR_LEC_Pos)
483 #define CAN_PSR_LEC_BIT0 (CAN_PSR_LEC_BIT0_Val << CAN_PSR_LEC_Pos)
484 #define CAN_PSR_LEC_CRC (CAN_PSR_LEC_CRC_Val << CAN_PSR_LEC_Pos)
485 #define CAN_PSR_LEC_NC (CAN_PSR_LEC_NC_Val << CAN_PSR_LEC_Pos)
486 #define CAN_PSR_ACT_Pos 3 /**< \brief (CAN_PSR) Activity */
487 #define CAN_PSR_ACT_Msk (0x3u << CAN_PSR_ACT_Pos)
488 #define CAN_PSR_ACT(value) (CAN_PSR_ACT_Msk & ((value) << CAN_PSR_ACT_Pos))
489 #define CAN_PSR_ACT_SYNC_Val 0x0u /**< \brief (CAN_PSR) Node is synchronizing on CAN communication */
490 #define CAN_PSR_ACT_IDLE_Val 0x1u /**< \brief (CAN_PSR) Node is neither receiver nor transmitter */
491 #define CAN_PSR_ACT_RX_Val 0x2u /**< \brief (CAN_PSR) Node is operating as receiver */
492 #define CAN_PSR_ACT_TX_Val 0x3u /**< \brief (CAN_PSR) Node is operating as transmitter */
493 #define CAN_PSR_ACT_SYNC (CAN_PSR_ACT_SYNC_Val << CAN_PSR_ACT_Pos)
494 #define CAN_PSR_ACT_IDLE (CAN_PSR_ACT_IDLE_Val << CAN_PSR_ACT_Pos)
495 #define CAN_PSR_ACT_RX (CAN_PSR_ACT_RX_Val << CAN_PSR_ACT_Pos)
496 #define CAN_PSR_ACT_TX (CAN_PSR_ACT_TX_Val << CAN_PSR_ACT_Pos)
497 #define CAN_PSR_EP_Pos 5 /**< \brief (CAN_PSR) Error Passive */
498 #define CAN_PSR_EP (0x1u << CAN_PSR_EP_Pos)
499 #define CAN_PSR_EW_Pos 6 /**< \brief (CAN_PSR) Warning Status */
500 #define CAN_PSR_EW (0x1u << CAN_PSR_EW_Pos)
501 #define CAN_PSR_BO_Pos 7 /**< \brief (CAN_PSR) Bus_Off Status */
502 #define CAN_PSR_BO (0x1u << CAN_PSR_BO_Pos)
503 #define CAN_PSR_DLEC_Pos 8 /**< \brief (CAN_PSR) Data Phase Last Error Code */
504 #define CAN_PSR_DLEC_Msk (0x7u << CAN_PSR_DLEC_Pos)
505 #define CAN_PSR_DLEC(value) (CAN_PSR_DLEC_Msk & ((value) << CAN_PSR_DLEC_Pos))
506 #define CAN_PSR_DLEC_NONE_Val 0x0u /**< \brief (CAN_PSR) No Error */
507 #define CAN_PSR_DLEC_STUFF_Val 0x1u /**< \brief (CAN_PSR) Stuff Error */
508 #define CAN_PSR_DLEC_FORM_Val 0x2u /**< \brief (CAN_PSR) Form Error */
509 #define CAN_PSR_DLEC_ACK_Val 0x3u /**< \brief (CAN_PSR) Ack Error */
510 #define CAN_PSR_DLEC_BIT1_Val 0x4u /**< \brief (CAN_PSR) Bit1 Error */
511 #define CAN_PSR_DLEC_BIT0_Val 0x5u /**< \brief (CAN_PSR) Bit0 Error */
512 #define CAN_PSR_DLEC_CRC_Val 0x6u /**< \brief (CAN_PSR) CRC Error */
513 #define CAN_PSR_DLEC_NC_Val 0x7u /**< \brief (CAN_PSR) No Change */
514 #define CAN_PSR_DLEC_NONE (CAN_PSR_DLEC_NONE_Val << CAN_PSR_DLEC_Pos)
515 #define CAN_PSR_DLEC_STUFF (CAN_PSR_DLEC_STUFF_Val << CAN_PSR_DLEC_Pos)
516 #define CAN_PSR_DLEC_FORM (CAN_PSR_DLEC_FORM_Val << CAN_PSR_DLEC_Pos)
517 #define CAN_PSR_DLEC_ACK (CAN_PSR_DLEC_ACK_Val << CAN_PSR_DLEC_Pos)
518 #define CAN_PSR_DLEC_BIT1 (CAN_PSR_DLEC_BIT1_Val << CAN_PSR_DLEC_Pos)
519 #define CAN_PSR_DLEC_BIT0 (CAN_PSR_DLEC_BIT0_Val << CAN_PSR_DLEC_Pos)
520 #define CAN_PSR_DLEC_CRC (CAN_PSR_DLEC_CRC_Val << CAN_PSR_DLEC_Pos)
521 #define CAN_PSR_DLEC_NC (CAN_PSR_DLEC_NC_Val << CAN_PSR_DLEC_Pos)
522 #define CAN_PSR_RESI_Pos 11 /**< \brief (CAN_PSR) ESI flag of last received CAN FD Message */
523 #define CAN_PSR_RESI (0x1u << CAN_PSR_RESI_Pos)
524 #define CAN_PSR_RBRS_Pos 12 /**< \brief (CAN_PSR) BRS flag of last received CAN FD Message */
525 #define CAN_PSR_RBRS (0x1u << CAN_PSR_RBRS_Pos)
526 #define CAN_PSR_RFDF_Pos 13 /**< \brief (CAN_PSR) Received a CAN FD Message */
527 #define CAN_PSR_RFDF (0x1u << CAN_PSR_RFDF_Pos)
528 #define CAN_PSR_PXE_Pos 14 /**< \brief (CAN_PSR) Protocol Exception Event */
529 #define CAN_PSR_PXE (0x1u << CAN_PSR_PXE_Pos)
530 #define CAN_PSR_TDCV_Pos 16 /**< \brief (CAN_PSR) Transmitter Delay Compensation Value */
531 #define CAN_PSR_TDCV_Msk (0x7Fu << CAN_PSR_TDCV_Pos)
532 #define CAN_PSR_TDCV(value) (CAN_PSR_TDCV_Msk & ((value) << CAN_PSR_TDCV_Pos))
533 #define CAN_PSR_MASK 0x007F7FFFu /**< \brief (CAN_PSR) MASK Register */
535 /* -------- CAN_TDCR : (CAN Offset: 0x48) (R/W 32) Extended ID Filter Configuration -------- */
536 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
539 uint32_t TDCF:7; /*!< bit: 0.. 6 Transmitter Delay Compensation Filter Length */
540 uint32_t :1; /*!< bit: 7 Reserved */
541 uint32_t TDCO:7; /*!< bit: 8..14 Transmitter Delay Compensation Offset */
542 uint32_t :17; /*!< bit: 15..31 Reserved */
543 } bit; /*!< Structure used for bit access */
544 uint32_t reg; /*!< Type used for register access */
546 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
548 #define CAN_TDCR_OFFSET 0x48 /**< \brief (CAN_TDCR offset) Extended ID Filter Configuration */
549 #define CAN_TDCR_RESETVALUE 0x00000000u /**< \brief (CAN_TDCR reset_value) Extended ID Filter Configuration */
551 #define CAN_TDCR_TDCF_Pos 0 /**< \brief (CAN_TDCR) Transmitter Delay Compensation Filter Length */
552 #define CAN_TDCR_TDCF_Msk (0x7Fu << CAN_TDCR_TDCF_Pos)
553 #define CAN_TDCR_TDCF(value) (CAN_TDCR_TDCF_Msk & ((value) << CAN_TDCR_TDCF_Pos))
554 #define CAN_TDCR_TDCO_Pos 8 /**< \brief (CAN_TDCR) Transmitter Delay Compensation Offset */
555 #define CAN_TDCR_TDCO_Msk (0x7Fu << CAN_TDCR_TDCO_Pos)
556 #define CAN_TDCR_TDCO(value) (CAN_TDCR_TDCO_Msk & ((value) << CAN_TDCR_TDCO_Pos))
557 #define CAN_TDCR_MASK 0x00007F7Fu /**< \brief (CAN_TDCR) MASK Register */
559 /* -------- CAN_IR : (CAN Offset: 0x50) (R/W 32) Interrupt -------- */
560 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
563 uint32_t RF0N:1; /*!< bit: 0 Rx FIFO 0 New Message */
564 uint32_t RF0W:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached */
565 uint32_t RF0F:1; /*!< bit: 2 Rx FIFO 0 Full */
566 uint32_t RF0L:1; /*!< bit: 3 Rx FIFO 0 Message Lost */
567 uint32_t RF1N:1; /*!< bit: 4 Rx FIFO 1 New Message */
568 uint32_t RF1W:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached */
569 uint32_t RF1F:1; /*!< bit: 6 Rx FIFO 1 FIFO Full */
570 uint32_t RF1L:1; /*!< bit: 7 Rx FIFO 1 Message Lost */
571 uint32_t HPM:1; /*!< bit: 8 High Priority Message */
572 uint32_t TC:1; /*!< bit: 9 Timestamp Completed */
573 uint32_t TCF:1; /*!< bit: 10 Transmission Cancellation Finished */
574 uint32_t TFE:1; /*!< bit: 11 Tx FIFO Empty */
575 uint32_t TEFN:1; /*!< bit: 12 Tx Event FIFO New Entry */
576 uint32_t TEFW:1; /*!< bit: 13 Tx Event FIFO Watermark Reached */
577 uint32_t TEFF:1; /*!< bit: 14 Tx Event FIFO Full */
578 uint32_t TEFL:1; /*!< bit: 15 Tx Event FIFO Element Lost */
579 uint32_t TSW:1; /*!< bit: 16 Timestamp Wraparound */
580 uint32_t MRAF:1; /*!< bit: 17 Message RAM Access Failure */
581 uint32_t TOO:1; /*!< bit: 18 Timeout Occurred */
582 uint32_t DRX:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer */
583 uint32_t BEC:1; /*!< bit: 20 Bit Error Corrected */
584 uint32_t BEU:1; /*!< bit: 21 Bit Error Uncorrected */
585 uint32_t ELO:1; /*!< bit: 22 Error Logging Overflow */
586 uint32_t EP:1; /*!< bit: 23 Error Passive */
587 uint32_t EW:1; /*!< bit: 24 Warning Status */
588 uint32_t BO:1; /*!< bit: 25 Bus_Off Status */
589 uint32_t WDI:1; /*!< bit: 26 Watchdog Interrupt */
590 uint32_t PEA:1; /*!< bit: 27 Protocol Error in Arbitration Phase */
591 uint32_t PED:1; /*!< bit: 28 Protocol Error in Data Phase */
592 uint32_t ARA:1; /*!< bit: 29 Access to Reserved Address */
593 uint32_t :2; /*!< bit: 30..31 Reserved */
594 } bit; /*!< Structure used for bit access */
595 uint32_t reg; /*!< Type used for register access */
597 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
599 #define CAN_IR_OFFSET 0x50 /**< \brief (CAN_IR offset) Interrupt */
600 #define CAN_IR_RESETVALUE 0x00000000u /**< \brief (CAN_IR reset_value) Interrupt */
602 #define CAN_IR_RF0N_Pos 0 /**< \brief (CAN_IR) Rx FIFO 0 New Message */
603 #define CAN_IR_RF0N (0x1u << CAN_IR_RF0N_Pos)
604 #define CAN_IR_RF0W_Pos 1 /**< \brief (CAN_IR) Rx FIFO 0 Watermark Reached */
605 #define CAN_IR_RF0W (0x1u << CAN_IR_RF0W_Pos)
606 #define CAN_IR_RF0F_Pos 2 /**< \brief (CAN_IR) Rx FIFO 0 Full */
607 #define CAN_IR_RF0F (0x1u << CAN_IR_RF0F_Pos)
608 #define CAN_IR_RF0L_Pos 3 /**< \brief (CAN_IR) Rx FIFO 0 Message Lost */
609 #define CAN_IR_RF0L (0x1u << CAN_IR_RF0L_Pos)
610 #define CAN_IR_RF1N_Pos 4 /**< \brief (CAN_IR) Rx FIFO 1 New Message */
611 #define CAN_IR_RF1N (0x1u << CAN_IR_RF1N_Pos)
612 #define CAN_IR_RF1W_Pos 5 /**< \brief (CAN_IR) Rx FIFO 1 Watermark Reached */
613 #define CAN_IR_RF1W (0x1u << CAN_IR_RF1W_Pos)
614 #define CAN_IR_RF1F_Pos 6 /**< \brief (CAN_IR) Rx FIFO 1 FIFO Full */
615 #define CAN_IR_RF1F (0x1u << CAN_IR_RF1F_Pos)
616 #define CAN_IR_RF1L_Pos 7 /**< \brief (CAN_IR) Rx FIFO 1 Message Lost */
617 #define CAN_IR_RF1L (0x1u << CAN_IR_RF1L_Pos)
618 #define CAN_IR_HPM_Pos 8 /**< \brief (CAN_IR) High Priority Message */
619 #define CAN_IR_HPM (0x1u << CAN_IR_HPM_Pos)
620 #define CAN_IR_TC_Pos 9 /**< \brief (CAN_IR) Timestamp Completed */
621 #define CAN_IR_TC (0x1u << CAN_IR_TC_Pos)
622 #define CAN_IR_TCF_Pos 10 /**< \brief (CAN_IR) Transmission Cancellation Finished */
623 #define CAN_IR_TCF (0x1u << CAN_IR_TCF_Pos)
624 #define CAN_IR_TFE_Pos 11 /**< \brief (CAN_IR) Tx FIFO Empty */
625 #define CAN_IR_TFE (0x1u << CAN_IR_TFE_Pos)
626 #define CAN_IR_TEFN_Pos 12 /**< \brief (CAN_IR) Tx Event FIFO New Entry */
627 #define CAN_IR_TEFN (0x1u << CAN_IR_TEFN_Pos)
628 #define CAN_IR_TEFW_Pos 13 /**< \brief (CAN_IR) Tx Event FIFO Watermark Reached */
629 #define CAN_IR_TEFW (0x1u << CAN_IR_TEFW_Pos)
630 #define CAN_IR_TEFF_Pos 14 /**< \brief (CAN_IR) Tx Event FIFO Full */
631 #define CAN_IR_TEFF (0x1u << CAN_IR_TEFF_Pos)
632 #define CAN_IR_TEFL_Pos 15 /**< \brief (CAN_IR) Tx Event FIFO Element Lost */
633 #define CAN_IR_TEFL (0x1u << CAN_IR_TEFL_Pos)
634 #define CAN_IR_TSW_Pos 16 /**< \brief (CAN_IR) Timestamp Wraparound */
635 #define CAN_IR_TSW (0x1u << CAN_IR_TSW_Pos)
636 #define CAN_IR_MRAF_Pos 17 /**< \brief (CAN_IR) Message RAM Access Failure */
637 #define CAN_IR_MRAF (0x1u << CAN_IR_MRAF_Pos)
638 #define CAN_IR_TOO_Pos 18 /**< \brief (CAN_IR) Timeout Occurred */
639 #define CAN_IR_TOO (0x1u << CAN_IR_TOO_Pos)
640 #define CAN_IR_DRX_Pos 19 /**< \brief (CAN_IR) Message stored to Dedicated Rx Buffer */
641 #define CAN_IR_DRX (0x1u << CAN_IR_DRX_Pos)
642 #define CAN_IR_BEC_Pos 20 /**< \brief (CAN_IR) Bit Error Corrected */
643 #define CAN_IR_BEC (0x1u << CAN_IR_BEC_Pos)
644 #define CAN_IR_BEU_Pos 21 /**< \brief (CAN_IR) Bit Error Uncorrected */
645 #define CAN_IR_BEU (0x1u << CAN_IR_BEU_Pos)
646 #define CAN_IR_ELO_Pos 22 /**< \brief (CAN_IR) Error Logging Overflow */
647 #define CAN_IR_ELO (0x1u << CAN_IR_ELO_Pos)
648 #define CAN_IR_EP_Pos 23 /**< \brief (CAN_IR) Error Passive */
649 #define CAN_IR_EP (0x1u << CAN_IR_EP_Pos)
650 #define CAN_IR_EW_Pos 24 /**< \brief (CAN_IR) Warning Status */
651 #define CAN_IR_EW (0x1u << CAN_IR_EW_Pos)
652 #define CAN_IR_BO_Pos 25 /**< \brief (CAN_IR) Bus_Off Status */
653 #define CAN_IR_BO (0x1u << CAN_IR_BO_Pos)
654 #define CAN_IR_WDI_Pos 26 /**< \brief (CAN_IR) Watchdog Interrupt */
655 #define CAN_IR_WDI (0x1u << CAN_IR_WDI_Pos)
656 #define CAN_IR_PEA_Pos 27 /**< \brief (CAN_IR) Protocol Error in Arbitration Phase */
657 #define CAN_IR_PEA (0x1u << CAN_IR_PEA_Pos)
658 #define CAN_IR_PED_Pos 28 /**< \brief (CAN_IR) Protocol Error in Data Phase */
659 #define CAN_IR_PED (0x1u << CAN_IR_PED_Pos)
660 #define CAN_IR_ARA_Pos 29 /**< \brief (CAN_IR) Access to Reserved Address */
661 #define CAN_IR_ARA (0x1u << CAN_IR_ARA_Pos)
662 #define CAN_IR_MASK 0x3FFFFFFFu /**< \brief (CAN_IR) MASK Register */
664 /* -------- CAN_IE : (CAN Offset: 0x54) (R/W 32) Interrupt Enable -------- */
665 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
668 uint32_t RF0NE:1; /*!< bit: 0 Rx FIFO 0 New Message Interrupt Enable */
669 uint32_t RF0WE:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached Interrupt Enable */
670 uint32_t RF0FE:1; /*!< bit: 2 Rx FIFO 0 Full Interrupt Enable */
671 uint32_t RF0LE:1; /*!< bit: 3 Rx FIFO 0 Message Lost Interrupt Enable */
672 uint32_t RF1NE:1; /*!< bit: 4 Rx FIFO 1 New Message Interrupt Enable */
673 uint32_t RF1WE:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached Interrupt Enable */
674 uint32_t RF1FE:1; /*!< bit: 6 Rx FIFO 1 FIFO Full Interrupt Enable */
675 uint32_t RF1LE:1; /*!< bit: 7 Rx FIFO 1 Message Lost Interrupt Enable */
676 uint32_t HPME:1; /*!< bit: 8 High Priority Message Interrupt Enable */
677 uint32_t TCE:1; /*!< bit: 9 Timestamp Completed Interrupt Enable */
678 uint32_t TCFE:1; /*!< bit: 10 Transmission Cancellation Finished Interrupt Enable */
679 uint32_t TFEE:1; /*!< bit: 11 Tx FIFO Empty Interrupt Enable */
680 uint32_t TEFNE:1; /*!< bit: 12 Tx Event FIFO New Entry Interrupt Enable */
681 uint32_t TEFWE:1; /*!< bit: 13 Tx Event FIFO Watermark Reached Interrupt Enable */
682 uint32_t TEFFE:1; /*!< bit: 14 Tx Event FIFO Full Interrupt Enable */
683 uint32_t TEFLE:1; /*!< bit: 15 Tx Event FIFO Element Lost Interrupt Enable */
684 uint32_t TSWE:1; /*!< bit: 16 Timestamp Wraparound Interrupt Enable */
685 uint32_t MRAFE:1; /*!< bit: 17 Message RAM Access Failure Interrupt Enable */
686 uint32_t TOOE:1; /*!< bit: 18 Timeout Occurred Interrupt Enable */
687 uint32_t DRXE:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer Interrupt Enable */
688 uint32_t BECE:1; /*!< bit: 20 Bit Error Corrected Interrupt Enable */
689 uint32_t BEUE:1; /*!< bit: 21 Bit Error Uncorrected Interrupt Enable */
690 uint32_t ELOE:1; /*!< bit: 22 Error Logging Overflow Interrupt Enable */
691 uint32_t EPE:1; /*!< bit: 23 Error Passive Interrupt Enable */
692 uint32_t EWE:1; /*!< bit: 24 Warning Status Interrupt Enable */
693 uint32_t BOE:1; /*!< bit: 25 Bus_Off Status Interrupt Enable */
694 uint32_t WDIE:1; /*!< bit: 26 Watchdog Interrupt Interrupt Enable */
695 uint32_t PEAE:1; /*!< bit: 27 Protocol Error in Arbitration Phase Enable */
696 uint32_t PEDE:1; /*!< bit: 28 Protocol Error in Data Phase Enable */
697 uint32_t ARAE:1; /*!< bit: 29 Access to Reserved Address Enable */
698 uint32_t :2; /*!< bit: 30..31 Reserved */
699 } bit; /*!< Structure used for bit access */
700 uint32_t reg; /*!< Type used for register access */
702 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
704 #define CAN_IE_OFFSET 0x54 /**< \brief (CAN_IE offset) Interrupt Enable */
705 #define CAN_IE_RESETVALUE 0x00000000u /**< \brief (CAN_IE reset_value) Interrupt Enable */
707 #define CAN_IE_RF0NE_Pos 0 /**< \brief (CAN_IE) Rx FIFO 0 New Message Interrupt Enable */
708 #define CAN_IE_RF0NE (0x1u << CAN_IE_RF0NE_Pos)
709 #define CAN_IE_RF0WE_Pos 1 /**< \brief (CAN_IE) Rx FIFO 0 Watermark Reached Interrupt Enable */
710 #define CAN_IE_RF0WE (0x1u << CAN_IE_RF0WE_Pos)
711 #define CAN_IE_RF0FE_Pos 2 /**< \brief (CAN_IE) Rx FIFO 0 Full Interrupt Enable */
712 #define CAN_IE_RF0FE (0x1u << CAN_IE_RF0FE_Pos)
713 #define CAN_IE_RF0LE_Pos 3 /**< \brief (CAN_IE) Rx FIFO 0 Message Lost Interrupt Enable */
714 #define CAN_IE_RF0LE (0x1u << CAN_IE_RF0LE_Pos)
715 #define CAN_IE_RF1NE_Pos 4 /**< \brief (CAN_IE) Rx FIFO 1 New Message Interrupt Enable */
716 #define CAN_IE_RF1NE (0x1u << CAN_IE_RF1NE_Pos)
717 #define CAN_IE_RF1WE_Pos 5 /**< \brief (CAN_IE) Rx FIFO 1 Watermark Reached Interrupt Enable */
718 #define CAN_IE_RF1WE (0x1u << CAN_IE_RF1WE_Pos)
719 #define CAN_IE_RF1FE_Pos 6 /**< \brief (CAN_IE) Rx FIFO 1 FIFO Full Interrupt Enable */
720 #define CAN_IE_RF1FE (0x1u << CAN_IE_RF1FE_Pos)
721 #define CAN_IE_RF1LE_Pos 7 /**< \brief (CAN_IE) Rx FIFO 1 Message Lost Interrupt Enable */
722 #define CAN_IE_RF1LE (0x1u << CAN_IE_RF1LE_Pos)
723 #define CAN_IE_HPME_Pos 8 /**< \brief (CAN_IE) High Priority Message Interrupt Enable */
724 #define CAN_IE_HPME (0x1u << CAN_IE_HPME_Pos)
725 #define CAN_IE_TCE_Pos 9 /**< \brief (CAN_IE) Timestamp Completed Interrupt Enable */
726 #define CAN_IE_TCE (0x1u << CAN_IE_TCE_Pos)
727 #define CAN_IE_TCFE_Pos 10 /**< \brief (CAN_IE) Transmission Cancellation Finished Interrupt Enable */
728 #define CAN_IE_TCFE (0x1u << CAN_IE_TCFE_Pos)
729 #define CAN_IE_TFEE_Pos 11 /**< \brief (CAN_IE) Tx FIFO Empty Interrupt Enable */
730 #define CAN_IE_TFEE (0x1u << CAN_IE_TFEE_Pos)
731 #define CAN_IE_TEFNE_Pos 12 /**< \brief (CAN_IE) Tx Event FIFO New Entry Interrupt Enable */
732 #define CAN_IE_TEFNE (0x1u << CAN_IE_TEFNE_Pos)
733 #define CAN_IE_TEFWE_Pos 13 /**< \brief (CAN_IE) Tx Event FIFO Watermark Reached Interrupt Enable */
734 #define CAN_IE_TEFWE (0x1u << CAN_IE_TEFWE_Pos)
735 #define CAN_IE_TEFFE_Pos 14 /**< \brief (CAN_IE) Tx Event FIFO Full Interrupt Enable */
736 #define CAN_IE_TEFFE (0x1u << CAN_IE_TEFFE_Pos)
737 #define CAN_IE_TEFLE_Pos 15 /**< \brief (CAN_IE) Tx Event FIFO Element Lost Interrupt Enable */
738 #define CAN_IE_TEFLE (0x1u << CAN_IE_TEFLE_Pos)
739 #define CAN_IE_TSWE_Pos 16 /**< \brief (CAN_IE) Timestamp Wraparound Interrupt Enable */
740 #define CAN_IE_TSWE (0x1u << CAN_IE_TSWE_Pos)
741 #define CAN_IE_MRAFE_Pos 17 /**< \brief (CAN_IE) Message RAM Access Failure Interrupt Enable */
742 #define CAN_IE_MRAFE (0x1u << CAN_IE_MRAFE_Pos)
743 #define CAN_IE_TOOE_Pos 18 /**< \brief (CAN_IE) Timeout Occurred Interrupt Enable */
744 #define CAN_IE_TOOE (0x1u << CAN_IE_TOOE_Pos)
745 #define CAN_IE_DRXE_Pos 19 /**< \brief (CAN_IE) Message stored to Dedicated Rx Buffer Interrupt Enable */
746 #define CAN_IE_DRXE (0x1u << CAN_IE_DRXE_Pos)
747 #define CAN_IE_BECE_Pos 20 /**< \brief (CAN_IE) Bit Error Corrected Interrupt Enable */
748 #define CAN_IE_BECE (0x1u << CAN_IE_BECE_Pos)
749 #define CAN_IE_BEUE_Pos 21 /**< \brief (CAN_IE) Bit Error Uncorrected Interrupt Enable */
750 #define CAN_IE_BEUE (0x1u << CAN_IE_BEUE_Pos)
751 #define CAN_IE_ELOE_Pos 22 /**< \brief (CAN_IE) Error Logging Overflow Interrupt Enable */
752 #define CAN_IE_ELOE (0x1u << CAN_IE_ELOE_Pos)
753 #define CAN_IE_EPE_Pos 23 /**< \brief (CAN_IE) Error Passive Interrupt Enable */
754 #define CAN_IE_EPE (0x1u << CAN_IE_EPE_Pos)
755 #define CAN_IE_EWE_Pos 24 /**< \brief (CAN_IE) Warning Status Interrupt Enable */
756 #define CAN_IE_EWE (0x1u << CAN_IE_EWE_Pos)
757 #define CAN_IE_BOE_Pos 25 /**< \brief (CAN_IE) Bus_Off Status Interrupt Enable */
758 #define CAN_IE_BOE (0x1u << CAN_IE_BOE_Pos)
759 #define CAN_IE_WDIE_Pos 26 /**< \brief (CAN_IE) Watchdog Interrupt Interrupt Enable */
760 #define CAN_IE_WDIE (0x1u << CAN_IE_WDIE_Pos)
761 #define CAN_IE_PEAE_Pos 27 /**< \brief (CAN_IE) Protocol Error in Arbitration Phase Enable */
762 #define CAN_IE_PEAE (0x1u << CAN_IE_PEAE_Pos)
763 #define CAN_IE_PEDE_Pos 28 /**< \brief (CAN_IE) Protocol Error in Data Phase Enable */
764 #define CAN_IE_PEDE (0x1u << CAN_IE_PEDE_Pos)
765 #define CAN_IE_ARAE_Pos 29 /**< \brief (CAN_IE) Access to Reserved Address Enable */
766 #define CAN_IE_ARAE (0x1u << CAN_IE_ARAE_Pos)
767 #define CAN_IE_MASK 0x3FFFFFFFu /**< \brief (CAN_IE) MASK Register */
769 /* -------- CAN_ILS : (CAN Offset: 0x58) (R/W 32) Interrupt Line Select -------- */
770 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
773 uint32_t RF0NL:1; /*!< bit: 0 Rx FIFO 0 New Message Interrupt Line */
774 uint32_t RF0WL:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached Interrupt Line */
775 uint32_t RF0FL:1; /*!< bit: 2 Rx FIFO 0 Full Interrupt Line */
776 uint32_t RF0LL:1; /*!< bit: 3 Rx FIFO 0 Message Lost Interrupt Line */
777 uint32_t RF1NL:1; /*!< bit: 4 Rx FIFO 1 New Message Interrupt Line */
778 uint32_t RF1WL:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached Interrupt Line */
779 uint32_t RF1FL:1; /*!< bit: 6 Rx FIFO 1 FIFO Full Interrupt Line */
780 uint32_t RF1LL:1; /*!< bit: 7 Rx FIFO 1 Message Lost Interrupt Line */
781 uint32_t HPML:1; /*!< bit: 8 High Priority Message Interrupt Line */
782 uint32_t TCL:1; /*!< bit: 9 Timestamp Completed Interrupt Line */
783 uint32_t TCFL:1; /*!< bit: 10 Transmission Cancellation Finished Interrupt Line */
784 uint32_t TFEL:1; /*!< bit: 11 Tx FIFO Empty Interrupt Line */
785 uint32_t TEFNL:1; /*!< bit: 12 Tx Event FIFO New Entry Interrupt Line */
786 uint32_t TEFWL:1; /*!< bit: 13 Tx Event FIFO Watermark Reached Interrupt Line */
787 uint32_t TEFFL:1; /*!< bit: 14 Tx Event FIFO Full Interrupt Line */
788 uint32_t TEFLL:1; /*!< bit: 15 Tx Event FIFO Element Lost Interrupt Line */
789 uint32_t TSWL:1; /*!< bit: 16 Timestamp Wraparound Interrupt Line */
790 uint32_t MRAFL:1; /*!< bit: 17 Message RAM Access Failure Interrupt Line */
791 uint32_t TOOL:1; /*!< bit: 18 Timeout Occurred Interrupt Line */
792 uint32_t DRXL:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer Interrupt Line */
793 uint32_t BECL:1; /*!< bit: 20 Bit Error Corrected Interrupt Line */
794 uint32_t BEUL:1; /*!< bit: 21 Bit Error Uncorrected Interrupt Line */
795 uint32_t ELOL:1; /*!< bit: 22 Error Logging Overflow Interrupt Line */
796 uint32_t EPL:1; /*!< bit: 23 Error Passive Interrupt Line */
797 uint32_t EWL:1; /*!< bit: 24 Warning Status Interrupt Line */
798 uint32_t BOL:1; /*!< bit: 25 Bus_Off Status Interrupt Line */
799 uint32_t WDIL:1; /*!< bit: 26 Watchdog Interrupt Interrupt Line */
800 uint32_t PEAL:1; /*!< bit: 27 Protocol Error in Arbitration Phase Line */
801 uint32_t PEDL:1; /*!< bit: 28 Protocol Error in Data Phase Line */
802 uint32_t ARAL:1; /*!< bit: 29 Access to Reserved Address Line */
803 uint32_t :2; /*!< bit: 30..31 Reserved */
804 } bit; /*!< Structure used for bit access */
805 uint32_t reg; /*!< Type used for register access */
807 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
809 #define CAN_ILS_OFFSET 0x58 /**< \brief (CAN_ILS offset) Interrupt Line Select */
810 #define CAN_ILS_RESETVALUE 0x00000000u /**< \brief (CAN_ILS reset_value) Interrupt Line Select */
812 #define CAN_ILS_RF0NL_Pos 0 /**< \brief (CAN_ILS) Rx FIFO 0 New Message Interrupt Line */
813 #define CAN_ILS_RF0NL (0x1u << CAN_ILS_RF0NL_Pos)
814 #define CAN_ILS_RF0WL_Pos 1 /**< \brief (CAN_ILS) Rx FIFO 0 Watermark Reached Interrupt Line */
815 #define CAN_ILS_RF0WL (0x1u << CAN_ILS_RF0WL_Pos)
816 #define CAN_ILS_RF0FL_Pos 2 /**< \brief (CAN_ILS) Rx FIFO 0 Full Interrupt Line */
817 #define CAN_ILS_RF0FL (0x1u << CAN_ILS_RF0FL_Pos)
818 #define CAN_ILS_RF0LL_Pos 3 /**< \brief (CAN_ILS) Rx FIFO 0 Message Lost Interrupt Line */
819 #define CAN_ILS_RF0LL (0x1u << CAN_ILS_RF0LL_Pos)
820 #define CAN_ILS_RF1NL_Pos 4 /**< \brief (CAN_ILS) Rx FIFO 1 New Message Interrupt Line */
821 #define CAN_ILS_RF1NL (0x1u << CAN_ILS_RF1NL_Pos)
822 #define CAN_ILS_RF1WL_Pos 5 /**< \brief (CAN_ILS) Rx FIFO 1 Watermark Reached Interrupt Line */
823 #define CAN_ILS_RF1WL (0x1u << CAN_ILS_RF1WL_Pos)
824 #define CAN_ILS_RF1FL_Pos 6 /**< \brief (CAN_ILS) Rx FIFO 1 FIFO Full Interrupt Line */
825 #define CAN_ILS_RF1FL (0x1u << CAN_ILS_RF1FL_Pos)
826 #define CAN_ILS_RF1LL_Pos 7 /**< \brief (CAN_ILS) Rx FIFO 1 Message Lost Interrupt Line */
827 #define CAN_ILS_RF1LL (0x1u << CAN_ILS_RF1LL_Pos)
828 #define CAN_ILS_HPML_Pos 8 /**< \brief (CAN_ILS) High Priority Message Interrupt Line */
829 #define CAN_ILS_HPML (0x1u << CAN_ILS_HPML_Pos)
830 #define CAN_ILS_TCL_Pos 9 /**< \brief (CAN_ILS) Timestamp Completed Interrupt Line */
831 #define CAN_ILS_TCL (0x1u << CAN_ILS_TCL_Pos)
832 #define CAN_ILS_TCFL_Pos 10 /**< \brief (CAN_ILS) Transmission Cancellation Finished Interrupt Line */
833 #define CAN_ILS_TCFL (0x1u << CAN_ILS_TCFL_Pos)
834 #define CAN_ILS_TFEL_Pos 11 /**< \brief (CAN_ILS) Tx FIFO Empty Interrupt Line */
835 #define CAN_ILS_TFEL (0x1u << CAN_ILS_TFEL_Pos)
836 #define CAN_ILS_TEFNL_Pos 12 /**< \brief (CAN_ILS) Tx Event FIFO New Entry Interrupt Line */
837 #define CAN_ILS_TEFNL (0x1u << CAN_ILS_TEFNL_Pos)
838 #define CAN_ILS_TEFWL_Pos 13 /**< \brief (CAN_ILS) Tx Event FIFO Watermark Reached Interrupt Line */
839 #define CAN_ILS_TEFWL (0x1u << CAN_ILS_TEFWL_Pos)
840 #define CAN_ILS_TEFFL_Pos 14 /**< \brief (CAN_ILS) Tx Event FIFO Full Interrupt Line */
841 #define CAN_ILS_TEFFL (0x1u << CAN_ILS_TEFFL_Pos)
842 #define CAN_ILS_TEFLL_Pos 15 /**< \brief (CAN_ILS) Tx Event FIFO Element Lost Interrupt Line */
843 #define CAN_ILS_TEFLL (0x1u << CAN_ILS_TEFLL_Pos)
844 #define CAN_ILS_TSWL_Pos 16 /**< \brief (CAN_ILS) Timestamp Wraparound Interrupt Line */
845 #define CAN_ILS_TSWL (0x1u << CAN_ILS_TSWL_Pos)
846 #define CAN_ILS_MRAFL_Pos 17 /**< \brief (CAN_ILS) Message RAM Access Failure Interrupt Line */
847 #define CAN_ILS_MRAFL (0x1u << CAN_ILS_MRAFL_Pos)
848 #define CAN_ILS_TOOL_Pos 18 /**< \brief (CAN_ILS) Timeout Occurred Interrupt Line */
849 #define CAN_ILS_TOOL (0x1u << CAN_ILS_TOOL_Pos)
850 #define CAN_ILS_DRXL_Pos 19 /**< \brief (CAN_ILS) Message stored to Dedicated Rx Buffer Interrupt Line */
851 #define CAN_ILS_DRXL (0x1u << CAN_ILS_DRXL_Pos)
852 #define CAN_ILS_BECL_Pos 20 /**< \brief (CAN_ILS) Bit Error Corrected Interrupt Line */
853 #define CAN_ILS_BECL (0x1u << CAN_ILS_BECL_Pos)
854 #define CAN_ILS_BEUL_Pos 21 /**< \brief (CAN_ILS) Bit Error Uncorrected Interrupt Line */
855 #define CAN_ILS_BEUL (0x1u << CAN_ILS_BEUL_Pos)
856 #define CAN_ILS_ELOL_Pos 22 /**< \brief (CAN_ILS) Error Logging Overflow Interrupt Line */
857 #define CAN_ILS_ELOL (0x1u << CAN_ILS_ELOL_Pos)
858 #define CAN_ILS_EPL_Pos 23 /**< \brief (CAN_ILS) Error Passive Interrupt Line */
859 #define CAN_ILS_EPL (0x1u << CAN_ILS_EPL_Pos)
860 #define CAN_ILS_EWL_Pos 24 /**< \brief (CAN_ILS) Warning Status Interrupt Line */
861 #define CAN_ILS_EWL (0x1u << CAN_ILS_EWL_Pos)
862 #define CAN_ILS_BOL_Pos 25 /**< \brief (CAN_ILS) Bus_Off Status Interrupt Line */
863 #define CAN_ILS_BOL (0x1u << CAN_ILS_BOL_Pos)
864 #define CAN_ILS_WDIL_Pos 26 /**< \brief (CAN_ILS) Watchdog Interrupt Interrupt Line */
865 #define CAN_ILS_WDIL (0x1u << CAN_ILS_WDIL_Pos)
866 #define CAN_ILS_PEAL_Pos 27 /**< \brief (CAN_ILS) Protocol Error in Arbitration Phase Line */
867 #define CAN_ILS_PEAL (0x1u << CAN_ILS_PEAL_Pos)
868 #define CAN_ILS_PEDL_Pos 28 /**< \brief (CAN_ILS) Protocol Error in Data Phase Line */
869 #define CAN_ILS_PEDL (0x1u << CAN_ILS_PEDL_Pos)
870 #define CAN_ILS_ARAL_Pos 29 /**< \brief (CAN_ILS) Access to Reserved Address Line */
871 #define CAN_ILS_ARAL (0x1u << CAN_ILS_ARAL_Pos)
872 #define CAN_ILS_MASK 0x3FFFFFFFu /**< \brief (CAN_ILS) MASK Register */
874 /* -------- CAN_ILE : (CAN Offset: 0x5C) (R/W 32) Interrupt Line Enable -------- */
875 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
878 uint32_t EINT0:1; /*!< bit: 0 Enable Interrupt Line 0 */
879 uint32_t EINT1:1; /*!< bit: 1 Enable Interrupt Line 1 */
880 uint32_t :30; /*!< bit: 2..31 Reserved */
881 } bit; /*!< Structure used for bit access */
882 uint32_t reg; /*!< Type used for register access */
884 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
886 #define CAN_ILE_OFFSET 0x5C /**< \brief (CAN_ILE offset) Interrupt Line Enable */
887 #define CAN_ILE_RESETVALUE 0x00000000u /**< \brief (CAN_ILE reset_value) Interrupt Line Enable */
889 #define CAN_ILE_EINT0_Pos 0 /**< \brief (CAN_ILE) Enable Interrupt Line 0 */
890 #define CAN_ILE_EINT0 (0x1u << CAN_ILE_EINT0_Pos)
891 #define CAN_ILE_EINT1_Pos 1 /**< \brief (CAN_ILE) Enable Interrupt Line 1 */
892 #define CAN_ILE_EINT1 (0x1u << CAN_ILE_EINT1_Pos)
893 #define CAN_ILE_MASK 0x00000003u /**< \brief (CAN_ILE) MASK Register */
895 /* -------- CAN_GFC : (CAN Offset: 0x80) (R/W 32) Global Filter Configuration -------- */
896 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
899 uint32_t RRFE:1; /*!< bit: 0 Reject Remote Frames Extended */
900 uint32_t RRFS:1; /*!< bit: 1 Reject Remote Frames Standard */
901 uint32_t ANFE:2; /*!< bit: 2.. 3 Accept Non-matching Frames Extended */
902 uint32_t ANFS:2; /*!< bit: 4.. 5 Accept Non-matching Frames Standard */
903 uint32_t :26; /*!< bit: 6..31 Reserved */
904 } bit; /*!< Structure used for bit access */
905 uint32_t reg; /*!< Type used for register access */
907 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
909 #define CAN_GFC_OFFSET 0x80 /**< \brief (CAN_GFC offset) Global Filter Configuration */
910 #define CAN_GFC_RESETVALUE 0x00000000u /**< \brief (CAN_GFC reset_value) Global Filter Configuration */
912 #define CAN_GFC_RRFE_Pos 0 /**< \brief (CAN_GFC) Reject Remote Frames Extended */
913 #define CAN_GFC_RRFE (0x1u << CAN_GFC_RRFE_Pos)
914 #define CAN_GFC_RRFS_Pos 1 /**< \brief (CAN_GFC) Reject Remote Frames Standard */
915 #define CAN_GFC_RRFS (0x1u << CAN_GFC_RRFS_Pos)
916 #define CAN_GFC_ANFE_Pos 2 /**< \brief (CAN_GFC) Accept Non-matching Frames Extended */
917 #define CAN_GFC_ANFE_Msk (0x3u << CAN_GFC_ANFE_Pos)
918 #define CAN_GFC_ANFE(value) (CAN_GFC_ANFE_Msk & ((value) << CAN_GFC_ANFE_Pos))
919 #define CAN_GFC_ANFE_RXF0_Val 0x0u /**< \brief (CAN_GFC) Accept in Rx FIFO 0 */
920 #define CAN_GFC_ANFE_RXF1_Val 0x1u /**< \brief (CAN_GFC) Accept in Rx FIFO 1 */
921 #define CAN_GFC_ANFE_REJECT_Val 0x2u /**< \brief (CAN_GFC) Reject */
922 #define CAN_GFC_ANFE_RXF0 (CAN_GFC_ANFE_RXF0_Val << CAN_GFC_ANFE_Pos)
923 #define CAN_GFC_ANFE_RXF1 (CAN_GFC_ANFE_RXF1_Val << CAN_GFC_ANFE_Pos)
924 #define CAN_GFC_ANFE_REJECT (CAN_GFC_ANFE_REJECT_Val << CAN_GFC_ANFE_Pos)
925 #define CAN_GFC_ANFS_Pos 4 /**< \brief (CAN_GFC) Accept Non-matching Frames Standard */
926 #define CAN_GFC_ANFS_Msk (0x3u << CAN_GFC_ANFS_Pos)
927 #define CAN_GFC_ANFS(value) (CAN_GFC_ANFS_Msk & ((value) << CAN_GFC_ANFS_Pos))
928 #define CAN_GFC_ANFS_RXF0_Val 0x0u /**< \brief (CAN_GFC) Accept in Rx FIFO 0 */
929 #define CAN_GFC_ANFS_RXF1_Val 0x1u /**< \brief (CAN_GFC) Accept in Rx FIFO 1 */
930 #define CAN_GFC_ANFS_REJECT_Val 0x2u /**< \brief (CAN_GFC) Reject */
931 #define CAN_GFC_ANFS_RXF0 (CAN_GFC_ANFS_RXF0_Val << CAN_GFC_ANFS_Pos)
932 #define CAN_GFC_ANFS_RXF1 (CAN_GFC_ANFS_RXF1_Val << CAN_GFC_ANFS_Pos)
933 #define CAN_GFC_ANFS_REJECT (CAN_GFC_ANFS_REJECT_Val << CAN_GFC_ANFS_Pos)
934 #define CAN_GFC_MASK 0x0000003Fu /**< \brief (CAN_GFC) MASK Register */
936 /* -------- CAN_SIDFC : (CAN Offset: 0x84) (R/W 32) Standard ID Filter Configuration -------- */
937 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
940 uint32_t FLSSA:16; /*!< bit: 0..15 Filter List Standard Start Address */
941 uint32_t LSS:8; /*!< bit: 16..23 List Size Standard */
942 uint32_t :8; /*!< bit: 24..31 Reserved */
943 } bit; /*!< Structure used for bit access */
944 uint32_t reg; /*!< Type used for register access */
946 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
948 #define CAN_SIDFC_OFFSET 0x84 /**< \brief (CAN_SIDFC offset) Standard ID Filter Configuration */
949 #define CAN_SIDFC_RESETVALUE 0x00000000u /**< \brief (CAN_SIDFC reset_value) Standard ID Filter Configuration */
951 #define CAN_SIDFC_FLSSA_Pos 0 /**< \brief (CAN_SIDFC) Filter List Standard Start Address */
952 #define CAN_SIDFC_FLSSA_Msk (0xFFFFu << CAN_SIDFC_FLSSA_Pos)
953 #define CAN_SIDFC_FLSSA(value) (CAN_SIDFC_FLSSA_Msk & ((value) << CAN_SIDFC_FLSSA_Pos))
954 #define CAN_SIDFC_LSS_Pos 16 /**< \brief (CAN_SIDFC) List Size Standard */
955 #define CAN_SIDFC_LSS_Msk (0xFFu << CAN_SIDFC_LSS_Pos)
956 #define CAN_SIDFC_LSS(value) (CAN_SIDFC_LSS_Msk & ((value) << CAN_SIDFC_LSS_Pos))
957 #define CAN_SIDFC_MASK 0x00FFFFFFu /**< \brief (CAN_SIDFC) MASK Register */
959 /* -------- CAN_XIDFC : (CAN Offset: 0x88) (R/W 32) Extended ID Filter Configuration -------- */
960 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
963 uint32_t FLESA:16; /*!< bit: 0..15 Filter List Extended Start Address */
964 uint32_t LSE:7; /*!< bit: 16..22 List Size Extended */
965 uint32_t :9; /*!< bit: 23..31 Reserved */
966 } bit; /*!< Structure used for bit access */
967 uint32_t reg; /*!< Type used for register access */
969 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
971 #define CAN_XIDFC_OFFSET 0x88 /**< \brief (CAN_XIDFC offset) Extended ID Filter Configuration */
972 #define CAN_XIDFC_RESETVALUE 0x00000000u /**< \brief (CAN_XIDFC reset_value) Extended ID Filter Configuration */
974 #define CAN_XIDFC_FLESA_Pos 0 /**< \brief (CAN_XIDFC) Filter List Extended Start Address */
975 #define CAN_XIDFC_FLESA_Msk (0xFFFFu << CAN_XIDFC_FLESA_Pos)
976 #define CAN_XIDFC_FLESA(value) (CAN_XIDFC_FLESA_Msk & ((value) << CAN_XIDFC_FLESA_Pos))
977 #define CAN_XIDFC_LSE_Pos 16 /**< \brief (CAN_XIDFC) List Size Extended */
978 #define CAN_XIDFC_LSE_Msk (0x7Fu << CAN_XIDFC_LSE_Pos)
979 #define CAN_XIDFC_LSE(value) (CAN_XIDFC_LSE_Msk & ((value) << CAN_XIDFC_LSE_Pos))
980 #define CAN_XIDFC_MASK 0x007FFFFFu /**< \brief (CAN_XIDFC) MASK Register */
982 /* -------- CAN_XIDAM : (CAN Offset: 0x90) (R/W 32) Extended ID AND Mask -------- */
983 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
986 uint32_t EIDM:29; /*!< bit: 0..28 Extended ID Mask */
987 uint32_t :3; /*!< bit: 29..31 Reserved */
988 } bit; /*!< Structure used for bit access */
989 uint32_t reg; /*!< Type used for register access */
991 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
993 #define CAN_XIDAM_OFFSET 0x90 /**< \brief (CAN_XIDAM offset) Extended ID AND Mask */
994 #define CAN_XIDAM_RESETVALUE 0x1FFFFFFFu /**< \brief (CAN_XIDAM reset_value) Extended ID AND Mask */
996 #define CAN_XIDAM_EIDM_Pos 0 /**< \brief (CAN_XIDAM) Extended ID Mask */
997 #define CAN_XIDAM_EIDM_Msk (0x1FFFFFFFu << CAN_XIDAM_EIDM_Pos)
998 #define CAN_XIDAM_EIDM(value) (CAN_XIDAM_EIDM_Msk & ((value) << CAN_XIDAM_EIDM_Pos))
999 #define CAN_XIDAM_MASK 0x1FFFFFFFu /**< \brief (CAN_XIDAM) MASK Register */
1001 /* -------- CAN_HPMS : (CAN Offset: 0x94) (R/ 32) High Priority Message Status -------- */
1002 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1005 uint32_t BIDX:6; /*!< bit: 0.. 5 Buffer Index */
1006 uint32_t MSI:2; /*!< bit: 6.. 7 Message Storage Indicator */
1007 uint32_t FIDX:7; /*!< bit: 8..14 Filter Index */
1008 uint32_t FLST:1; /*!< bit: 15 Filter List */
1009 uint32_t :16; /*!< bit: 16..31 Reserved */
1010 } bit; /*!< Structure used for bit access */
1011 uint32_t reg; /*!< Type used for register access */
1013 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1015 #define CAN_HPMS_OFFSET 0x94 /**< \brief (CAN_HPMS offset) High Priority Message Status */
1016 #define CAN_HPMS_RESETVALUE 0x00000000u /**< \brief (CAN_HPMS reset_value) High Priority Message Status */
1018 #define CAN_HPMS_BIDX_Pos 0 /**< \brief (CAN_HPMS) Buffer Index */
1019 #define CAN_HPMS_BIDX_Msk (0x3Fu << CAN_HPMS_BIDX_Pos)
1020 #define CAN_HPMS_BIDX(value) (CAN_HPMS_BIDX_Msk & ((value) << CAN_HPMS_BIDX_Pos))
1021 #define CAN_HPMS_MSI_Pos 6 /**< \brief (CAN_HPMS) Message Storage Indicator */
1022 #define CAN_HPMS_MSI_Msk (0x3u << CAN_HPMS_MSI_Pos)
1023 #define CAN_HPMS_MSI(value) (CAN_HPMS_MSI_Msk & ((value) << CAN_HPMS_MSI_Pos))
1024 #define CAN_HPMS_MSI_NONE_Val 0x0u /**< \brief (CAN_HPMS) No FIFO selected */
1025 #define CAN_HPMS_MSI_LOST_Val 0x1u /**< \brief (CAN_HPMS) FIFO message lost */
1026 #define CAN_HPMS_MSI_FIFO0_Val 0x2u /**< \brief (CAN_HPMS) Message stored in FIFO 0 */
1027 #define CAN_HPMS_MSI_FIFO1_Val 0x3u /**< \brief (CAN_HPMS) Message stored in FIFO 1 */
1028 #define CAN_HPMS_MSI_NONE (CAN_HPMS_MSI_NONE_Val << CAN_HPMS_MSI_Pos)
1029 #define CAN_HPMS_MSI_LOST (CAN_HPMS_MSI_LOST_Val << CAN_HPMS_MSI_Pos)
1030 #define CAN_HPMS_MSI_FIFO0 (CAN_HPMS_MSI_FIFO0_Val << CAN_HPMS_MSI_Pos)
1031 #define CAN_HPMS_MSI_FIFO1 (CAN_HPMS_MSI_FIFO1_Val << CAN_HPMS_MSI_Pos)
1032 #define CAN_HPMS_FIDX_Pos 8 /**< \brief (CAN_HPMS) Filter Index */
1033 #define CAN_HPMS_FIDX_Msk (0x7Fu << CAN_HPMS_FIDX_Pos)
1034 #define CAN_HPMS_FIDX(value) (CAN_HPMS_FIDX_Msk & ((value) << CAN_HPMS_FIDX_Pos))
1035 #define CAN_HPMS_FLST_Pos 15 /**< \brief (CAN_HPMS) Filter List */
1036 #define CAN_HPMS_FLST (0x1u << CAN_HPMS_FLST_Pos)
1037 #define CAN_HPMS_MASK 0x0000FFFFu /**< \brief (CAN_HPMS) MASK Register */
1039 /* -------- CAN_NDAT1 : (CAN Offset: 0x98) (R/W 32) New Data 1 -------- */
1040 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1043 uint32_t ND0:1; /*!< bit: 0 New Data 0 */
1044 uint32_t ND1:1; /*!< bit: 1 New Data 1 */
1045 uint32_t ND2:1; /*!< bit: 2 New Data 2 */
1046 uint32_t ND3:1; /*!< bit: 3 New Data 3 */
1047 uint32_t ND4:1; /*!< bit: 4 New Data 4 */
1048 uint32_t ND5:1; /*!< bit: 5 New Data 5 */
1049 uint32_t ND6:1; /*!< bit: 6 New Data 6 */
1050 uint32_t ND7:1; /*!< bit: 7 New Data 7 */
1051 uint32_t ND8:1; /*!< bit: 8 New Data 8 */
1052 uint32_t ND9:1; /*!< bit: 9 New Data 9 */
1053 uint32_t ND10:1; /*!< bit: 10 New Data 10 */
1054 uint32_t ND11:1; /*!< bit: 11 New Data 11 */
1055 uint32_t ND12:1; /*!< bit: 12 New Data 12 */
1056 uint32_t ND13:1; /*!< bit: 13 New Data 13 */
1057 uint32_t ND14:1; /*!< bit: 14 New Data 14 */
1058 uint32_t ND15:1; /*!< bit: 15 New Data 15 */
1059 uint32_t ND16:1; /*!< bit: 16 New Data 16 */
1060 uint32_t ND17:1; /*!< bit: 17 New Data 17 */
1061 uint32_t ND18:1; /*!< bit: 18 New Data 18 */
1062 uint32_t ND19:1; /*!< bit: 19 New Data 19 */
1063 uint32_t ND20:1; /*!< bit: 20 New Data 20 */
1064 uint32_t ND21:1; /*!< bit: 21 New Data 21 */
1065 uint32_t ND22:1; /*!< bit: 22 New Data 22 */
1066 uint32_t ND23:1; /*!< bit: 23 New Data 23 */
1067 uint32_t ND24:1; /*!< bit: 24 New Data 24 */
1068 uint32_t ND25:1; /*!< bit: 25 New Data 25 */
1069 uint32_t ND26:1; /*!< bit: 26 New Data 26 */
1070 uint32_t ND27:1; /*!< bit: 27 New Data 27 */
1071 uint32_t ND28:1; /*!< bit: 28 New Data 28 */
1072 uint32_t ND29:1; /*!< bit: 29 New Data 29 */
1073 uint32_t ND30:1; /*!< bit: 30 New Data 30 */
1074 uint32_t ND31:1; /*!< bit: 31 New Data 31 */
1075 } bit; /*!< Structure used for bit access */
1076 uint32_t reg; /*!< Type used for register access */
1078 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1080 #define CAN_NDAT1_OFFSET 0x98 /**< \brief (CAN_NDAT1 offset) New Data 1 */
1081 #define CAN_NDAT1_RESETVALUE 0x00000000u /**< \brief (CAN_NDAT1 reset_value) New Data 1 */
1083 #define CAN_NDAT1_ND0_Pos 0 /**< \brief (CAN_NDAT1) New Data 0 */
1084 #define CAN_NDAT1_ND0 (0x1u << CAN_NDAT1_ND0_Pos)
1085 #define CAN_NDAT1_ND1_Pos 1 /**< \brief (CAN_NDAT1) New Data 1 */
1086 #define CAN_NDAT1_ND1 (0x1u << CAN_NDAT1_ND1_Pos)
1087 #define CAN_NDAT1_ND2_Pos 2 /**< \brief (CAN_NDAT1) New Data 2 */
1088 #define CAN_NDAT1_ND2 (0x1u << CAN_NDAT1_ND2_Pos)
1089 #define CAN_NDAT1_ND3_Pos 3 /**< \brief (CAN_NDAT1) New Data 3 */
1090 #define CAN_NDAT1_ND3 (0x1u << CAN_NDAT1_ND3_Pos)
1091 #define CAN_NDAT1_ND4_Pos 4 /**< \brief (CAN_NDAT1) New Data 4 */
1092 #define CAN_NDAT1_ND4 (0x1u << CAN_NDAT1_ND4_Pos)
1093 #define CAN_NDAT1_ND5_Pos 5 /**< \brief (CAN_NDAT1) New Data 5 */
1094 #define CAN_NDAT1_ND5 (0x1u << CAN_NDAT1_ND5_Pos)
1095 #define CAN_NDAT1_ND6_Pos 6 /**< \brief (CAN_NDAT1) New Data 6 */
1096 #define CAN_NDAT1_ND6 (0x1u << CAN_NDAT1_ND6_Pos)
1097 #define CAN_NDAT1_ND7_Pos 7 /**< \brief (CAN_NDAT1) New Data 7 */
1098 #define CAN_NDAT1_ND7 (0x1u << CAN_NDAT1_ND7_Pos)
1099 #define CAN_NDAT1_ND8_Pos 8 /**< \brief (CAN_NDAT1) New Data 8 */
1100 #define CAN_NDAT1_ND8 (0x1u << CAN_NDAT1_ND8_Pos)
1101 #define CAN_NDAT1_ND9_Pos 9 /**< \brief (CAN_NDAT1) New Data 9 */
1102 #define CAN_NDAT1_ND9 (0x1u << CAN_NDAT1_ND9_Pos)
1103 #define CAN_NDAT1_ND10_Pos 10 /**< \brief (CAN_NDAT1) New Data 10 */
1104 #define CAN_NDAT1_ND10 (0x1u << CAN_NDAT1_ND10_Pos)
1105 #define CAN_NDAT1_ND11_Pos 11 /**< \brief (CAN_NDAT1) New Data 11 */
1106 #define CAN_NDAT1_ND11 (0x1u << CAN_NDAT1_ND11_Pos)
1107 #define CAN_NDAT1_ND12_Pos 12 /**< \brief (CAN_NDAT1) New Data 12 */
1108 #define CAN_NDAT1_ND12 (0x1u << CAN_NDAT1_ND12_Pos)
1109 #define CAN_NDAT1_ND13_Pos 13 /**< \brief (CAN_NDAT1) New Data 13 */
1110 #define CAN_NDAT1_ND13 (0x1u << CAN_NDAT1_ND13_Pos)
1111 #define CAN_NDAT1_ND14_Pos 14 /**< \brief (CAN_NDAT1) New Data 14 */
1112 #define CAN_NDAT1_ND14 (0x1u << CAN_NDAT1_ND14_Pos)
1113 #define CAN_NDAT1_ND15_Pos 15 /**< \brief (CAN_NDAT1) New Data 15 */
1114 #define CAN_NDAT1_ND15 (0x1u << CAN_NDAT1_ND15_Pos)
1115 #define CAN_NDAT1_ND16_Pos 16 /**< \brief (CAN_NDAT1) New Data 16 */
1116 #define CAN_NDAT1_ND16 (0x1u << CAN_NDAT1_ND16_Pos)
1117 #define CAN_NDAT1_ND17_Pos 17 /**< \brief (CAN_NDAT1) New Data 17 */
1118 #define CAN_NDAT1_ND17 (0x1u << CAN_NDAT1_ND17_Pos)
1119 #define CAN_NDAT1_ND18_Pos 18 /**< \brief (CAN_NDAT1) New Data 18 */
1120 #define CAN_NDAT1_ND18 (0x1u << CAN_NDAT1_ND18_Pos)
1121 #define CAN_NDAT1_ND19_Pos 19 /**< \brief (CAN_NDAT1) New Data 19 */
1122 #define CAN_NDAT1_ND19 (0x1u << CAN_NDAT1_ND19_Pos)
1123 #define CAN_NDAT1_ND20_Pos 20 /**< \brief (CAN_NDAT1) New Data 20 */
1124 #define CAN_NDAT1_ND20 (0x1u << CAN_NDAT1_ND20_Pos)
1125 #define CAN_NDAT1_ND21_Pos 21 /**< \brief (CAN_NDAT1) New Data 21 */
1126 #define CAN_NDAT1_ND21 (0x1u << CAN_NDAT1_ND21_Pos)
1127 #define CAN_NDAT1_ND22_Pos 22 /**< \brief (CAN_NDAT1) New Data 22 */
1128 #define CAN_NDAT1_ND22 (0x1u << CAN_NDAT1_ND22_Pos)
1129 #define CAN_NDAT1_ND23_Pos 23 /**< \brief (CAN_NDAT1) New Data 23 */
1130 #define CAN_NDAT1_ND23 (0x1u << CAN_NDAT1_ND23_Pos)
1131 #define CAN_NDAT1_ND24_Pos 24 /**< \brief (CAN_NDAT1) New Data 24 */
1132 #define CAN_NDAT1_ND24 (0x1u << CAN_NDAT1_ND24_Pos)
1133 #define CAN_NDAT1_ND25_Pos 25 /**< \brief (CAN_NDAT1) New Data 25 */
1134 #define CAN_NDAT1_ND25 (0x1u << CAN_NDAT1_ND25_Pos)
1135 #define CAN_NDAT1_ND26_Pos 26 /**< \brief (CAN_NDAT1) New Data 26 */
1136 #define CAN_NDAT1_ND26 (0x1u << CAN_NDAT1_ND26_Pos)
1137 #define CAN_NDAT1_ND27_Pos 27 /**< \brief (CAN_NDAT1) New Data 27 */
1138 #define CAN_NDAT1_ND27 (0x1u << CAN_NDAT1_ND27_Pos)
1139 #define CAN_NDAT1_ND28_Pos 28 /**< \brief (CAN_NDAT1) New Data 28 */
1140 #define CAN_NDAT1_ND28 (0x1u << CAN_NDAT1_ND28_Pos)
1141 #define CAN_NDAT1_ND29_Pos 29 /**< \brief (CAN_NDAT1) New Data 29 */
1142 #define CAN_NDAT1_ND29 (0x1u << CAN_NDAT1_ND29_Pos)
1143 #define CAN_NDAT1_ND30_Pos 30 /**< \brief (CAN_NDAT1) New Data 30 */
1144 #define CAN_NDAT1_ND30 (0x1u << CAN_NDAT1_ND30_Pos)
1145 #define CAN_NDAT1_ND31_Pos 31 /**< \brief (CAN_NDAT1) New Data 31 */
1146 #define CAN_NDAT1_ND31 (0x1u << CAN_NDAT1_ND31_Pos)
1147 #define CAN_NDAT1_MASK 0xFFFFFFFFu /**< \brief (CAN_NDAT1) MASK Register */
1149 /* -------- CAN_NDAT2 : (CAN Offset: 0x9C) (R/W 32) New Data 2 -------- */
1150 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1153 uint32_t ND32:1; /*!< bit: 0 New Data 32 */
1154 uint32_t ND33:1; /*!< bit: 1 New Data 33 */
1155 uint32_t ND34:1; /*!< bit: 2 New Data 34 */
1156 uint32_t ND35:1; /*!< bit: 3 New Data 35 */
1157 uint32_t ND36:1; /*!< bit: 4 New Data 36 */
1158 uint32_t ND37:1; /*!< bit: 5 New Data 37 */
1159 uint32_t ND38:1; /*!< bit: 6 New Data 38 */
1160 uint32_t ND39:1; /*!< bit: 7 New Data 39 */
1161 uint32_t ND40:1; /*!< bit: 8 New Data 40 */
1162 uint32_t ND41:1; /*!< bit: 9 New Data 41 */
1163 uint32_t ND42:1; /*!< bit: 10 New Data 42 */
1164 uint32_t ND43:1; /*!< bit: 11 New Data 43 */
1165 uint32_t ND44:1; /*!< bit: 12 New Data 44 */
1166 uint32_t ND45:1; /*!< bit: 13 New Data 45 */
1167 uint32_t ND46:1; /*!< bit: 14 New Data 46 */
1168 uint32_t ND47:1; /*!< bit: 15 New Data 47 */
1169 uint32_t ND48:1; /*!< bit: 16 New Data 48 */
1170 uint32_t ND49:1; /*!< bit: 17 New Data 49 */
1171 uint32_t ND50:1; /*!< bit: 18 New Data 50 */
1172 uint32_t ND51:1; /*!< bit: 19 New Data 51 */
1173 uint32_t ND52:1; /*!< bit: 20 New Data 52 */
1174 uint32_t ND53:1; /*!< bit: 21 New Data 53 */
1175 uint32_t ND54:1; /*!< bit: 22 New Data 54 */
1176 uint32_t ND55:1; /*!< bit: 23 New Data 55 */
1177 uint32_t ND56:1; /*!< bit: 24 New Data 56 */
1178 uint32_t ND57:1; /*!< bit: 25 New Data 57 */
1179 uint32_t ND58:1; /*!< bit: 26 New Data 58 */
1180 uint32_t ND59:1; /*!< bit: 27 New Data 59 */
1181 uint32_t ND60:1; /*!< bit: 28 New Data 60 */
1182 uint32_t ND61:1; /*!< bit: 29 New Data 61 */
1183 uint32_t ND62:1; /*!< bit: 30 New Data 62 */
1184 uint32_t ND63:1; /*!< bit: 31 New Data 63 */
1185 } bit; /*!< Structure used for bit access */
1186 uint32_t reg; /*!< Type used for register access */
1188 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1190 #define CAN_NDAT2_OFFSET 0x9C /**< \brief (CAN_NDAT2 offset) New Data 2 */
1191 #define CAN_NDAT2_RESETVALUE 0x00000000u /**< \brief (CAN_NDAT2 reset_value) New Data 2 */
1193 #define CAN_NDAT2_ND32_Pos 0 /**< \brief (CAN_NDAT2) New Data 32 */
1194 #define CAN_NDAT2_ND32 (0x1u << CAN_NDAT2_ND32_Pos)
1195 #define CAN_NDAT2_ND33_Pos 1 /**< \brief (CAN_NDAT2) New Data 33 */
1196 #define CAN_NDAT2_ND33 (0x1u << CAN_NDAT2_ND33_Pos)
1197 #define CAN_NDAT2_ND34_Pos 2 /**< \brief (CAN_NDAT2) New Data 34 */
1198 #define CAN_NDAT2_ND34 (0x1u << CAN_NDAT2_ND34_Pos)
1199 #define CAN_NDAT2_ND35_Pos 3 /**< \brief (CAN_NDAT2) New Data 35 */
1200 #define CAN_NDAT2_ND35 (0x1u << CAN_NDAT2_ND35_Pos)
1201 #define CAN_NDAT2_ND36_Pos 4 /**< \brief (CAN_NDAT2) New Data 36 */
1202 #define CAN_NDAT2_ND36 (0x1u << CAN_NDAT2_ND36_Pos)
1203 #define CAN_NDAT2_ND37_Pos 5 /**< \brief (CAN_NDAT2) New Data 37 */
1204 #define CAN_NDAT2_ND37 (0x1u << CAN_NDAT2_ND37_Pos)
1205 #define CAN_NDAT2_ND38_Pos 6 /**< \brief (CAN_NDAT2) New Data 38 */
1206 #define CAN_NDAT2_ND38 (0x1u << CAN_NDAT2_ND38_Pos)
1207 #define CAN_NDAT2_ND39_Pos 7 /**< \brief (CAN_NDAT2) New Data 39 */
1208 #define CAN_NDAT2_ND39 (0x1u << CAN_NDAT2_ND39_Pos)
1209 #define CAN_NDAT2_ND40_Pos 8 /**< \brief (CAN_NDAT2) New Data 40 */
1210 #define CAN_NDAT2_ND40 (0x1u << CAN_NDAT2_ND40_Pos)
1211 #define CAN_NDAT2_ND41_Pos 9 /**< \brief (CAN_NDAT2) New Data 41 */
1212 #define CAN_NDAT2_ND41 (0x1u << CAN_NDAT2_ND41_Pos)
1213 #define CAN_NDAT2_ND42_Pos 10 /**< \brief (CAN_NDAT2) New Data 42 */
1214 #define CAN_NDAT2_ND42 (0x1u << CAN_NDAT2_ND42_Pos)
1215 #define CAN_NDAT2_ND43_Pos 11 /**< \brief (CAN_NDAT2) New Data 43 */
1216 #define CAN_NDAT2_ND43 (0x1u << CAN_NDAT2_ND43_Pos)
1217 #define CAN_NDAT2_ND44_Pos 12 /**< \brief (CAN_NDAT2) New Data 44 */
1218 #define CAN_NDAT2_ND44 (0x1u << CAN_NDAT2_ND44_Pos)
1219 #define CAN_NDAT2_ND45_Pos 13 /**< \brief (CAN_NDAT2) New Data 45 */
1220 #define CAN_NDAT2_ND45 (0x1u << CAN_NDAT2_ND45_Pos)
1221 #define CAN_NDAT2_ND46_Pos 14 /**< \brief (CAN_NDAT2) New Data 46 */
1222 #define CAN_NDAT2_ND46 (0x1u << CAN_NDAT2_ND46_Pos)
1223 #define CAN_NDAT2_ND47_Pos 15 /**< \brief (CAN_NDAT2) New Data 47 */
1224 #define CAN_NDAT2_ND47 (0x1u << CAN_NDAT2_ND47_Pos)
1225 #define CAN_NDAT2_ND48_Pos 16 /**< \brief (CAN_NDAT2) New Data 48 */
1226 #define CAN_NDAT2_ND48 (0x1u << CAN_NDAT2_ND48_Pos)
1227 #define CAN_NDAT2_ND49_Pos 17 /**< \brief (CAN_NDAT2) New Data 49 */
1228 #define CAN_NDAT2_ND49 (0x1u << CAN_NDAT2_ND49_Pos)
1229 #define CAN_NDAT2_ND50_Pos 18 /**< \brief (CAN_NDAT2) New Data 50 */
1230 #define CAN_NDAT2_ND50 (0x1u << CAN_NDAT2_ND50_Pos)
1231 #define CAN_NDAT2_ND51_Pos 19 /**< \brief (CAN_NDAT2) New Data 51 */
1232 #define CAN_NDAT2_ND51 (0x1u << CAN_NDAT2_ND51_Pos)
1233 #define CAN_NDAT2_ND52_Pos 20 /**< \brief (CAN_NDAT2) New Data 52 */
1234 #define CAN_NDAT2_ND52 (0x1u << CAN_NDAT2_ND52_Pos)
1235 #define CAN_NDAT2_ND53_Pos 21 /**< \brief (CAN_NDAT2) New Data 53 */
1236 #define CAN_NDAT2_ND53 (0x1u << CAN_NDAT2_ND53_Pos)
1237 #define CAN_NDAT2_ND54_Pos 22 /**< \brief (CAN_NDAT2) New Data 54 */
1238 #define CAN_NDAT2_ND54 (0x1u << CAN_NDAT2_ND54_Pos)
1239 #define CAN_NDAT2_ND55_Pos 23 /**< \brief (CAN_NDAT2) New Data 55 */
1240 #define CAN_NDAT2_ND55 (0x1u << CAN_NDAT2_ND55_Pos)
1241 #define CAN_NDAT2_ND56_Pos 24 /**< \brief (CAN_NDAT2) New Data 56 */
1242 #define CAN_NDAT2_ND56 (0x1u << CAN_NDAT2_ND56_Pos)
1243 #define CAN_NDAT2_ND57_Pos 25 /**< \brief (CAN_NDAT2) New Data 57 */
1244 #define CAN_NDAT2_ND57 (0x1u << CAN_NDAT2_ND57_Pos)
1245 #define CAN_NDAT2_ND58_Pos 26 /**< \brief (CAN_NDAT2) New Data 58 */
1246 #define CAN_NDAT2_ND58 (0x1u << CAN_NDAT2_ND58_Pos)
1247 #define CAN_NDAT2_ND59_Pos 27 /**< \brief (CAN_NDAT2) New Data 59 */
1248 #define CAN_NDAT2_ND59 (0x1u << CAN_NDAT2_ND59_Pos)
1249 #define CAN_NDAT2_ND60_Pos 28 /**< \brief (CAN_NDAT2) New Data 60 */
1250 #define CAN_NDAT2_ND60 (0x1u << CAN_NDAT2_ND60_Pos)
1251 #define CAN_NDAT2_ND61_Pos 29 /**< \brief (CAN_NDAT2) New Data 61 */
1252 #define CAN_NDAT2_ND61 (0x1u << CAN_NDAT2_ND61_Pos)
1253 #define CAN_NDAT2_ND62_Pos 30 /**< \brief (CAN_NDAT2) New Data 62 */
1254 #define CAN_NDAT2_ND62 (0x1u << CAN_NDAT2_ND62_Pos)
1255 #define CAN_NDAT2_ND63_Pos 31 /**< \brief (CAN_NDAT2) New Data 63 */
1256 #define CAN_NDAT2_ND63 (0x1u << CAN_NDAT2_ND63_Pos)
1257 #define CAN_NDAT2_MASK 0xFFFFFFFFu /**< \brief (CAN_NDAT2) MASK Register */
1259 /* -------- CAN_RXF0C : (CAN Offset: 0xA0) (R/W 32) Rx FIFO 0 Configuration -------- */
1260 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1263 uint32_t F0SA:16; /*!< bit: 0..15 Rx FIFO 0 Start Address */
1264 uint32_t F0S:7; /*!< bit: 16..22 Rx FIFO 0 Size */
1265 uint32_t :1; /*!< bit: 23 Reserved */
1266 uint32_t F0WM:7; /*!< bit: 24..30 Rx FIFO 0 Watermark */
1267 uint32_t F0OM:1; /*!< bit: 31 FIFO 0 Operation Mode */
1268 } bit; /*!< Structure used for bit access */
1269 uint32_t reg; /*!< Type used for register access */
1271 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1273 #define CAN_RXF0C_OFFSET 0xA0 /**< \brief (CAN_RXF0C offset) Rx FIFO 0 Configuration */
1274 #define CAN_RXF0C_RESETVALUE 0x00000000u /**< \brief (CAN_RXF0C reset_value) Rx FIFO 0 Configuration */
1276 #define CAN_RXF0C_F0SA_Pos 0 /**< \brief (CAN_RXF0C) Rx FIFO 0 Start Address */
1277 #define CAN_RXF0C_F0SA_Msk (0xFFFFu << CAN_RXF0C_F0SA_Pos)
1278 #define CAN_RXF0C_F0SA(value) (CAN_RXF0C_F0SA_Msk & ((value) << CAN_RXF0C_F0SA_Pos))
1279 #define CAN_RXF0C_F0S_Pos 16 /**< \brief (CAN_RXF0C) Rx FIFO 0 Size */
1280 #define CAN_RXF0C_F0S_Msk (0x7Fu << CAN_RXF0C_F0S_Pos)
1281 #define CAN_RXF0C_F0S(value) (CAN_RXF0C_F0S_Msk & ((value) << CAN_RXF0C_F0S_Pos))
1282 #define CAN_RXF0C_F0WM_Pos 24 /**< \brief (CAN_RXF0C) Rx FIFO 0 Watermark */
1283 #define CAN_RXF0C_F0WM_Msk (0x7Fu << CAN_RXF0C_F0WM_Pos)
1284 #define CAN_RXF0C_F0WM(value) (CAN_RXF0C_F0WM_Msk & ((value) << CAN_RXF0C_F0WM_Pos))
1285 #define CAN_RXF0C_F0OM_Pos 31 /**< \brief (CAN_RXF0C) FIFO 0 Operation Mode */
1286 #define CAN_RXF0C_F0OM (0x1u << CAN_RXF0C_F0OM_Pos)
1287 #define CAN_RXF0C_MASK 0xFF7FFFFFu /**< \brief (CAN_RXF0C) MASK Register */
1289 /* -------- CAN_RXF0S : (CAN Offset: 0xA4) (R/ 32) Rx FIFO 0 Status -------- */
1290 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1293 uint32_t F0FL:7; /*!< bit: 0.. 6 Rx FIFO 0 Fill Level */
1294 uint32_t :1; /*!< bit: 7 Reserved */
1295 uint32_t F0GI:6; /*!< bit: 8..13 Rx FIFO 0 Get Index */
1296 uint32_t :2; /*!< bit: 14..15 Reserved */
1297 uint32_t F0PI:6; /*!< bit: 16..21 Rx FIFO 0 Put Index */
1298 uint32_t :2; /*!< bit: 22..23 Reserved */
1299 uint32_t F0F:1; /*!< bit: 24 Rx FIFO 0 Full */
1300 uint32_t RF0L:1; /*!< bit: 25 Rx FIFO 0 Message Lost */
1301 uint32_t :6; /*!< bit: 26..31 Reserved */
1302 } bit; /*!< Structure used for bit access */
1303 uint32_t reg; /*!< Type used for register access */
1305 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1307 #define CAN_RXF0S_OFFSET 0xA4 /**< \brief (CAN_RXF0S offset) Rx FIFO 0 Status */
1308 #define CAN_RXF0S_RESETVALUE 0x00000000u /**< \brief (CAN_RXF0S reset_value) Rx FIFO 0 Status */
1310 #define CAN_RXF0S_F0FL_Pos 0 /**< \brief (CAN_RXF0S) Rx FIFO 0 Fill Level */
1311 #define CAN_RXF0S_F0FL_Msk (0x7Fu << CAN_RXF0S_F0FL_Pos)
1312 #define CAN_RXF0S_F0FL(value) (CAN_RXF0S_F0FL_Msk & ((value) << CAN_RXF0S_F0FL_Pos))
1313 #define CAN_RXF0S_F0GI_Pos 8 /**< \brief (CAN_RXF0S) Rx FIFO 0 Get Index */
1314 #define CAN_RXF0S_F0GI_Msk (0x3Fu << CAN_RXF0S_F0GI_Pos)
1315 #define CAN_RXF0S_F0GI(value) (CAN_RXF0S_F0GI_Msk & ((value) << CAN_RXF0S_F0GI_Pos))
1316 #define CAN_RXF0S_F0PI_Pos 16 /**< \brief (CAN_RXF0S) Rx FIFO 0 Put Index */
1317 #define CAN_RXF0S_F0PI_Msk (0x3Fu << CAN_RXF0S_F0PI_Pos)
1318 #define CAN_RXF0S_F0PI(value) (CAN_RXF0S_F0PI_Msk & ((value) << CAN_RXF0S_F0PI_Pos))
1319 #define CAN_RXF0S_F0F_Pos 24 /**< \brief (CAN_RXF0S) Rx FIFO 0 Full */
1320 #define CAN_RXF0S_F0F (0x1u << CAN_RXF0S_F0F_Pos)
1321 #define CAN_RXF0S_RF0L_Pos 25 /**< \brief (CAN_RXF0S) Rx FIFO 0 Message Lost */
1322 #define CAN_RXF0S_RF0L (0x1u << CAN_RXF0S_RF0L_Pos)
1323 #define CAN_RXF0S_MASK 0x033F3F7Fu /**< \brief (CAN_RXF0S) MASK Register */
1325 /* -------- CAN_RXF0A : (CAN Offset: 0xA8) (R/W 32) Rx FIFO 0 Acknowledge -------- */
1326 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1329 uint32_t F0AI:6; /*!< bit: 0.. 5 Rx FIFO 0 Acknowledge Index */
1330 uint32_t :26; /*!< bit: 6..31 Reserved */
1331 } bit; /*!< Structure used for bit access */
1332 uint32_t reg; /*!< Type used for register access */
1334 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1336 #define CAN_RXF0A_OFFSET 0xA8 /**< \brief (CAN_RXF0A offset) Rx FIFO 0 Acknowledge */
1337 #define CAN_RXF0A_RESETVALUE 0x00000000u /**< \brief (CAN_RXF0A reset_value) Rx FIFO 0 Acknowledge */
1339 #define CAN_RXF0A_F0AI_Pos 0 /**< \brief (CAN_RXF0A) Rx FIFO 0 Acknowledge Index */
1340 #define CAN_RXF0A_F0AI_Msk (0x3Fu << CAN_RXF0A_F0AI_Pos)
1341 #define CAN_RXF0A_F0AI(value) (CAN_RXF0A_F0AI_Msk & ((value) << CAN_RXF0A_F0AI_Pos))
1342 #define CAN_RXF0A_MASK 0x0000003Fu /**< \brief (CAN_RXF0A) MASK Register */
1344 /* -------- CAN_RXBC : (CAN Offset: 0xAC) (R/W 32) Rx Buffer Configuration -------- */
1345 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1348 uint32_t RBSA:16; /*!< bit: 0..15 Rx Buffer Start Address */
1349 uint32_t :16; /*!< bit: 16..31 Reserved */
1350 } bit; /*!< Structure used for bit access */
1351 uint32_t reg; /*!< Type used for register access */
1353 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1355 #define CAN_RXBC_OFFSET 0xAC /**< \brief (CAN_RXBC offset) Rx Buffer Configuration */
1356 #define CAN_RXBC_RESETVALUE 0x00000000u /**< \brief (CAN_RXBC reset_value) Rx Buffer Configuration */
1358 #define CAN_RXBC_RBSA_Pos 0 /**< \brief (CAN_RXBC) Rx Buffer Start Address */
1359 #define CAN_RXBC_RBSA_Msk (0xFFFFu << CAN_RXBC_RBSA_Pos)
1360 #define CAN_RXBC_RBSA(value) (CAN_RXBC_RBSA_Msk & ((value) << CAN_RXBC_RBSA_Pos))
1361 #define CAN_RXBC_MASK 0x0000FFFFu /**< \brief (CAN_RXBC) MASK Register */
1363 /* -------- CAN_RXF1C : (CAN Offset: 0xB0) (R/W 32) Rx FIFO 1 Configuration -------- */
1364 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1367 uint32_t F1SA:16; /*!< bit: 0..15 Rx FIFO 1 Start Address */
1368 uint32_t F1S:7; /*!< bit: 16..22 Rx FIFO 1 Size */
1369 uint32_t :1; /*!< bit: 23 Reserved */
1370 uint32_t F1WM:7; /*!< bit: 24..30 Rx FIFO 1 Watermark */
1371 uint32_t F1OM:1; /*!< bit: 31 FIFO 1 Operation Mode */
1372 } bit; /*!< Structure used for bit access */
1373 uint32_t reg; /*!< Type used for register access */
1375 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1377 #define CAN_RXF1C_OFFSET 0xB0 /**< \brief (CAN_RXF1C offset) Rx FIFO 1 Configuration */
1378 #define CAN_RXF1C_RESETVALUE 0x00000000u /**< \brief (CAN_RXF1C reset_value) Rx FIFO 1 Configuration */
1380 #define CAN_RXF1C_F1SA_Pos 0 /**< \brief (CAN_RXF1C) Rx FIFO 1 Start Address */
1381 #define CAN_RXF1C_F1SA_Msk (0xFFFFu << CAN_RXF1C_F1SA_Pos)
1382 #define CAN_RXF1C_F1SA(value) (CAN_RXF1C_F1SA_Msk & ((value) << CAN_RXF1C_F1SA_Pos))
1383 #define CAN_RXF1C_F1S_Pos 16 /**< \brief (CAN_RXF1C) Rx FIFO 1 Size */
1384 #define CAN_RXF1C_F1S_Msk (0x7Fu << CAN_RXF1C_F1S_Pos)
1385 #define CAN_RXF1C_F1S(value) (CAN_RXF1C_F1S_Msk & ((value) << CAN_RXF1C_F1S_Pos))
1386 #define CAN_RXF1C_F1WM_Pos 24 /**< \brief (CAN_RXF1C) Rx FIFO 1 Watermark */
1387 #define CAN_RXF1C_F1WM_Msk (0x7Fu << CAN_RXF1C_F1WM_Pos)
1388 #define CAN_RXF1C_F1WM(value) (CAN_RXF1C_F1WM_Msk & ((value) << CAN_RXF1C_F1WM_Pos))
1389 #define CAN_RXF1C_F1OM_Pos 31 /**< \brief (CAN_RXF1C) FIFO 1 Operation Mode */
1390 #define CAN_RXF1C_F1OM (0x1u << CAN_RXF1C_F1OM_Pos)
1391 #define CAN_RXF1C_MASK 0xFF7FFFFFu /**< \brief (CAN_RXF1C) MASK Register */
1393 /* -------- CAN_RXF1S : (CAN Offset: 0xB4) (R/ 32) Rx FIFO 1 Status -------- */
1394 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1397 uint32_t F1FL:7; /*!< bit: 0.. 6 Rx FIFO 1 Fill Level */
1398 uint32_t :1; /*!< bit: 7 Reserved */
1399 uint32_t F1GI:6; /*!< bit: 8..13 Rx FIFO 1 Get Index */
1400 uint32_t :2; /*!< bit: 14..15 Reserved */
1401 uint32_t F1PI:6; /*!< bit: 16..21 Rx FIFO 1 Put Index */
1402 uint32_t :2; /*!< bit: 22..23 Reserved */
1403 uint32_t F1F:1; /*!< bit: 24 Rx FIFO 1 Full */
1404 uint32_t RF1L:1; /*!< bit: 25 Rx FIFO 1 Message Lost */
1405 uint32_t :4; /*!< bit: 26..29 Reserved */
1406 uint32_t DMS:2; /*!< bit: 30..31 Debug Message Status */
1407 } bit; /*!< Structure used for bit access */
1408 uint32_t reg; /*!< Type used for register access */
1410 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1412 #define CAN_RXF1S_OFFSET 0xB4 /**< \brief (CAN_RXF1S offset) Rx FIFO 1 Status */
1413 #define CAN_RXF1S_RESETVALUE 0x00000000u /**< \brief (CAN_RXF1S reset_value) Rx FIFO 1 Status */
1415 #define CAN_RXF1S_F1FL_Pos 0 /**< \brief (CAN_RXF1S) Rx FIFO 1 Fill Level */
1416 #define CAN_RXF1S_F1FL_Msk (0x7Fu << CAN_RXF1S_F1FL_Pos)
1417 #define CAN_RXF1S_F1FL(value) (CAN_RXF1S_F1FL_Msk & ((value) << CAN_RXF1S_F1FL_Pos))
1418 #define CAN_RXF1S_F1GI_Pos 8 /**< \brief (CAN_RXF1S) Rx FIFO 1 Get Index */
1419 #define CAN_RXF1S_F1GI_Msk (0x3Fu << CAN_RXF1S_F1GI_Pos)
1420 #define CAN_RXF1S_F1GI(value) (CAN_RXF1S_F1GI_Msk & ((value) << CAN_RXF1S_F1GI_Pos))
1421 #define CAN_RXF1S_F1PI_Pos 16 /**< \brief (CAN_RXF1S) Rx FIFO 1 Put Index */
1422 #define CAN_RXF1S_F1PI_Msk (0x3Fu << CAN_RXF1S_F1PI_Pos)
1423 #define CAN_RXF1S_F1PI(value) (CAN_RXF1S_F1PI_Msk & ((value) << CAN_RXF1S_F1PI_Pos))
1424 #define CAN_RXF1S_F1F_Pos 24 /**< \brief (CAN_RXF1S) Rx FIFO 1 Full */
1425 #define CAN_RXF1S_F1F (0x1u << CAN_RXF1S_F1F_Pos)
1426 #define CAN_RXF1S_RF1L_Pos 25 /**< \brief (CAN_RXF1S) Rx FIFO 1 Message Lost */
1427 #define CAN_RXF1S_RF1L (0x1u << CAN_RXF1S_RF1L_Pos)
1428 #define CAN_RXF1S_DMS_Pos 30 /**< \brief (CAN_RXF1S) Debug Message Status */
1429 #define CAN_RXF1S_DMS_Msk (0x3u << CAN_RXF1S_DMS_Pos)
1430 #define CAN_RXF1S_DMS(value) (CAN_RXF1S_DMS_Msk & ((value) << CAN_RXF1S_DMS_Pos))
1431 #define CAN_RXF1S_DMS_IDLE_Val 0x0u /**< \brief (CAN_RXF1S) Idle state */
1432 #define CAN_RXF1S_DMS_DBGA_Val 0x1u /**< \brief (CAN_RXF1S) Debug message A received */
1433 #define CAN_RXF1S_DMS_DBGB_Val 0x2u /**< \brief (CAN_RXF1S) Debug message A/B received */
1434 #define CAN_RXF1S_DMS_DBGC_Val 0x3u /**< \brief (CAN_RXF1S) Debug message A/B/C received, DMA request set */
1435 #define CAN_RXF1S_DMS_IDLE (CAN_RXF1S_DMS_IDLE_Val << CAN_RXF1S_DMS_Pos)
1436 #define CAN_RXF1S_DMS_DBGA (CAN_RXF1S_DMS_DBGA_Val << CAN_RXF1S_DMS_Pos)
1437 #define CAN_RXF1S_DMS_DBGB (CAN_RXF1S_DMS_DBGB_Val << CAN_RXF1S_DMS_Pos)
1438 #define CAN_RXF1S_DMS_DBGC (CAN_RXF1S_DMS_DBGC_Val << CAN_RXF1S_DMS_Pos)
1439 #define CAN_RXF1S_MASK 0xC33F3F7Fu /**< \brief (CAN_RXF1S) MASK Register */
1441 /* -------- CAN_RXF1A : (CAN Offset: 0xB8) (R/W 32) Rx FIFO 1 Acknowledge -------- */
1442 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1445 uint32_t F1AI:6; /*!< bit: 0.. 5 Rx FIFO 1 Acknowledge Index */
1446 uint32_t :26; /*!< bit: 6..31 Reserved */
1447 } bit; /*!< Structure used for bit access */
1448 uint32_t reg; /*!< Type used for register access */
1450 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1452 #define CAN_RXF1A_OFFSET 0xB8 /**< \brief (CAN_RXF1A offset) Rx FIFO 1 Acknowledge */
1453 #define CAN_RXF1A_RESETVALUE 0x00000000u /**< \brief (CAN_RXF1A reset_value) Rx FIFO 1 Acknowledge */
1455 #define CAN_RXF1A_F1AI_Pos 0 /**< \brief (CAN_RXF1A) Rx FIFO 1 Acknowledge Index */
1456 #define CAN_RXF1A_F1AI_Msk (0x3Fu << CAN_RXF1A_F1AI_Pos)
1457 #define CAN_RXF1A_F1AI(value) (CAN_RXF1A_F1AI_Msk & ((value) << CAN_RXF1A_F1AI_Pos))
1458 #define CAN_RXF1A_MASK 0x0000003Fu /**< \brief (CAN_RXF1A) MASK Register */
1460 /* -------- CAN_RXESC : (CAN Offset: 0xBC) (R/W 32) Rx Buffer / FIFO Element Size Configuration -------- */
1461 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1464 uint32_t F0DS:3; /*!< bit: 0.. 2 Rx FIFO 0 Data Field Size */
1465 uint32_t :1; /*!< bit: 3 Reserved */
1466 uint32_t F1DS:3; /*!< bit: 4.. 6 Rx FIFO 1 Data Field Size */
1467 uint32_t :1; /*!< bit: 7 Reserved */
1468 uint32_t RBDS:3; /*!< bit: 8..10 Rx Buffer Data Field Size */
1469 uint32_t :21; /*!< bit: 11..31 Reserved */
1470 } bit; /*!< Structure used for bit access */
1471 uint32_t reg; /*!< Type used for register access */
1473 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1475 #define CAN_RXESC_OFFSET 0xBC /**< \brief (CAN_RXESC offset) Rx Buffer / FIFO Element Size Configuration */
1476 #define CAN_RXESC_RESETVALUE 0x00000000u /**< \brief (CAN_RXESC reset_value) Rx Buffer / FIFO Element Size Configuration */
1478 #define CAN_RXESC_F0DS_Pos 0 /**< \brief (CAN_RXESC) Rx FIFO 0 Data Field Size */
1479 #define CAN_RXESC_F0DS_Msk (0x7u << CAN_RXESC_F0DS_Pos)
1480 #define CAN_RXESC_F0DS(value) (CAN_RXESC_F0DS_Msk & ((value) << CAN_RXESC_F0DS_Pos))
1481 #define CAN_RXESC_F0DS_DATA8_Val 0x0u /**< \brief (CAN_RXESC) 8 byte data field */
1482 #define CAN_RXESC_F0DS_DATA12_Val 0x1u /**< \brief (CAN_RXESC) 12 byte data field */
1483 #define CAN_RXESC_F0DS_DATA16_Val 0x2u /**< \brief (CAN_RXESC) 16 byte data field */
1484 #define CAN_RXESC_F0DS_DATA20_Val 0x3u /**< \brief (CAN_RXESC) 20 byte data field */
1485 #define CAN_RXESC_F0DS_DATA24_Val 0x4u /**< \brief (CAN_RXESC) 24 byte data field */
1486 #define CAN_RXESC_F0DS_DATA32_Val 0x5u /**< \brief (CAN_RXESC) 32 byte data field */
1487 #define CAN_RXESC_F0DS_DATA48_Val 0x6u /**< \brief (CAN_RXESC) 48 byte data field */
1488 #define CAN_RXESC_F0DS_DATA64_Val 0x7u /**< \brief (CAN_RXESC) 64 byte data field */
1489 #define CAN_RXESC_F0DS_DATA8 (CAN_RXESC_F0DS_DATA8_Val << CAN_RXESC_F0DS_Pos)
1490 #define CAN_RXESC_F0DS_DATA12 (CAN_RXESC_F0DS_DATA12_Val << CAN_RXESC_F0DS_Pos)
1491 #define CAN_RXESC_F0DS_DATA16 (CAN_RXESC_F0DS_DATA16_Val << CAN_RXESC_F0DS_Pos)
1492 #define CAN_RXESC_F0DS_DATA20 (CAN_RXESC_F0DS_DATA20_Val << CAN_RXESC_F0DS_Pos)
1493 #define CAN_RXESC_F0DS_DATA24 (CAN_RXESC_F0DS_DATA24_Val << CAN_RXESC_F0DS_Pos)
1494 #define CAN_RXESC_F0DS_DATA32 (CAN_RXESC_F0DS_DATA32_Val << CAN_RXESC_F0DS_Pos)
1495 #define CAN_RXESC_F0DS_DATA48 (CAN_RXESC_F0DS_DATA48_Val << CAN_RXESC_F0DS_Pos)
1496 #define CAN_RXESC_F0DS_DATA64 (CAN_RXESC_F0DS_DATA64_Val << CAN_RXESC_F0DS_Pos)
1497 #define CAN_RXESC_F1DS_Pos 4 /**< \brief (CAN_RXESC) Rx FIFO 1 Data Field Size */
1498 #define CAN_RXESC_F1DS_Msk (0x7u << CAN_RXESC_F1DS_Pos)
1499 #define CAN_RXESC_F1DS(value) (CAN_RXESC_F1DS_Msk & ((value) << CAN_RXESC_F1DS_Pos))
1500 #define CAN_RXESC_F1DS_DATA8_Val 0x0u /**< \brief (CAN_RXESC) 8 byte data field */
1501 #define CAN_RXESC_F1DS_DATA12_Val 0x1u /**< \brief (CAN_RXESC) 12 byte data field */
1502 #define CAN_RXESC_F1DS_DATA16_Val 0x2u /**< \brief (CAN_RXESC) 16 byte data field */
1503 #define CAN_RXESC_F1DS_DATA20_Val 0x3u /**< \brief (CAN_RXESC) 20 byte data field */
1504 #define CAN_RXESC_F1DS_DATA24_Val 0x4u /**< \brief (CAN_RXESC) 24 byte data field */
1505 #define CAN_RXESC_F1DS_DATA32_Val 0x5u /**< \brief (CAN_RXESC) 32 byte data field */
1506 #define CAN_RXESC_F1DS_DATA48_Val 0x6u /**< \brief (CAN_RXESC) 48 byte data field */
1507 #define CAN_RXESC_F1DS_DATA64_Val 0x7u /**< \brief (CAN_RXESC) 64 byte data field */
1508 #define CAN_RXESC_F1DS_DATA8 (CAN_RXESC_F1DS_DATA8_Val << CAN_RXESC_F1DS_Pos)
1509 #define CAN_RXESC_F1DS_DATA12 (CAN_RXESC_F1DS_DATA12_Val << CAN_RXESC_F1DS_Pos)
1510 #define CAN_RXESC_F1DS_DATA16 (CAN_RXESC_F1DS_DATA16_Val << CAN_RXESC_F1DS_Pos)
1511 #define CAN_RXESC_F1DS_DATA20 (CAN_RXESC_F1DS_DATA20_Val << CAN_RXESC_F1DS_Pos)
1512 #define CAN_RXESC_F1DS_DATA24 (CAN_RXESC_F1DS_DATA24_Val << CAN_RXESC_F1DS_Pos)
1513 #define CAN_RXESC_F1DS_DATA32 (CAN_RXESC_F1DS_DATA32_Val << CAN_RXESC_F1DS_Pos)
1514 #define CAN_RXESC_F1DS_DATA48 (CAN_RXESC_F1DS_DATA48_Val << CAN_RXESC_F1DS_Pos)
1515 #define CAN_RXESC_F1DS_DATA64 (CAN_RXESC_F1DS_DATA64_Val << CAN_RXESC_F1DS_Pos)
1516 #define CAN_RXESC_RBDS_Pos 8 /**< \brief (CAN_RXESC) Rx Buffer Data Field Size */
1517 #define CAN_RXESC_RBDS_Msk (0x7u << CAN_RXESC_RBDS_Pos)
1518 #define CAN_RXESC_RBDS(value) (CAN_RXESC_RBDS_Msk & ((value) << CAN_RXESC_RBDS_Pos))
1519 #define CAN_RXESC_RBDS_DATA8_Val 0x0u /**< \brief (CAN_RXESC) 8 byte data field */
1520 #define CAN_RXESC_RBDS_DATA12_Val 0x1u /**< \brief (CAN_RXESC) 12 byte data field */
1521 #define CAN_RXESC_RBDS_DATA16_Val 0x2u /**< \brief (CAN_RXESC) 16 byte data field */
1522 #define CAN_RXESC_RBDS_DATA20_Val 0x3u /**< \brief (CAN_RXESC) 20 byte data field */
1523 #define CAN_RXESC_RBDS_DATA24_Val 0x4u /**< \brief (CAN_RXESC) 24 byte data field */
1524 #define CAN_RXESC_RBDS_DATA32_Val 0x5u /**< \brief (CAN_RXESC) 32 byte data field */
1525 #define CAN_RXESC_RBDS_DATA48_Val 0x6u /**< \brief (CAN_RXESC) 48 byte data field */
1526 #define CAN_RXESC_RBDS_DATA64_Val 0x7u /**< \brief (CAN_RXESC) 64 byte data field */
1527 #define CAN_RXESC_RBDS_DATA8 (CAN_RXESC_RBDS_DATA8_Val << CAN_RXESC_RBDS_Pos)
1528 #define CAN_RXESC_RBDS_DATA12 (CAN_RXESC_RBDS_DATA12_Val << CAN_RXESC_RBDS_Pos)
1529 #define CAN_RXESC_RBDS_DATA16 (CAN_RXESC_RBDS_DATA16_Val << CAN_RXESC_RBDS_Pos)
1530 #define CAN_RXESC_RBDS_DATA20 (CAN_RXESC_RBDS_DATA20_Val << CAN_RXESC_RBDS_Pos)
1531 #define CAN_RXESC_RBDS_DATA24 (CAN_RXESC_RBDS_DATA24_Val << CAN_RXESC_RBDS_Pos)
1532 #define CAN_RXESC_RBDS_DATA32 (CAN_RXESC_RBDS_DATA32_Val << CAN_RXESC_RBDS_Pos)
1533 #define CAN_RXESC_RBDS_DATA48 (CAN_RXESC_RBDS_DATA48_Val << CAN_RXESC_RBDS_Pos)
1534 #define CAN_RXESC_RBDS_DATA64 (CAN_RXESC_RBDS_DATA64_Val << CAN_RXESC_RBDS_Pos)
1535 #define CAN_RXESC_MASK 0x00000777u /**< \brief (CAN_RXESC) MASK Register */
1537 /* -------- CAN_TXBC : (CAN Offset: 0xC0) (R/W 32) Tx Buffer Configuration -------- */
1538 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1541 uint32_t TBSA:16; /*!< bit: 0..15 Tx Buffers Start Address */
1542 uint32_t NDTB:6; /*!< bit: 16..21 Number of Dedicated Transmit Buffers */
1543 uint32_t :2; /*!< bit: 22..23 Reserved */
1544 uint32_t TFQS:6; /*!< bit: 24..29 Transmit FIFO/Queue Size */
1545 uint32_t TFQM:1; /*!< bit: 30 Tx FIFO/Queue Mode */
1546 uint32_t :1; /*!< bit: 31 Reserved */
1547 } bit; /*!< Structure used for bit access */
1548 uint32_t reg; /*!< Type used for register access */
1550 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1552 #define CAN_TXBC_OFFSET 0xC0 /**< \brief (CAN_TXBC offset) Tx Buffer Configuration */
1553 #define CAN_TXBC_RESETVALUE 0x00000000u /**< \brief (CAN_TXBC reset_value) Tx Buffer Configuration */
1555 #define CAN_TXBC_TBSA_Pos 0 /**< \brief (CAN_TXBC) Tx Buffers Start Address */
1556 #define CAN_TXBC_TBSA_Msk (0xFFFFu << CAN_TXBC_TBSA_Pos)
1557 #define CAN_TXBC_TBSA(value) (CAN_TXBC_TBSA_Msk & ((value) << CAN_TXBC_TBSA_Pos))
1558 #define CAN_TXBC_NDTB_Pos 16 /**< \brief (CAN_TXBC) Number of Dedicated Transmit Buffers */
1559 #define CAN_TXBC_NDTB_Msk (0x3Fu << CAN_TXBC_NDTB_Pos)
1560 #define CAN_TXBC_NDTB(value) (CAN_TXBC_NDTB_Msk & ((value) << CAN_TXBC_NDTB_Pos))
1561 #define CAN_TXBC_TFQS_Pos 24 /**< \brief (CAN_TXBC) Transmit FIFO/Queue Size */
1562 #define CAN_TXBC_TFQS_Msk (0x3Fu << CAN_TXBC_TFQS_Pos)
1563 #define CAN_TXBC_TFQS(value) (CAN_TXBC_TFQS_Msk & ((value) << CAN_TXBC_TFQS_Pos))
1564 #define CAN_TXBC_TFQM_Pos 30 /**< \brief (CAN_TXBC) Tx FIFO/Queue Mode */
1565 #define CAN_TXBC_TFQM (0x1u << CAN_TXBC_TFQM_Pos)
1566 #define CAN_TXBC_MASK 0x7F3FFFFFu /**< \brief (CAN_TXBC) MASK Register */
1568 /* -------- CAN_TXFQS : (CAN Offset: 0xC4) (R/ 32) Tx FIFO / Queue Status -------- */
1569 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1572 uint32_t TFFL:6; /*!< bit: 0.. 5 Tx FIFO Free Level */
1573 uint32_t :2; /*!< bit: 6.. 7 Reserved */
1574 uint32_t TFGI:5; /*!< bit: 8..12 Tx FIFO Get Index */
1575 uint32_t :3; /*!< bit: 13..15 Reserved */
1576 uint32_t TFQPI:5; /*!< bit: 16..20 Tx FIFO/Queue Put Index */
1577 uint32_t TFQF:1; /*!< bit: 21 Tx FIFO/Queue Full */
1578 uint32_t :10; /*!< bit: 22..31 Reserved */
1579 } bit; /*!< Structure used for bit access */
1580 uint32_t reg; /*!< Type used for register access */
1582 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1584 #define CAN_TXFQS_OFFSET 0xC4 /**< \brief (CAN_TXFQS offset) Tx FIFO / Queue Status */
1585 #define CAN_TXFQS_RESETVALUE 0x00000000u /**< \brief (CAN_TXFQS reset_value) Tx FIFO / Queue Status */
1587 #define CAN_TXFQS_TFFL_Pos 0 /**< \brief (CAN_TXFQS) Tx FIFO Free Level */
1588 #define CAN_TXFQS_TFFL_Msk (0x3Fu << CAN_TXFQS_TFFL_Pos)
1589 #define CAN_TXFQS_TFFL(value) (CAN_TXFQS_TFFL_Msk & ((value) << CAN_TXFQS_TFFL_Pos))
1590 #define CAN_TXFQS_TFGI_Pos 8 /**< \brief (CAN_TXFQS) Tx FIFO Get Index */
1591 #define CAN_TXFQS_TFGI_Msk (0x1Fu << CAN_TXFQS_TFGI_Pos)
1592 #define CAN_TXFQS_TFGI(value) (CAN_TXFQS_TFGI_Msk & ((value) << CAN_TXFQS_TFGI_Pos))
1593 #define CAN_TXFQS_TFQPI_Pos 16 /**< \brief (CAN_TXFQS) Tx FIFO/Queue Put Index */
1594 #define CAN_TXFQS_TFQPI_Msk (0x1Fu << CAN_TXFQS_TFQPI_Pos)
1595 #define CAN_TXFQS_TFQPI(value) (CAN_TXFQS_TFQPI_Msk & ((value) << CAN_TXFQS_TFQPI_Pos))
1596 #define CAN_TXFQS_TFQF_Pos 21 /**< \brief (CAN_TXFQS) Tx FIFO/Queue Full */
1597 #define CAN_TXFQS_TFQF (0x1u << CAN_TXFQS_TFQF_Pos)
1598 #define CAN_TXFQS_MASK 0x003F1F3Fu /**< \brief (CAN_TXFQS) MASK Register */
1600 /* -------- CAN_TXESC : (CAN Offset: 0xC8) (R/W 32) Tx Buffer Element Size Configuration -------- */
1601 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1604 uint32_t TBDS:3; /*!< bit: 0.. 2 Tx Buffer Data Field Size */
1605 uint32_t :29; /*!< bit: 3..31 Reserved */
1606 } bit; /*!< Structure used for bit access */
1607 uint32_t reg; /*!< Type used for register access */
1609 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1611 #define CAN_TXESC_OFFSET 0xC8 /**< \brief (CAN_TXESC offset) Tx Buffer Element Size Configuration */
1612 #define CAN_TXESC_RESETVALUE 0x00000000u /**< \brief (CAN_TXESC reset_value) Tx Buffer Element Size Configuration */
1614 #define CAN_TXESC_TBDS_Pos 0 /**< \brief (CAN_TXESC) Tx Buffer Data Field Size */
1615 #define CAN_TXESC_TBDS_Msk (0x7u << CAN_TXESC_TBDS_Pos)
1616 #define CAN_TXESC_TBDS(value) (CAN_TXESC_TBDS_Msk & ((value) << CAN_TXESC_TBDS_Pos))
1617 #define CAN_TXESC_TBDS_DATA8_Val 0x0u /**< \brief (CAN_TXESC) 8 byte data field */
1618 #define CAN_TXESC_TBDS_DATA12_Val 0x1u /**< \brief (CAN_TXESC) 12 byte data field */
1619 #define CAN_TXESC_TBDS_DATA16_Val 0x2u /**< \brief (CAN_TXESC) 16 byte data field */
1620 #define CAN_TXESC_TBDS_DATA20_Val 0x3u /**< \brief (CAN_TXESC) 20 byte data field */
1621 #define CAN_TXESC_TBDS_DATA24_Val 0x4u /**< \brief (CAN_TXESC) 24 byte data field */
1622 #define CAN_TXESC_TBDS_DATA32_Val 0x5u /**< \brief (CAN_TXESC) 32 byte data field */
1623 #define CAN_TXESC_TBDS_DATA48_Val 0x6u /**< \brief (CAN_TXESC) 48 byte data field */
1624 #define CAN_TXESC_TBDS_DATA64_Val 0x7u /**< \brief (CAN_TXESC) 64 byte data field */
1625 #define CAN_TXESC_TBDS_DATA8 (CAN_TXESC_TBDS_DATA8_Val << CAN_TXESC_TBDS_Pos)
1626 #define CAN_TXESC_TBDS_DATA12 (CAN_TXESC_TBDS_DATA12_Val << CAN_TXESC_TBDS_Pos)
1627 #define CAN_TXESC_TBDS_DATA16 (CAN_TXESC_TBDS_DATA16_Val << CAN_TXESC_TBDS_Pos)
1628 #define CAN_TXESC_TBDS_DATA20 (CAN_TXESC_TBDS_DATA20_Val << CAN_TXESC_TBDS_Pos)
1629 #define CAN_TXESC_TBDS_DATA24 (CAN_TXESC_TBDS_DATA24_Val << CAN_TXESC_TBDS_Pos)
1630 #define CAN_TXESC_TBDS_DATA32 (CAN_TXESC_TBDS_DATA32_Val << CAN_TXESC_TBDS_Pos)
1631 #define CAN_TXESC_TBDS_DATA48 (CAN_TXESC_TBDS_DATA48_Val << CAN_TXESC_TBDS_Pos)
1632 #define CAN_TXESC_TBDS_DATA64 (CAN_TXESC_TBDS_DATA64_Val << CAN_TXESC_TBDS_Pos)
1633 #define CAN_TXESC_MASK 0x00000007u /**< \brief (CAN_TXESC) MASK Register */
1635 /* -------- CAN_TXBRP : (CAN Offset: 0xCC) (R/ 32) Tx Buffer Request Pending -------- */
1636 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1639 uint32_t TRP0:1; /*!< bit: 0 Transmission Request Pending 0 */
1640 uint32_t TRP1:1; /*!< bit: 1 Transmission Request Pending 1 */
1641 uint32_t TRP2:1; /*!< bit: 2 Transmission Request Pending 2 */
1642 uint32_t TRP3:1; /*!< bit: 3 Transmission Request Pending 3 */
1643 uint32_t TRP4:1; /*!< bit: 4 Transmission Request Pending 4 */
1644 uint32_t TRP5:1; /*!< bit: 5 Transmission Request Pending 5 */
1645 uint32_t TRP6:1; /*!< bit: 6 Transmission Request Pending 6 */
1646 uint32_t TRP7:1; /*!< bit: 7 Transmission Request Pending 7 */
1647 uint32_t TRP8:1; /*!< bit: 8 Transmission Request Pending 8 */
1648 uint32_t TRP9:1; /*!< bit: 9 Transmission Request Pending 9 */
1649 uint32_t TRP10:1; /*!< bit: 10 Transmission Request Pending 10 */
1650 uint32_t TRP11:1; /*!< bit: 11 Transmission Request Pending 11 */
1651 uint32_t TRP12:1; /*!< bit: 12 Transmission Request Pending 12 */
1652 uint32_t TRP13:1; /*!< bit: 13 Transmission Request Pending 13 */
1653 uint32_t TRP14:1; /*!< bit: 14 Transmission Request Pending 14 */
1654 uint32_t TRP15:1; /*!< bit: 15 Transmission Request Pending 15 */
1655 uint32_t TRP16:1; /*!< bit: 16 Transmission Request Pending 16 */
1656 uint32_t TRP17:1; /*!< bit: 17 Transmission Request Pending 17 */
1657 uint32_t TRP18:1; /*!< bit: 18 Transmission Request Pending 18 */
1658 uint32_t TRP19:1; /*!< bit: 19 Transmission Request Pending 19 */
1659 uint32_t TRP20:1; /*!< bit: 20 Transmission Request Pending 20 */
1660 uint32_t TRP21:1; /*!< bit: 21 Transmission Request Pending 21 */
1661 uint32_t TRP22:1; /*!< bit: 22 Transmission Request Pending 22 */
1662 uint32_t TRP23:1; /*!< bit: 23 Transmission Request Pending 23 */
1663 uint32_t TRP24:1; /*!< bit: 24 Transmission Request Pending 24 */
1664 uint32_t TRP25:1; /*!< bit: 25 Transmission Request Pending 25 */
1665 uint32_t TRP26:1; /*!< bit: 26 Transmission Request Pending 26 */
1666 uint32_t TRP27:1; /*!< bit: 27 Transmission Request Pending 27 */
1667 uint32_t TRP28:1; /*!< bit: 28 Transmission Request Pending 28 */
1668 uint32_t TRP29:1; /*!< bit: 29 Transmission Request Pending 29 */
1669 uint32_t TRP30:1; /*!< bit: 30 Transmission Request Pending 30 */
1670 uint32_t TRP31:1; /*!< bit: 31 Transmission Request Pending 31 */
1671 } bit; /*!< Structure used for bit access */
1672 uint32_t reg; /*!< Type used for register access */
1674 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1676 #define CAN_TXBRP_OFFSET 0xCC /**< \brief (CAN_TXBRP offset) Tx Buffer Request Pending */
1677 #define CAN_TXBRP_RESETVALUE 0x00000000u /**< \brief (CAN_TXBRP reset_value) Tx Buffer Request Pending */
1679 #define CAN_TXBRP_TRP0_Pos 0 /**< \brief (CAN_TXBRP) Transmission Request Pending 0 */
1680 #define CAN_TXBRP_TRP0 (0x1u << CAN_TXBRP_TRP0_Pos)
1681 #define CAN_TXBRP_TRP1_Pos 1 /**< \brief (CAN_TXBRP) Transmission Request Pending 1 */
1682 #define CAN_TXBRP_TRP1 (0x1u << CAN_TXBRP_TRP1_Pos)
1683 #define CAN_TXBRP_TRP2_Pos 2 /**< \brief (CAN_TXBRP) Transmission Request Pending 2 */
1684 #define CAN_TXBRP_TRP2 (0x1u << CAN_TXBRP_TRP2_Pos)
1685 #define CAN_TXBRP_TRP3_Pos 3 /**< \brief (CAN_TXBRP) Transmission Request Pending 3 */
1686 #define CAN_TXBRP_TRP3 (0x1u << CAN_TXBRP_TRP3_Pos)
1687 #define CAN_TXBRP_TRP4_Pos 4 /**< \brief (CAN_TXBRP) Transmission Request Pending 4 */
1688 #define CAN_TXBRP_TRP4 (0x1u << CAN_TXBRP_TRP4_Pos)
1689 #define CAN_TXBRP_TRP5_Pos 5 /**< \brief (CAN_TXBRP) Transmission Request Pending 5 */
1690 #define CAN_TXBRP_TRP5 (0x1u << CAN_TXBRP_TRP5_Pos)
1691 #define CAN_TXBRP_TRP6_Pos 6 /**< \brief (CAN_TXBRP) Transmission Request Pending 6 */
1692 #define CAN_TXBRP_TRP6 (0x1u << CAN_TXBRP_TRP6_Pos)
1693 #define CAN_TXBRP_TRP7_Pos 7 /**< \brief (CAN_TXBRP) Transmission Request Pending 7 */
1694 #define CAN_TXBRP_TRP7 (0x1u << CAN_TXBRP_TRP7_Pos)
1695 #define CAN_TXBRP_TRP8_Pos 8 /**< \brief (CAN_TXBRP) Transmission Request Pending 8 */
1696 #define CAN_TXBRP_TRP8 (0x1u << CAN_TXBRP_TRP8_Pos)
1697 #define CAN_TXBRP_TRP9_Pos 9 /**< \brief (CAN_TXBRP) Transmission Request Pending 9 */
1698 #define CAN_TXBRP_TRP9 (0x1u << CAN_TXBRP_TRP9_Pos)
1699 #define CAN_TXBRP_TRP10_Pos 10 /**< \brief (CAN_TXBRP) Transmission Request Pending 10 */
1700 #define CAN_TXBRP_TRP10 (0x1u << CAN_TXBRP_TRP10_Pos)
1701 #define CAN_TXBRP_TRP11_Pos 11 /**< \brief (CAN_TXBRP) Transmission Request Pending 11 */
1702 #define CAN_TXBRP_TRP11 (0x1u << CAN_TXBRP_TRP11_Pos)
1703 #define CAN_TXBRP_TRP12_Pos 12 /**< \brief (CAN_TXBRP) Transmission Request Pending 12 */
1704 #define CAN_TXBRP_TRP12 (0x1u << CAN_TXBRP_TRP12_Pos)
1705 #define CAN_TXBRP_TRP13_Pos 13 /**< \brief (CAN_TXBRP) Transmission Request Pending 13 */
1706 #define CAN_TXBRP_TRP13 (0x1u << CAN_TXBRP_TRP13_Pos)
1707 #define CAN_TXBRP_TRP14_Pos 14 /**< \brief (CAN_TXBRP) Transmission Request Pending 14 */
1708 #define CAN_TXBRP_TRP14 (0x1u << CAN_TXBRP_TRP14_Pos)
1709 #define CAN_TXBRP_TRP15_Pos 15 /**< \brief (CAN_TXBRP) Transmission Request Pending 15 */
1710 #define CAN_TXBRP_TRP15 (0x1u << CAN_TXBRP_TRP15_Pos)
1711 #define CAN_TXBRP_TRP16_Pos 16 /**< \brief (CAN_TXBRP) Transmission Request Pending 16 */
1712 #define CAN_TXBRP_TRP16 (0x1u << CAN_TXBRP_TRP16_Pos)
1713 #define CAN_TXBRP_TRP17_Pos 17 /**< \brief (CAN_TXBRP) Transmission Request Pending 17 */
1714 #define CAN_TXBRP_TRP17 (0x1u << CAN_TXBRP_TRP17_Pos)
1715 #define CAN_TXBRP_TRP18_Pos 18 /**< \brief (CAN_TXBRP) Transmission Request Pending 18 */
1716 #define CAN_TXBRP_TRP18 (0x1u << CAN_TXBRP_TRP18_Pos)
1717 #define CAN_TXBRP_TRP19_Pos 19 /**< \brief (CAN_TXBRP) Transmission Request Pending 19 */
1718 #define CAN_TXBRP_TRP19 (0x1u << CAN_TXBRP_TRP19_Pos)
1719 #define CAN_TXBRP_TRP20_Pos 20 /**< \brief (CAN_TXBRP) Transmission Request Pending 20 */
1720 #define CAN_TXBRP_TRP20 (0x1u << CAN_TXBRP_TRP20_Pos)
1721 #define CAN_TXBRP_TRP21_Pos 21 /**< \brief (CAN_TXBRP) Transmission Request Pending 21 */
1722 #define CAN_TXBRP_TRP21 (0x1u << CAN_TXBRP_TRP21_Pos)
1723 #define CAN_TXBRP_TRP22_Pos 22 /**< \brief (CAN_TXBRP) Transmission Request Pending 22 */
1724 #define CAN_TXBRP_TRP22 (0x1u << CAN_TXBRP_TRP22_Pos)
1725 #define CAN_TXBRP_TRP23_Pos 23 /**< \brief (CAN_TXBRP) Transmission Request Pending 23 */
1726 #define CAN_TXBRP_TRP23 (0x1u << CAN_TXBRP_TRP23_Pos)
1727 #define CAN_TXBRP_TRP24_Pos 24 /**< \brief (CAN_TXBRP) Transmission Request Pending 24 */
1728 #define CAN_TXBRP_TRP24 (0x1u << CAN_TXBRP_TRP24_Pos)
1729 #define CAN_TXBRP_TRP25_Pos 25 /**< \brief (CAN_TXBRP) Transmission Request Pending 25 */
1730 #define CAN_TXBRP_TRP25 (0x1u << CAN_TXBRP_TRP25_Pos)
1731 #define CAN_TXBRP_TRP26_Pos 26 /**< \brief (CAN_TXBRP) Transmission Request Pending 26 */
1732 #define CAN_TXBRP_TRP26 (0x1u << CAN_TXBRP_TRP26_Pos)
1733 #define CAN_TXBRP_TRP27_Pos 27 /**< \brief (CAN_TXBRP) Transmission Request Pending 27 */
1734 #define CAN_TXBRP_TRP27 (0x1u << CAN_TXBRP_TRP27_Pos)
1735 #define CAN_TXBRP_TRP28_Pos 28 /**< \brief (CAN_TXBRP) Transmission Request Pending 28 */
1736 #define CAN_TXBRP_TRP28 (0x1u << CAN_TXBRP_TRP28_Pos)
1737 #define CAN_TXBRP_TRP29_Pos 29 /**< \brief (CAN_TXBRP) Transmission Request Pending 29 */
1738 #define CAN_TXBRP_TRP29 (0x1u << CAN_TXBRP_TRP29_Pos)
1739 #define CAN_TXBRP_TRP30_Pos 30 /**< \brief (CAN_TXBRP) Transmission Request Pending 30 */
1740 #define CAN_TXBRP_TRP30 (0x1u << CAN_TXBRP_TRP30_Pos)
1741 #define CAN_TXBRP_TRP31_Pos 31 /**< \brief (CAN_TXBRP) Transmission Request Pending 31 */
1742 #define CAN_TXBRP_TRP31 (0x1u << CAN_TXBRP_TRP31_Pos)
1743 #define CAN_TXBRP_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBRP) MASK Register */
1745 /* -------- CAN_TXBAR : (CAN Offset: 0xD0) (R/W 32) Tx Buffer Add Request -------- */
1746 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1749 uint32_t AR0:1; /*!< bit: 0 Add Request 0 */
1750 uint32_t AR1:1; /*!< bit: 1 Add Request 1 */
1751 uint32_t AR2:1; /*!< bit: 2 Add Request 2 */
1752 uint32_t AR3:1; /*!< bit: 3 Add Request 3 */
1753 uint32_t AR4:1; /*!< bit: 4 Add Request 4 */
1754 uint32_t AR5:1; /*!< bit: 5 Add Request 5 */
1755 uint32_t AR6:1; /*!< bit: 6 Add Request 6 */
1756 uint32_t AR7:1; /*!< bit: 7 Add Request 7 */
1757 uint32_t AR8:1; /*!< bit: 8 Add Request 8 */
1758 uint32_t AR9:1; /*!< bit: 9 Add Request 9 */
1759 uint32_t AR10:1; /*!< bit: 10 Add Request 10 */
1760 uint32_t AR11:1; /*!< bit: 11 Add Request 11 */
1761 uint32_t AR12:1; /*!< bit: 12 Add Request 12 */
1762 uint32_t AR13:1; /*!< bit: 13 Add Request 13 */
1763 uint32_t AR14:1; /*!< bit: 14 Add Request 14 */
1764 uint32_t AR15:1; /*!< bit: 15 Add Request 15 */
1765 uint32_t AR16:1; /*!< bit: 16 Add Request 16 */
1766 uint32_t AR17:1; /*!< bit: 17 Add Request 17 */
1767 uint32_t AR18:1; /*!< bit: 18 Add Request 18 */
1768 uint32_t AR19:1; /*!< bit: 19 Add Request 19 */
1769 uint32_t AR20:1; /*!< bit: 20 Add Request 20 */
1770 uint32_t AR21:1; /*!< bit: 21 Add Request 21 */
1771 uint32_t AR22:1; /*!< bit: 22 Add Request 22 */
1772 uint32_t AR23:1; /*!< bit: 23 Add Request 23 */
1773 uint32_t AR24:1; /*!< bit: 24 Add Request 24 */
1774 uint32_t AR25:1; /*!< bit: 25 Add Request 25 */
1775 uint32_t AR26:1; /*!< bit: 26 Add Request 26 */
1776 uint32_t AR27:1; /*!< bit: 27 Add Request 27 */
1777 uint32_t AR28:1; /*!< bit: 28 Add Request 28 */
1778 uint32_t AR29:1; /*!< bit: 29 Add Request 29 */
1779 uint32_t AR30:1; /*!< bit: 30 Add Request 30 */
1780 uint32_t AR31:1; /*!< bit: 31 Add Request 31 */
1781 } bit; /*!< Structure used for bit access */
1782 uint32_t reg; /*!< Type used for register access */
1784 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1786 #define CAN_TXBAR_OFFSET 0xD0 /**< \brief (CAN_TXBAR offset) Tx Buffer Add Request */
1787 #define CAN_TXBAR_RESETVALUE 0x00000000u /**< \brief (CAN_TXBAR reset_value) Tx Buffer Add Request */
1789 #define CAN_TXBAR_AR0_Pos 0 /**< \brief (CAN_TXBAR) Add Request 0 */
1790 #define CAN_TXBAR_AR0 (0x1u << CAN_TXBAR_AR0_Pos)
1791 #define CAN_TXBAR_AR1_Pos 1 /**< \brief (CAN_TXBAR) Add Request 1 */
1792 #define CAN_TXBAR_AR1 (0x1u << CAN_TXBAR_AR1_Pos)
1793 #define CAN_TXBAR_AR2_Pos 2 /**< \brief (CAN_TXBAR) Add Request 2 */
1794 #define CAN_TXBAR_AR2 (0x1u << CAN_TXBAR_AR2_Pos)
1795 #define CAN_TXBAR_AR3_Pos 3 /**< \brief (CAN_TXBAR) Add Request 3 */
1796 #define CAN_TXBAR_AR3 (0x1u << CAN_TXBAR_AR3_Pos)
1797 #define CAN_TXBAR_AR4_Pos 4 /**< \brief (CAN_TXBAR) Add Request 4 */
1798 #define CAN_TXBAR_AR4 (0x1u << CAN_TXBAR_AR4_Pos)
1799 #define CAN_TXBAR_AR5_Pos 5 /**< \brief (CAN_TXBAR) Add Request 5 */
1800 #define CAN_TXBAR_AR5 (0x1u << CAN_TXBAR_AR5_Pos)
1801 #define CAN_TXBAR_AR6_Pos 6 /**< \brief (CAN_TXBAR) Add Request 6 */
1802 #define CAN_TXBAR_AR6 (0x1u << CAN_TXBAR_AR6_Pos)
1803 #define CAN_TXBAR_AR7_Pos 7 /**< \brief (CAN_TXBAR) Add Request 7 */
1804 #define CAN_TXBAR_AR7 (0x1u << CAN_TXBAR_AR7_Pos)
1805 #define CAN_TXBAR_AR8_Pos 8 /**< \brief (CAN_TXBAR) Add Request 8 */
1806 #define CAN_TXBAR_AR8 (0x1u << CAN_TXBAR_AR8_Pos)
1807 #define CAN_TXBAR_AR9_Pos 9 /**< \brief (CAN_TXBAR) Add Request 9 */
1808 #define CAN_TXBAR_AR9 (0x1u << CAN_TXBAR_AR9_Pos)
1809 #define CAN_TXBAR_AR10_Pos 10 /**< \brief (CAN_TXBAR) Add Request 10 */
1810 #define CAN_TXBAR_AR10 (0x1u << CAN_TXBAR_AR10_Pos)
1811 #define CAN_TXBAR_AR11_Pos 11 /**< \brief (CAN_TXBAR) Add Request 11 */
1812 #define CAN_TXBAR_AR11 (0x1u << CAN_TXBAR_AR11_Pos)
1813 #define CAN_TXBAR_AR12_Pos 12 /**< \brief (CAN_TXBAR) Add Request 12 */
1814 #define CAN_TXBAR_AR12 (0x1u << CAN_TXBAR_AR12_Pos)
1815 #define CAN_TXBAR_AR13_Pos 13 /**< \brief (CAN_TXBAR) Add Request 13 */
1816 #define CAN_TXBAR_AR13 (0x1u << CAN_TXBAR_AR13_Pos)
1817 #define CAN_TXBAR_AR14_Pos 14 /**< \brief (CAN_TXBAR) Add Request 14 */
1818 #define CAN_TXBAR_AR14 (0x1u << CAN_TXBAR_AR14_Pos)
1819 #define CAN_TXBAR_AR15_Pos 15 /**< \brief (CAN_TXBAR) Add Request 15 */
1820 #define CAN_TXBAR_AR15 (0x1u << CAN_TXBAR_AR15_Pos)
1821 #define CAN_TXBAR_AR16_Pos 16 /**< \brief (CAN_TXBAR) Add Request 16 */
1822 #define CAN_TXBAR_AR16 (0x1u << CAN_TXBAR_AR16_Pos)
1823 #define CAN_TXBAR_AR17_Pos 17 /**< \brief (CAN_TXBAR) Add Request 17 */
1824 #define CAN_TXBAR_AR17 (0x1u << CAN_TXBAR_AR17_Pos)
1825 #define CAN_TXBAR_AR18_Pos 18 /**< \brief (CAN_TXBAR) Add Request 18 */
1826 #define CAN_TXBAR_AR18 (0x1u << CAN_TXBAR_AR18_Pos)
1827 #define CAN_TXBAR_AR19_Pos 19 /**< \brief (CAN_TXBAR) Add Request 19 */
1828 #define CAN_TXBAR_AR19 (0x1u << CAN_TXBAR_AR19_Pos)
1829 #define CAN_TXBAR_AR20_Pos 20 /**< \brief (CAN_TXBAR) Add Request 20 */
1830 #define CAN_TXBAR_AR20 (0x1u << CAN_TXBAR_AR20_Pos)
1831 #define CAN_TXBAR_AR21_Pos 21 /**< \brief (CAN_TXBAR) Add Request 21 */
1832 #define CAN_TXBAR_AR21 (0x1u << CAN_TXBAR_AR21_Pos)
1833 #define CAN_TXBAR_AR22_Pos 22 /**< \brief (CAN_TXBAR) Add Request 22 */
1834 #define CAN_TXBAR_AR22 (0x1u << CAN_TXBAR_AR22_Pos)
1835 #define CAN_TXBAR_AR23_Pos 23 /**< \brief (CAN_TXBAR) Add Request 23 */
1836 #define CAN_TXBAR_AR23 (0x1u << CAN_TXBAR_AR23_Pos)
1837 #define CAN_TXBAR_AR24_Pos 24 /**< \brief (CAN_TXBAR) Add Request 24 */
1838 #define CAN_TXBAR_AR24 (0x1u << CAN_TXBAR_AR24_Pos)
1839 #define CAN_TXBAR_AR25_Pos 25 /**< \brief (CAN_TXBAR) Add Request 25 */
1840 #define CAN_TXBAR_AR25 (0x1u << CAN_TXBAR_AR25_Pos)
1841 #define CAN_TXBAR_AR26_Pos 26 /**< \brief (CAN_TXBAR) Add Request 26 */
1842 #define CAN_TXBAR_AR26 (0x1u << CAN_TXBAR_AR26_Pos)
1843 #define CAN_TXBAR_AR27_Pos 27 /**< \brief (CAN_TXBAR) Add Request 27 */
1844 #define CAN_TXBAR_AR27 (0x1u << CAN_TXBAR_AR27_Pos)
1845 #define CAN_TXBAR_AR28_Pos 28 /**< \brief (CAN_TXBAR) Add Request 28 */
1846 #define CAN_TXBAR_AR28 (0x1u << CAN_TXBAR_AR28_Pos)
1847 #define CAN_TXBAR_AR29_Pos 29 /**< \brief (CAN_TXBAR) Add Request 29 */
1848 #define CAN_TXBAR_AR29 (0x1u << CAN_TXBAR_AR29_Pos)
1849 #define CAN_TXBAR_AR30_Pos 30 /**< \brief (CAN_TXBAR) Add Request 30 */
1850 #define CAN_TXBAR_AR30 (0x1u << CAN_TXBAR_AR30_Pos)
1851 #define CAN_TXBAR_AR31_Pos 31 /**< \brief (CAN_TXBAR) Add Request 31 */
1852 #define CAN_TXBAR_AR31 (0x1u << CAN_TXBAR_AR31_Pos)
1853 #define CAN_TXBAR_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBAR) MASK Register */
1855 /* -------- CAN_TXBCR : (CAN Offset: 0xD4) (R/W 32) Tx Buffer Cancellation Request -------- */
1856 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1859 uint32_t CR0:1; /*!< bit: 0 Cancellation Request 0 */
1860 uint32_t CR1:1; /*!< bit: 1 Cancellation Request 1 */
1861 uint32_t CR2:1; /*!< bit: 2 Cancellation Request 2 */
1862 uint32_t CR3:1; /*!< bit: 3 Cancellation Request 3 */
1863 uint32_t CR4:1; /*!< bit: 4 Cancellation Request 4 */
1864 uint32_t CR5:1; /*!< bit: 5 Cancellation Request 5 */
1865 uint32_t CR6:1; /*!< bit: 6 Cancellation Request 6 */
1866 uint32_t CR7:1; /*!< bit: 7 Cancellation Request 7 */
1867 uint32_t CR8:1; /*!< bit: 8 Cancellation Request 8 */
1868 uint32_t CR9:1; /*!< bit: 9 Cancellation Request 9 */
1869 uint32_t CR10:1; /*!< bit: 10 Cancellation Request 10 */
1870 uint32_t CR11:1; /*!< bit: 11 Cancellation Request 11 */
1871 uint32_t CR12:1; /*!< bit: 12 Cancellation Request 12 */
1872 uint32_t CR13:1; /*!< bit: 13 Cancellation Request 13 */
1873 uint32_t CR14:1; /*!< bit: 14 Cancellation Request 14 */
1874 uint32_t CR15:1; /*!< bit: 15 Cancellation Request 15 */
1875 uint32_t CR16:1; /*!< bit: 16 Cancellation Request 16 */
1876 uint32_t CR17:1; /*!< bit: 17 Cancellation Request 17 */
1877 uint32_t CR18:1; /*!< bit: 18 Cancellation Request 18 */
1878 uint32_t CR19:1; /*!< bit: 19 Cancellation Request 19 */
1879 uint32_t CR20:1; /*!< bit: 20 Cancellation Request 20 */
1880 uint32_t CR21:1; /*!< bit: 21 Cancellation Request 21 */
1881 uint32_t CR22:1; /*!< bit: 22 Cancellation Request 22 */
1882 uint32_t CR23:1; /*!< bit: 23 Cancellation Request 23 */
1883 uint32_t CR24:1; /*!< bit: 24 Cancellation Request 24 */
1884 uint32_t CR25:1; /*!< bit: 25 Cancellation Request 25 */
1885 uint32_t CR26:1; /*!< bit: 26 Cancellation Request 26 */
1886 uint32_t CR27:1; /*!< bit: 27 Cancellation Request 27 */
1887 uint32_t CR28:1; /*!< bit: 28 Cancellation Request 28 */
1888 uint32_t CR29:1; /*!< bit: 29 Cancellation Request 29 */
1889 uint32_t CR30:1; /*!< bit: 30 Cancellation Request 30 */
1890 uint32_t CR31:1; /*!< bit: 31 Cancellation Request 31 */
1891 } bit; /*!< Structure used for bit access */
1892 uint32_t reg; /*!< Type used for register access */
1894 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
1896 #define CAN_TXBCR_OFFSET 0xD4 /**< \brief (CAN_TXBCR offset) Tx Buffer Cancellation Request */
1897 #define CAN_TXBCR_RESETVALUE 0x00000000u /**< \brief (CAN_TXBCR reset_value) Tx Buffer Cancellation Request */
1899 #define CAN_TXBCR_CR0_Pos 0 /**< \brief (CAN_TXBCR) Cancellation Request 0 */
1900 #define CAN_TXBCR_CR0 (0x1u << CAN_TXBCR_CR0_Pos)
1901 #define CAN_TXBCR_CR1_Pos 1 /**< \brief (CAN_TXBCR) Cancellation Request 1 */
1902 #define CAN_TXBCR_CR1 (0x1u << CAN_TXBCR_CR1_Pos)
1903 #define CAN_TXBCR_CR2_Pos 2 /**< \brief (CAN_TXBCR) Cancellation Request 2 */
1904 #define CAN_TXBCR_CR2 (0x1u << CAN_TXBCR_CR2_Pos)
1905 #define CAN_TXBCR_CR3_Pos 3 /**< \brief (CAN_TXBCR) Cancellation Request 3 */
1906 #define CAN_TXBCR_CR3 (0x1u << CAN_TXBCR_CR3_Pos)
1907 #define CAN_TXBCR_CR4_Pos 4 /**< \brief (CAN_TXBCR) Cancellation Request 4 */
1908 #define CAN_TXBCR_CR4 (0x1u << CAN_TXBCR_CR4_Pos)
1909 #define CAN_TXBCR_CR5_Pos 5 /**< \brief (CAN_TXBCR) Cancellation Request 5 */
1910 #define CAN_TXBCR_CR5 (0x1u << CAN_TXBCR_CR5_Pos)
1911 #define CAN_TXBCR_CR6_Pos 6 /**< \brief (CAN_TXBCR) Cancellation Request 6 */
1912 #define CAN_TXBCR_CR6 (0x1u << CAN_TXBCR_CR6_Pos)
1913 #define CAN_TXBCR_CR7_Pos 7 /**< \brief (CAN_TXBCR) Cancellation Request 7 */
1914 #define CAN_TXBCR_CR7 (0x1u << CAN_TXBCR_CR7_Pos)
1915 #define CAN_TXBCR_CR8_Pos 8 /**< \brief (CAN_TXBCR) Cancellation Request 8 */
1916 #define CAN_TXBCR_CR8 (0x1u << CAN_TXBCR_CR8_Pos)
1917 #define CAN_TXBCR_CR9_Pos 9 /**< \brief (CAN_TXBCR) Cancellation Request 9 */
1918 #define CAN_TXBCR_CR9 (0x1u << CAN_TXBCR_CR9_Pos)
1919 #define CAN_TXBCR_CR10_Pos 10 /**< \brief (CAN_TXBCR) Cancellation Request 10 */
1920 #define CAN_TXBCR_CR10 (0x1u << CAN_TXBCR_CR10_Pos)
1921 #define CAN_TXBCR_CR11_Pos 11 /**< \brief (CAN_TXBCR) Cancellation Request 11 */
1922 #define CAN_TXBCR_CR11 (0x1u << CAN_TXBCR_CR11_Pos)
1923 #define CAN_TXBCR_CR12_Pos 12 /**< \brief (CAN_TXBCR) Cancellation Request 12 */
1924 #define CAN_TXBCR_CR12 (0x1u << CAN_TXBCR_CR12_Pos)
1925 #define CAN_TXBCR_CR13_Pos 13 /**< \brief (CAN_TXBCR) Cancellation Request 13 */
1926 #define CAN_TXBCR_CR13 (0x1u << CAN_TXBCR_CR13_Pos)
1927 #define CAN_TXBCR_CR14_Pos 14 /**< \brief (CAN_TXBCR) Cancellation Request 14 */
1928 #define CAN_TXBCR_CR14 (0x1u << CAN_TXBCR_CR14_Pos)
1929 #define CAN_TXBCR_CR15_Pos 15 /**< \brief (CAN_TXBCR) Cancellation Request 15 */
1930 #define CAN_TXBCR_CR15 (0x1u << CAN_TXBCR_CR15_Pos)
1931 #define CAN_TXBCR_CR16_Pos 16 /**< \brief (CAN_TXBCR) Cancellation Request 16 */
1932 #define CAN_TXBCR_CR16 (0x1u << CAN_TXBCR_CR16_Pos)
1933 #define CAN_TXBCR_CR17_Pos 17 /**< \brief (CAN_TXBCR) Cancellation Request 17 */
1934 #define CAN_TXBCR_CR17 (0x1u << CAN_TXBCR_CR17_Pos)
1935 #define CAN_TXBCR_CR18_Pos 18 /**< \brief (CAN_TXBCR) Cancellation Request 18 */
1936 #define CAN_TXBCR_CR18 (0x1u << CAN_TXBCR_CR18_Pos)
1937 #define CAN_TXBCR_CR19_Pos 19 /**< \brief (CAN_TXBCR) Cancellation Request 19 */
1938 #define CAN_TXBCR_CR19 (0x1u << CAN_TXBCR_CR19_Pos)
1939 #define CAN_TXBCR_CR20_Pos 20 /**< \brief (CAN_TXBCR) Cancellation Request 20 */
1940 #define CAN_TXBCR_CR20 (0x1u << CAN_TXBCR_CR20_Pos)
1941 #define CAN_TXBCR_CR21_Pos 21 /**< \brief (CAN_TXBCR) Cancellation Request 21 */
1942 #define CAN_TXBCR_CR21 (0x1u << CAN_TXBCR_CR21_Pos)
1943 #define CAN_TXBCR_CR22_Pos 22 /**< \brief (CAN_TXBCR) Cancellation Request 22 */
1944 #define CAN_TXBCR_CR22 (0x1u << CAN_TXBCR_CR22_Pos)
1945 #define CAN_TXBCR_CR23_Pos 23 /**< \brief (CAN_TXBCR) Cancellation Request 23 */
1946 #define CAN_TXBCR_CR23 (0x1u << CAN_TXBCR_CR23_Pos)
1947 #define CAN_TXBCR_CR24_Pos 24 /**< \brief (CAN_TXBCR) Cancellation Request 24 */
1948 #define CAN_TXBCR_CR24 (0x1u << CAN_TXBCR_CR24_Pos)
1949 #define CAN_TXBCR_CR25_Pos 25 /**< \brief (CAN_TXBCR) Cancellation Request 25 */
1950 #define CAN_TXBCR_CR25 (0x1u << CAN_TXBCR_CR25_Pos)
1951 #define CAN_TXBCR_CR26_Pos 26 /**< \brief (CAN_TXBCR) Cancellation Request 26 */
1952 #define CAN_TXBCR_CR26 (0x1u << CAN_TXBCR_CR26_Pos)
1953 #define CAN_TXBCR_CR27_Pos 27 /**< \brief (CAN_TXBCR) Cancellation Request 27 */
1954 #define CAN_TXBCR_CR27 (0x1u << CAN_TXBCR_CR27_Pos)
1955 #define CAN_TXBCR_CR28_Pos 28 /**< \brief (CAN_TXBCR) Cancellation Request 28 */
1956 #define CAN_TXBCR_CR28 (0x1u << CAN_TXBCR_CR28_Pos)
1957 #define CAN_TXBCR_CR29_Pos 29 /**< \brief (CAN_TXBCR) Cancellation Request 29 */
1958 #define CAN_TXBCR_CR29 (0x1u << CAN_TXBCR_CR29_Pos)
1959 #define CAN_TXBCR_CR30_Pos 30 /**< \brief (CAN_TXBCR) Cancellation Request 30 */
1960 #define CAN_TXBCR_CR30 (0x1u << CAN_TXBCR_CR30_Pos)
1961 #define CAN_TXBCR_CR31_Pos 31 /**< \brief (CAN_TXBCR) Cancellation Request 31 */
1962 #define CAN_TXBCR_CR31 (0x1u << CAN_TXBCR_CR31_Pos)
1963 #define CAN_TXBCR_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBCR) MASK Register */
1965 /* -------- CAN_TXBTO : (CAN Offset: 0xD8) (R/ 32) Tx Buffer Transmission Occurred -------- */
1966 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
1969 uint32_t TO0:1; /*!< bit: 0 Transmission Occurred 0 */
1970 uint32_t TO1:1; /*!< bit: 1 Transmission Occurred 1 */
1971 uint32_t TO2:1; /*!< bit: 2 Transmission Occurred 2 */
1972 uint32_t TO3:1; /*!< bit: 3 Transmission Occurred 3 */
1973 uint32_t TO4:1; /*!< bit: 4 Transmission Occurred 4 */
1974 uint32_t TO5:1; /*!< bit: 5 Transmission Occurred 5 */
1975 uint32_t TO6:1; /*!< bit: 6 Transmission Occurred 6 */
1976 uint32_t TO7:1; /*!< bit: 7 Transmission Occurred 7 */
1977 uint32_t TO8:1; /*!< bit: 8 Transmission Occurred 8 */
1978 uint32_t TO9:1; /*!< bit: 9 Transmission Occurred 9 */
1979 uint32_t TO10:1; /*!< bit: 10 Transmission Occurred 10 */
1980 uint32_t TO11:1; /*!< bit: 11 Transmission Occurred 11 */
1981 uint32_t TO12:1; /*!< bit: 12 Transmission Occurred 12 */
1982 uint32_t TO13:1; /*!< bit: 13 Transmission Occurred 13 */
1983 uint32_t TO14:1; /*!< bit: 14 Transmission Occurred 14 */
1984 uint32_t TO15:1; /*!< bit: 15 Transmission Occurred 15 */
1985 uint32_t TO16:1; /*!< bit: 16 Transmission Occurred 16 */
1986 uint32_t TO17:1; /*!< bit: 17 Transmission Occurred 17 */
1987 uint32_t TO18:1; /*!< bit: 18 Transmission Occurred 18 */
1988 uint32_t TO19:1; /*!< bit: 19 Transmission Occurred 19 */
1989 uint32_t TO20:1; /*!< bit: 20 Transmission Occurred 20 */
1990 uint32_t TO21:1; /*!< bit: 21 Transmission Occurred 21 */
1991 uint32_t TO22:1; /*!< bit: 22 Transmission Occurred 22 */
1992 uint32_t TO23:1; /*!< bit: 23 Transmission Occurred 23 */
1993 uint32_t TO24:1; /*!< bit: 24 Transmission Occurred 24 */
1994 uint32_t TO25:1; /*!< bit: 25 Transmission Occurred 25 */
1995 uint32_t TO26:1; /*!< bit: 26 Transmission Occurred 26 */
1996 uint32_t TO27:1; /*!< bit: 27 Transmission Occurred 27 */
1997 uint32_t TO28:1; /*!< bit: 28 Transmission Occurred 28 */
1998 uint32_t TO29:1; /*!< bit: 29 Transmission Occurred 29 */
1999 uint32_t TO30:1; /*!< bit: 30 Transmission Occurred 30 */
2000 uint32_t TO31:1; /*!< bit: 31 Transmission Occurred 31 */
2001 } bit; /*!< Structure used for bit access */
2002 uint32_t reg; /*!< Type used for register access */
2004 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2006 #define CAN_TXBTO_OFFSET 0xD8 /**< \brief (CAN_TXBTO offset) Tx Buffer Transmission Occurred */
2007 #define CAN_TXBTO_RESETVALUE 0x00000000u /**< \brief (CAN_TXBTO reset_value) Tx Buffer Transmission Occurred */
2009 #define CAN_TXBTO_TO0_Pos 0 /**< \brief (CAN_TXBTO) Transmission Occurred 0 */
2010 #define CAN_TXBTO_TO0 (0x1u << CAN_TXBTO_TO0_Pos)
2011 #define CAN_TXBTO_TO1_Pos 1 /**< \brief (CAN_TXBTO) Transmission Occurred 1 */
2012 #define CAN_TXBTO_TO1 (0x1u << CAN_TXBTO_TO1_Pos)
2013 #define CAN_TXBTO_TO2_Pos 2 /**< \brief (CAN_TXBTO) Transmission Occurred 2 */
2014 #define CAN_TXBTO_TO2 (0x1u << CAN_TXBTO_TO2_Pos)
2015 #define CAN_TXBTO_TO3_Pos 3 /**< \brief (CAN_TXBTO) Transmission Occurred 3 */
2016 #define CAN_TXBTO_TO3 (0x1u << CAN_TXBTO_TO3_Pos)
2017 #define CAN_TXBTO_TO4_Pos 4 /**< \brief (CAN_TXBTO) Transmission Occurred 4 */
2018 #define CAN_TXBTO_TO4 (0x1u << CAN_TXBTO_TO4_Pos)
2019 #define CAN_TXBTO_TO5_Pos 5 /**< \brief (CAN_TXBTO) Transmission Occurred 5 */
2020 #define CAN_TXBTO_TO5 (0x1u << CAN_TXBTO_TO5_Pos)
2021 #define CAN_TXBTO_TO6_Pos 6 /**< \brief (CAN_TXBTO) Transmission Occurred 6 */
2022 #define CAN_TXBTO_TO6 (0x1u << CAN_TXBTO_TO6_Pos)
2023 #define CAN_TXBTO_TO7_Pos 7 /**< \brief (CAN_TXBTO) Transmission Occurred 7 */
2024 #define CAN_TXBTO_TO7 (0x1u << CAN_TXBTO_TO7_Pos)
2025 #define CAN_TXBTO_TO8_Pos 8 /**< \brief (CAN_TXBTO) Transmission Occurred 8 */
2026 #define CAN_TXBTO_TO8 (0x1u << CAN_TXBTO_TO8_Pos)
2027 #define CAN_TXBTO_TO9_Pos 9 /**< \brief (CAN_TXBTO) Transmission Occurred 9 */
2028 #define CAN_TXBTO_TO9 (0x1u << CAN_TXBTO_TO9_Pos)
2029 #define CAN_TXBTO_TO10_Pos 10 /**< \brief (CAN_TXBTO) Transmission Occurred 10 */
2030 #define CAN_TXBTO_TO10 (0x1u << CAN_TXBTO_TO10_Pos)
2031 #define CAN_TXBTO_TO11_Pos 11 /**< \brief (CAN_TXBTO) Transmission Occurred 11 */
2032 #define CAN_TXBTO_TO11 (0x1u << CAN_TXBTO_TO11_Pos)
2033 #define CAN_TXBTO_TO12_Pos 12 /**< \brief (CAN_TXBTO) Transmission Occurred 12 */
2034 #define CAN_TXBTO_TO12 (0x1u << CAN_TXBTO_TO12_Pos)
2035 #define CAN_TXBTO_TO13_Pos 13 /**< \brief (CAN_TXBTO) Transmission Occurred 13 */
2036 #define CAN_TXBTO_TO13 (0x1u << CAN_TXBTO_TO13_Pos)
2037 #define CAN_TXBTO_TO14_Pos 14 /**< \brief (CAN_TXBTO) Transmission Occurred 14 */
2038 #define CAN_TXBTO_TO14 (0x1u << CAN_TXBTO_TO14_Pos)
2039 #define CAN_TXBTO_TO15_Pos 15 /**< \brief (CAN_TXBTO) Transmission Occurred 15 */
2040 #define CAN_TXBTO_TO15 (0x1u << CAN_TXBTO_TO15_Pos)
2041 #define CAN_TXBTO_TO16_Pos 16 /**< \brief (CAN_TXBTO) Transmission Occurred 16 */
2042 #define CAN_TXBTO_TO16 (0x1u << CAN_TXBTO_TO16_Pos)
2043 #define CAN_TXBTO_TO17_Pos 17 /**< \brief (CAN_TXBTO) Transmission Occurred 17 */
2044 #define CAN_TXBTO_TO17 (0x1u << CAN_TXBTO_TO17_Pos)
2045 #define CAN_TXBTO_TO18_Pos 18 /**< \brief (CAN_TXBTO) Transmission Occurred 18 */
2046 #define CAN_TXBTO_TO18 (0x1u << CAN_TXBTO_TO18_Pos)
2047 #define CAN_TXBTO_TO19_Pos 19 /**< \brief (CAN_TXBTO) Transmission Occurred 19 */
2048 #define CAN_TXBTO_TO19 (0x1u << CAN_TXBTO_TO19_Pos)
2049 #define CAN_TXBTO_TO20_Pos 20 /**< \brief (CAN_TXBTO) Transmission Occurred 20 */
2050 #define CAN_TXBTO_TO20 (0x1u << CAN_TXBTO_TO20_Pos)
2051 #define CAN_TXBTO_TO21_Pos 21 /**< \brief (CAN_TXBTO) Transmission Occurred 21 */
2052 #define CAN_TXBTO_TO21 (0x1u << CAN_TXBTO_TO21_Pos)
2053 #define CAN_TXBTO_TO22_Pos 22 /**< \brief (CAN_TXBTO) Transmission Occurred 22 */
2054 #define CAN_TXBTO_TO22 (0x1u << CAN_TXBTO_TO22_Pos)
2055 #define CAN_TXBTO_TO23_Pos 23 /**< \brief (CAN_TXBTO) Transmission Occurred 23 */
2056 #define CAN_TXBTO_TO23 (0x1u << CAN_TXBTO_TO23_Pos)
2057 #define CAN_TXBTO_TO24_Pos 24 /**< \brief (CAN_TXBTO) Transmission Occurred 24 */
2058 #define CAN_TXBTO_TO24 (0x1u << CAN_TXBTO_TO24_Pos)
2059 #define CAN_TXBTO_TO25_Pos 25 /**< \brief (CAN_TXBTO) Transmission Occurred 25 */
2060 #define CAN_TXBTO_TO25 (0x1u << CAN_TXBTO_TO25_Pos)
2061 #define CAN_TXBTO_TO26_Pos 26 /**< \brief (CAN_TXBTO) Transmission Occurred 26 */
2062 #define CAN_TXBTO_TO26 (0x1u << CAN_TXBTO_TO26_Pos)
2063 #define CAN_TXBTO_TO27_Pos 27 /**< \brief (CAN_TXBTO) Transmission Occurred 27 */
2064 #define CAN_TXBTO_TO27 (0x1u << CAN_TXBTO_TO27_Pos)
2065 #define CAN_TXBTO_TO28_Pos 28 /**< \brief (CAN_TXBTO) Transmission Occurred 28 */
2066 #define CAN_TXBTO_TO28 (0x1u << CAN_TXBTO_TO28_Pos)
2067 #define CAN_TXBTO_TO29_Pos 29 /**< \brief (CAN_TXBTO) Transmission Occurred 29 */
2068 #define CAN_TXBTO_TO29 (0x1u << CAN_TXBTO_TO29_Pos)
2069 #define CAN_TXBTO_TO30_Pos 30 /**< \brief (CAN_TXBTO) Transmission Occurred 30 */
2070 #define CAN_TXBTO_TO30 (0x1u << CAN_TXBTO_TO30_Pos)
2071 #define CAN_TXBTO_TO31_Pos 31 /**< \brief (CAN_TXBTO) Transmission Occurred 31 */
2072 #define CAN_TXBTO_TO31 (0x1u << CAN_TXBTO_TO31_Pos)
2073 #define CAN_TXBTO_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBTO) MASK Register */
2075 /* -------- CAN_TXBCF : (CAN Offset: 0xDC) (R/ 32) Tx Buffer Cancellation Finished -------- */
2076 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2079 uint32_t CF0:1; /*!< bit: 0 Tx Buffer Cancellation Finished 0 */
2080 uint32_t CF1:1; /*!< bit: 1 Tx Buffer Cancellation Finished 1 */
2081 uint32_t CF2:1; /*!< bit: 2 Tx Buffer Cancellation Finished 2 */
2082 uint32_t CF3:1; /*!< bit: 3 Tx Buffer Cancellation Finished 3 */
2083 uint32_t CF4:1; /*!< bit: 4 Tx Buffer Cancellation Finished 4 */
2084 uint32_t CF5:1; /*!< bit: 5 Tx Buffer Cancellation Finished 5 */
2085 uint32_t CF6:1; /*!< bit: 6 Tx Buffer Cancellation Finished 6 */
2086 uint32_t CF7:1; /*!< bit: 7 Tx Buffer Cancellation Finished 7 */
2087 uint32_t CF8:1; /*!< bit: 8 Tx Buffer Cancellation Finished 8 */
2088 uint32_t CF9:1; /*!< bit: 9 Tx Buffer Cancellation Finished 9 */
2089 uint32_t CF10:1; /*!< bit: 10 Tx Buffer Cancellation Finished 10 */
2090 uint32_t CF11:1; /*!< bit: 11 Tx Buffer Cancellation Finished 11 */
2091 uint32_t CF12:1; /*!< bit: 12 Tx Buffer Cancellation Finished 12 */
2092 uint32_t CF13:1; /*!< bit: 13 Tx Buffer Cancellation Finished 13 */
2093 uint32_t CF14:1; /*!< bit: 14 Tx Buffer Cancellation Finished 14 */
2094 uint32_t CF15:1; /*!< bit: 15 Tx Buffer Cancellation Finished 15 */
2095 uint32_t CF16:1; /*!< bit: 16 Tx Buffer Cancellation Finished 16 */
2096 uint32_t CF17:1; /*!< bit: 17 Tx Buffer Cancellation Finished 17 */
2097 uint32_t CF18:1; /*!< bit: 18 Tx Buffer Cancellation Finished 18 */
2098 uint32_t CF19:1; /*!< bit: 19 Tx Buffer Cancellation Finished 19 */
2099 uint32_t CF20:1; /*!< bit: 20 Tx Buffer Cancellation Finished 20 */
2100 uint32_t CF21:1; /*!< bit: 21 Tx Buffer Cancellation Finished 21 */
2101 uint32_t CF22:1; /*!< bit: 22 Tx Buffer Cancellation Finished 22 */
2102 uint32_t CF23:1; /*!< bit: 23 Tx Buffer Cancellation Finished 23 */
2103 uint32_t CF24:1; /*!< bit: 24 Tx Buffer Cancellation Finished 24 */
2104 uint32_t CF25:1; /*!< bit: 25 Tx Buffer Cancellation Finished 25 */
2105 uint32_t CF26:1; /*!< bit: 26 Tx Buffer Cancellation Finished 26 */
2106 uint32_t CF27:1; /*!< bit: 27 Tx Buffer Cancellation Finished 27 */
2107 uint32_t CF28:1; /*!< bit: 28 Tx Buffer Cancellation Finished 28 */
2108 uint32_t CF29:1; /*!< bit: 29 Tx Buffer Cancellation Finished 29 */
2109 uint32_t CF30:1; /*!< bit: 30 Tx Buffer Cancellation Finished 30 */
2110 uint32_t CF31:1; /*!< bit: 31 Tx Buffer Cancellation Finished 31 */
2111 } bit; /*!< Structure used for bit access */
2112 uint32_t reg; /*!< Type used for register access */
2114 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2116 #define CAN_TXBCF_OFFSET 0xDC /**< \brief (CAN_TXBCF offset) Tx Buffer Cancellation Finished */
2117 #define CAN_TXBCF_RESETVALUE 0x00000000u /**< \brief (CAN_TXBCF reset_value) Tx Buffer Cancellation Finished */
2119 #define CAN_TXBCF_CF0_Pos 0 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 0 */
2120 #define CAN_TXBCF_CF0 (0x1u << CAN_TXBCF_CF0_Pos)
2121 #define CAN_TXBCF_CF1_Pos 1 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 1 */
2122 #define CAN_TXBCF_CF1 (0x1u << CAN_TXBCF_CF1_Pos)
2123 #define CAN_TXBCF_CF2_Pos 2 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 2 */
2124 #define CAN_TXBCF_CF2 (0x1u << CAN_TXBCF_CF2_Pos)
2125 #define CAN_TXBCF_CF3_Pos 3 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 3 */
2126 #define CAN_TXBCF_CF3 (0x1u << CAN_TXBCF_CF3_Pos)
2127 #define CAN_TXBCF_CF4_Pos 4 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 4 */
2128 #define CAN_TXBCF_CF4 (0x1u << CAN_TXBCF_CF4_Pos)
2129 #define CAN_TXBCF_CF5_Pos 5 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 5 */
2130 #define CAN_TXBCF_CF5 (0x1u << CAN_TXBCF_CF5_Pos)
2131 #define CAN_TXBCF_CF6_Pos 6 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 6 */
2132 #define CAN_TXBCF_CF6 (0x1u << CAN_TXBCF_CF6_Pos)
2133 #define CAN_TXBCF_CF7_Pos 7 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 7 */
2134 #define CAN_TXBCF_CF7 (0x1u << CAN_TXBCF_CF7_Pos)
2135 #define CAN_TXBCF_CF8_Pos 8 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 8 */
2136 #define CAN_TXBCF_CF8 (0x1u << CAN_TXBCF_CF8_Pos)
2137 #define CAN_TXBCF_CF9_Pos 9 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 9 */
2138 #define CAN_TXBCF_CF9 (0x1u << CAN_TXBCF_CF9_Pos)
2139 #define CAN_TXBCF_CF10_Pos 10 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 10 */
2140 #define CAN_TXBCF_CF10 (0x1u << CAN_TXBCF_CF10_Pos)
2141 #define CAN_TXBCF_CF11_Pos 11 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 11 */
2142 #define CAN_TXBCF_CF11 (0x1u << CAN_TXBCF_CF11_Pos)
2143 #define CAN_TXBCF_CF12_Pos 12 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 12 */
2144 #define CAN_TXBCF_CF12 (0x1u << CAN_TXBCF_CF12_Pos)
2145 #define CAN_TXBCF_CF13_Pos 13 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 13 */
2146 #define CAN_TXBCF_CF13 (0x1u << CAN_TXBCF_CF13_Pos)
2147 #define CAN_TXBCF_CF14_Pos 14 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 14 */
2148 #define CAN_TXBCF_CF14 (0x1u << CAN_TXBCF_CF14_Pos)
2149 #define CAN_TXBCF_CF15_Pos 15 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 15 */
2150 #define CAN_TXBCF_CF15 (0x1u << CAN_TXBCF_CF15_Pos)
2151 #define CAN_TXBCF_CF16_Pos 16 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 16 */
2152 #define CAN_TXBCF_CF16 (0x1u << CAN_TXBCF_CF16_Pos)
2153 #define CAN_TXBCF_CF17_Pos 17 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 17 */
2154 #define CAN_TXBCF_CF17 (0x1u << CAN_TXBCF_CF17_Pos)
2155 #define CAN_TXBCF_CF18_Pos 18 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 18 */
2156 #define CAN_TXBCF_CF18 (0x1u << CAN_TXBCF_CF18_Pos)
2157 #define CAN_TXBCF_CF19_Pos 19 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 19 */
2158 #define CAN_TXBCF_CF19 (0x1u << CAN_TXBCF_CF19_Pos)
2159 #define CAN_TXBCF_CF20_Pos 20 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 20 */
2160 #define CAN_TXBCF_CF20 (0x1u << CAN_TXBCF_CF20_Pos)
2161 #define CAN_TXBCF_CF21_Pos 21 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 21 */
2162 #define CAN_TXBCF_CF21 (0x1u << CAN_TXBCF_CF21_Pos)
2163 #define CAN_TXBCF_CF22_Pos 22 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 22 */
2164 #define CAN_TXBCF_CF22 (0x1u << CAN_TXBCF_CF22_Pos)
2165 #define CAN_TXBCF_CF23_Pos 23 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 23 */
2166 #define CAN_TXBCF_CF23 (0x1u << CAN_TXBCF_CF23_Pos)
2167 #define CAN_TXBCF_CF24_Pos 24 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 24 */
2168 #define CAN_TXBCF_CF24 (0x1u << CAN_TXBCF_CF24_Pos)
2169 #define CAN_TXBCF_CF25_Pos 25 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 25 */
2170 #define CAN_TXBCF_CF25 (0x1u << CAN_TXBCF_CF25_Pos)
2171 #define CAN_TXBCF_CF26_Pos 26 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 26 */
2172 #define CAN_TXBCF_CF26 (0x1u << CAN_TXBCF_CF26_Pos)
2173 #define CAN_TXBCF_CF27_Pos 27 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 27 */
2174 #define CAN_TXBCF_CF27 (0x1u << CAN_TXBCF_CF27_Pos)
2175 #define CAN_TXBCF_CF28_Pos 28 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 28 */
2176 #define CAN_TXBCF_CF28 (0x1u << CAN_TXBCF_CF28_Pos)
2177 #define CAN_TXBCF_CF29_Pos 29 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 29 */
2178 #define CAN_TXBCF_CF29 (0x1u << CAN_TXBCF_CF29_Pos)
2179 #define CAN_TXBCF_CF30_Pos 30 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 30 */
2180 #define CAN_TXBCF_CF30 (0x1u << CAN_TXBCF_CF30_Pos)
2181 #define CAN_TXBCF_CF31_Pos 31 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 31 */
2182 #define CAN_TXBCF_CF31 (0x1u << CAN_TXBCF_CF31_Pos)
2183 #define CAN_TXBCF_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBCF) MASK Register */
2185 /* -------- CAN_TXBTIE : (CAN Offset: 0xE0) (R/W 32) Tx Buffer Transmission Interrupt Enable -------- */
2186 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2189 uint32_t TIE0:1; /*!< bit: 0 Transmission Interrupt Enable 0 */
2190 uint32_t TIE1:1; /*!< bit: 1 Transmission Interrupt Enable 1 */
2191 uint32_t TIE2:1; /*!< bit: 2 Transmission Interrupt Enable 2 */
2192 uint32_t TIE3:1; /*!< bit: 3 Transmission Interrupt Enable 3 */
2193 uint32_t TIE4:1; /*!< bit: 4 Transmission Interrupt Enable 4 */
2194 uint32_t TIE5:1; /*!< bit: 5 Transmission Interrupt Enable 5 */
2195 uint32_t TIE6:1; /*!< bit: 6 Transmission Interrupt Enable 6 */
2196 uint32_t TIE7:1; /*!< bit: 7 Transmission Interrupt Enable 7 */
2197 uint32_t TIE8:1; /*!< bit: 8 Transmission Interrupt Enable 8 */
2198 uint32_t TIE9:1; /*!< bit: 9 Transmission Interrupt Enable 9 */
2199 uint32_t TIE10:1; /*!< bit: 10 Transmission Interrupt Enable 10 */
2200 uint32_t TIE11:1; /*!< bit: 11 Transmission Interrupt Enable 11 */
2201 uint32_t TIE12:1; /*!< bit: 12 Transmission Interrupt Enable 12 */
2202 uint32_t TIE13:1; /*!< bit: 13 Transmission Interrupt Enable 13 */
2203 uint32_t TIE14:1; /*!< bit: 14 Transmission Interrupt Enable 14 */
2204 uint32_t TIE15:1; /*!< bit: 15 Transmission Interrupt Enable 15 */
2205 uint32_t TIE16:1; /*!< bit: 16 Transmission Interrupt Enable 16 */
2206 uint32_t TIE17:1; /*!< bit: 17 Transmission Interrupt Enable 17 */
2207 uint32_t TIE18:1; /*!< bit: 18 Transmission Interrupt Enable 18 */
2208 uint32_t TIE19:1; /*!< bit: 19 Transmission Interrupt Enable 19 */
2209 uint32_t TIE20:1; /*!< bit: 20 Transmission Interrupt Enable 20 */
2210 uint32_t TIE21:1; /*!< bit: 21 Transmission Interrupt Enable 21 */
2211 uint32_t TIE22:1; /*!< bit: 22 Transmission Interrupt Enable 22 */
2212 uint32_t TIE23:1; /*!< bit: 23 Transmission Interrupt Enable 23 */
2213 uint32_t TIE24:1; /*!< bit: 24 Transmission Interrupt Enable 24 */
2214 uint32_t TIE25:1; /*!< bit: 25 Transmission Interrupt Enable 25 */
2215 uint32_t TIE26:1; /*!< bit: 26 Transmission Interrupt Enable 26 */
2216 uint32_t TIE27:1; /*!< bit: 27 Transmission Interrupt Enable 27 */
2217 uint32_t TIE28:1; /*!< bit: 28 Transmission Interrupt Enable 28 */
2218 uint32_t TIE29:1; /*!< bit: 29 Transmission Interrupt Enable 29 */
2219 uint32_t TIE30:1; /*!< bit: 30 Transmission Interrupt Enable 30 */
2220 uint32_t TIE31:1; /*!< bit: 31 Transmission Interrupt Enable 31 */
2221 } bit; /*!< Structure used for bit access */
2222 uint32_t reg; /*!< Type used for register access */
2224 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2226 #define CAN_TXBTIE_OFFSET 0xE0 /**< \brief (CAN_TXBTIE offset) Tx Buffer Transmission Interrupt Enable */
2227 #define CAN_TXBTIE_RESETVALUE 0x00000000u /**< \brief (CAN_TXBTIE reset_value) Tx Buffer Transmission Interrupt Enable */
2229 #define CAN_TXBTIE_TIE0_Pos 0 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 0 */
2230 #define CAN_TXBTIE_TIE0 (0x1u << CAN_TXBTIE_TIE0_Pos)
2231 #define CAN_TXBTIE_TIE1_Pos 1 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 1 */
2232 #define CAN_TXBTIE_TIE1 (0x1u << CAN_TXBTIE_TIE1_Pos)
2233 #define CAN_TXBTIE_TIE2_Pos 2 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 2 */
2234 #define CAN_TXBTIE_TIE2 (0x1u << CAN_TXBTIE_TIE2_Pos)
2235 #define CAN_TXBTIE_TIE3_Pos 3 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 3 */
2236 #define CAN_TXBTIE_TIE3 (0x1u << CAN_TXBTIE_TIE3_Pos)
2237 #define CAN_TXBTIE_TIE4_Pos 4 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 4 */
2238 #define CAN_TXBTIE_TIE4 (0x1u << CAN_TXBTIE_TIE4_Pos)
2239 #define CAN_TXBTIE_TIE5_Pos 5 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 5 */
2240 #define CAN_TXBTIE_TIE5 (0x1u << CAN_TXBTIE_TIE5_Pos)
2241 #define CAN_TXBTIE_TIE6_Pos 6 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 6 */
2242 #define CAN_TXBTIE_TIE6 (0x1u << CAN_TXBTIE_TIE6_Pos)
2243 #define CAN_TXBTIE_TIE7_Pos 7 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 7 */
2244 #define CAN_TXBTIE_TIE7 (0x1u << CAN_TXBTIE_TIE7_Pos)
2245 #define CAN_TXBTIE_TIE8_Pos 8 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 8 */
2246 #define CAN_TXBTIE_TIE8 (0x1u << CAN_TXBTIE_TIE8_Pos)
2247 #define CAN_TXBTIE_TIE9_Pos 9 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 9 */
2248 #define CAN_TXBTIE_TIE9 (0x1u << CAN_TXBTIE_TIE9_Pos)
2249 #define CAN_TXBTIE_TIE10_Pos 10 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 10 */
2250 #define CAN_TXBTIE_TIE10 (0x1u << CAN_TXBTIE_TIE10_Pos)
2251 #define CAN_TXBTIE_TIE11_Pos 11 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 11 */
2252 #define CAN_TXBTIE_TIE11 (0x1u << CAN_TXBTIE_TIE11_Pos)
2253 #define CAN_TXBTIE_TIE12_Pos 12 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 12 */
2254 #define CAN_TXBTIE_TIE12 (0x1u << CAN_TXBTIE_TIE12_Pos)
2255 #define CAN_TXBTIE_TIE13_Pos 13 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 13 */
2256 #define CAN_TXBTIE_TIE13 (0x1u << CAN_TXBTIE_TIE13_Pos)
2257 #define CAN_TXBTIE_TIE14_Pos 14 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 14 */
2258 #define CAN_TXBTIE_TIE14 (0x1u << CAN_TXBTIE_TIE14_Pos)
2259 #define CAN_TXBTIE_TIE15_Pos 15 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 15 */
2260 #define CAN_TXBTIE_TIE15 (0x1u << CAN_TXBTIE_TIE15_Pos)
2261 #define CAN_TXBTIE_TIE16_Pos 16 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 16 */
2262 #define CAN_TXBTIE_TIE16 (0x1u << CAN_TXBTIE_TIE16_Pos)
2263 #define CAN_TXBTIE_TIE17_Pos 17 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 17 */
2264 #define CAN_TXBTIE_TIE17 (0x1u << CAN_TXBTIE_TIE17_Pos)
2265 #define CAN_TXBTIE_TIE18_Pos 18 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 18 */
2266 #define CAN_TXBTIE_TIE18 (0x1u << CAN_TXBTIE_TIE18_Pos)
2267 #define CAN_TXBTIE_TIE19_Pos 19 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 19 */
2268 #define CAN_TXBTIE_TIE19 (0x1u << CAN_TXBTIE_TIE19_Pos)
2269 #define CAN_TXBTIE_TIE20_Pos 20 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 20 */
2270 #define CAN_TXBTIE_TIE20 (0x1u << CAN_TXBTIE_TIE20_Pos)
2271 #define CAN_TXBTIE_TIE21_Pos 21 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 21 */
2272 #define CAN_TXBTIE_TIE21 (0x1u << CAN_TXBTIE_TIE21_Pos)
2273 #define CAN_TXBTIE_TIE22_Pos 22 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 22 */
2274 #define CAN_TXBTIE_TIE22 (0x1u << CAN_TXBTIE_TIE22_Pos)
2275 #define CAN_TXBTIE_TIE23_Pos 23 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 23 */
2276 #define CAN_TXBTIE_TIE23 (0x1u << CAN_TXBTIE_TIE23_Pos)
2277 #define CAN_TXBTIE_TIE24_Pos 24 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 24 */
2278 #define CAN_TXBTIE_TIE24 (0x1u << CAN_TXBTIE_TIE24_Pos)
2279 #define CAN_TXBTIE_TIE25_Pos 25 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 25 */
2280 #define CAN_TXBTIE_TIE25 (0x1u << CAN_TXBTIE_TIE25_Pos)
2281 #define CAN_TXBTIE_TIE26_Pos 26 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 26 */
2282 #define CAN_TXBTIE_TIE26 (0x1u << CAN_TXBTIE_TIE26_Pos)
2283 #define CAN_TXBTIE_TIE27_Pos 27 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 27 */
2284 #define CAN_TXBTIE_TIE27 (0x1u << CAN_TXBTIE_TIE27_Pos)
2285 #define CAN_TXBTIE_TIE28_Pos 28 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 28 */
2286 #define CAN_TXBTIE_TIE28 (0x1u << CAN_TXBTIE_TIE28_Pos)
2287 #define CAN_TXBTIE_TIE29_Pos 29 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 29 */
2288 #define CAN_TXBTIE_TIE29 (0x1u << CAN_TXBTIE_TIE29_Pos)
2289 #define CAN_TXBTIE_TIE30_Pos 30 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 30 */
2290 #define CAN_TXBTIE_TIE30 (0x1u << CAN_TXBTIE_TIE30_Pos)
2291 #define CAN_TXBTIE_TIE31_Pos 31 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 31 */
2292 #define CAN_TXBTIE_TIE31 (0x1u << CAN_TXBTIE_TIE31_Pos)
2293 #define CAN_TXBTIE_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBTIE) MASK Register */
2295 /* -------- CAN_TXBCIE : (CAN Offset: 0xE4) (R/W 32) Tx Buffer Cancellation Finished Interrupt Enable -------- */
2296 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2299 uint32_t CFIE0:1; /*!< bit: 0 Cancellation Finished Interrupt Enable 0 */
2300 uint32_t CFIE1:1; /*!< bit: 1 Cancellation Finished Interrupt Enable 1 */
2301 uint32_t CFIE2:1; /*!< bit: 2 Cancellation Finished Interrupt Enable 2 */
2302 uint32_t CFIE3:1; /*!< bit: 3 Cancellation Finished Interrupt Enable 3 */
2303 uint32_t CFIE4:1; /*!< bit: 4 Cancellation Finished Interrupt Enable 4 */
2304 uint32_t CFIE5:1; /*!< bit: 5 Cancellation Finished Interrupt Enable 5 */
2305 uint32_t CFIE6:1; /*!< bit: 6 Cancellation Finished Interrupt Enable 6 */
2306 uint32_t CFIE7:1; /*!< bit: 7 Cancellation Finished Interrupt Enable 7 */
2307 uint32_t CFIE8:1; /*!< bit: 8 Cancellation Finished Interrupt Enable 8 */
2308 uint32_t CFIE9:1; /*!< bit: 9 Cancellation Finished Interrupt Enable 9 */
2309 uint32_t CFIE10:1; /*!< bit: 10 Cancellation Finished Interrupt Enable 10 */
2310 uint32_t CFIE11:1; /*!< bit: 11 Cancellation Finished Interrupt Enable 11 */
2311 uint32_t CFIE12:1; /*!< bit: 12 Cancellation Finished Interrupt Enable 12 */
2312 uint32_t CFIE13:1; /*!< bit: 13 Cancellation Finished Interrupt Enable 13 */
2313 uint32_t CFIE14:1; /*!< bit: 14 Cancellation Finished Interrupt Enable 14 */
2314 uint32_t CFIE15:1; /*!< bit: 15 Cancellation Finished Interrupt Enable 15 */
2315 uint32_t CFIE16:1; /*!< bit: 16 Cancellation Finished Interrupt Enable 16 */
2316 uint32_t CFIE17:1; /*!< bit: 17 Cancellation Finished Interrupt Enable 17 */
2317 uint32_t CFIE18:1; /*!< bit: 18 Cancellation Finished Interrupt Enable 18 */
2318 uint32_t CFIE19:1; /*!< bit: 19 Cancellation Finished Interrupt Enable 19 */
2319 uint32_t CFIE20:1; /*!< bit: 20 Cancellation Finished Interrupt Enable 20 */
2320 uint32_t CFIE21:1; /*!< bit: 21 Cancellation Finished Interrupt Enable 21 */
2321 uint32_t CFIE22:1; /*!< bit: 22 Cancellation Finished Interrupt Enable 22 */
2322 uint32_t CFIE23:1; /*!< bit: 23 Cancellation Finished Interrupt Enable 23 */
2323 uint32_t CFIE24:1; /*!< bit: 24 Cancellation Finished Interrupt Enable 24 */
2324 uint32_t CFIE25:1; /*!< bit: 25 Cancellation Finished Interrupt Enable 25 */
2325 uint32_t CFIE26:1; /*!< bit: 26 Cancellation Finished Interrupt Enable 26 */
2326 uint32_t CFIE27:1; /*!< bit: 27 Cancellation Finished Interrupt Enable 27 */
2327 uint32_t CFIE28:1; /*!< bit: 28 Cancellation Finished Interrupt Enable 28 */
2328 uint32_t CFIE29:1; /*!< bit: 29 Cancellation Finished Interrupt Enable 29 */
2329 uint32_t CFIE30:1; /*!< bit: 30 Cancellation Finished Interrupt Enable 30 */
2330 uint32_t CFIE31:1; /*!< bit: 31 Cancellation Finished Interrupt Enable 31 */
2331 } bit; /*!< Structure used for bit access */
2332 uint32_t reg; /*!< Type used for register access */
2334 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2336 #define CAN_TXBCIE_OFFSET 0xE4 /**< \brief (CAN_TXBCIE offset) Tx Buffer Cancellation Finished Interrupt Enable */
2337 #define CAN_TXBCIE_RESETVALUE 0x00000000u /**< \brief (CAN_TXBCIE reset_value) Tx Buffer Cancellation Finished Interrupt Enable */
2339 #define CAN_TXBCIE_CFIE0_Pos 0 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 0 */
2340 #define CAN_TXBCIE_CFIE0 (0x1u << CAN_TXBCIE_CFIE0_Pos)
2341 #define CAN_TXBCIE_CFIE1_Pos 1 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 1 */
2342 #define CAN_TXBCIE_CFIE1 (0x1u << CAN_TXBCIE_CFIE1_Pos)
2343 #define CAN_TXBCIE_CFIE2_Pos 2 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 2 */
2344 #define CAN_TXBCIE_CFIE2 (0x1u << CAN_TXBCIE_CFIE2_Pos)
2345 #define CAN_TXBCIE_CFIE3_Pos 3 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 3 */
2346 #define CAN_TXBCIE_CFIE3 (0x1u << CAN_TXBCIE_CFIE3_Pos)
2347 #define CAN_TXBCIE_CFIE4_Pos 4 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 4 */
2348 #define CAN_TXBCIE_CFIE4 (0x1u << CAN_TXBCIE_CFIE4_Pos)
2349 #define CAN_TXBCIE_CFIE5_Pos 5 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 5 */
2350 #define CAN_TXBCIE_CFIE5 (0x1u << CAN_TXBCIE_CFIE5_Pos)
2351 #define CAN_TXBCIE_CFIE6_Pos 6 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 6 */
2352 #define CAN_TXBCIE_CFIE6 (0x1u << CAN_TXBCIE_CFIE6_Pos)
2353 #define CAN_TXBCIE_CFIE7_Pos 7 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 7 */
2354 #define CAN_TXBCIE_CFIE7 (0x1u << CAN_TXBCIE_CFIE7_Pos)
2355 #define CAN_TXBCIE_CFIE8_Pos 8 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 8 */
2356 #define CAN_TXBCIE_CFIE8 (0x1u << CAN_TXBCIE_CFIE8_Pos)
2357 #define CAN_TXBCIE_CFIE9_Pos 9 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 9 */
2358 #define CAN_TXBCIE_CFIE9 (0x1u << CAN_TXBCIE_CFIE9_Pos)
2359 #define CAN_TXBCIE_CFIE10_Pos 10 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 10 */
2360 #define CAN_TXBCIE_CFIE10 (0x1u << CAN_TXBCIE_CFIE10_Pos)
2361 #define CAN_TXBCIE_CFIE11_Pos 11 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 11 */
2362 #define CAN_TXBCIE_CFIE11 (0x1u << CAN_TXBCIE_CFIE11_Pos)
2363 #define CAN_TXBCIE_CFIE12_Pos 12 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 12 */
2364 #define CAN_TXBCIE_CFIE12 (0x1u << CAN_TXBCIE_CFIE12_Pos)
2365 #define CAN_TXBCIE_CFIE13_Pos 13 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 13 */
2366 #define CAN_TXBCIE_CFIE13 (0x1u << CAN_TXBCIE_CFIE13_Pos)
2367 #define CAN_TXBCIE_CFIE14_Pos 14 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 14 */
2368 #define CAN_TXBCIE_CFIE14 (0x1u << CAN_TXBCIE_CFIE14_Pos)
2369 #define CAN_TXBCIE_CFIE15_Pos 15 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 15 */
2370 #define CAN_TXBCIE_CFIE15 (0x1u << CAN_TXBCIE_CFIE15_Pos)
2371 #define CAN_TXBCIE_CFIE16_Pos 16 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 16 */
2372 #define CAN_TXBCIE_CFIE16 (0x1u << CAN_TXBCIE_CFIE16_Pos)
2373 #define CAN_TXBCIE_CFIE17_Pos 17 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 17 */
2374 #define CAN_TXBCIE_CFIE17 (0x1u << CAN_TXBCIE_CFIE17_Pos)
2375 #define CAN_TXBCIE_CFIE18_Pos 18 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 18 */
2376 #define CAN_TXBCIE_CFIE18 (0x1u << CAN_TXBCIE_CFIE18_Pos)
2377 #define CAN_TXBCIE_CFIE19_Pos 19 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 19 */
2378 #define CAN_TXBCIE_CFIE19 (0x1u << CAN_TXBCIE_CFIE19_Pos)
2379 #define CAN_TXBCIE_CFIE20_Pos 20 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 20 */
2380 #define CAN_TXBCIE_CFIE20 (0x1u << CAN_TXBCIE_CFIE20_Pos)
2381 #define CAN_TXBCIE_CFIE21_Pos 21 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 21 */
2382 #define CAN_TXBCIE_CFIE21 (0x1u << CAN_TXBCIE_CFIE21_Pos)
2383 #define CAN_TXBCIE_CFIE22_Pos 22 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 22 */
2384 #define CAN_TXBCIE_CFIE22 (0x1u << CAN_TXBCIE_CFIE22_Pos)
2385 #define CAN_TXBCIE_CFIE23_Pos 23 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 23 */
2386 #define CAN_TXBCIE_CFIE23 (0x1u << CAN_TXBCIE_CFIE23_Pos)
2387 #define CAN_TXBCIE_CFIE24_Pos 24 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 24 */
2388 #define CAN_TXBCIE_CFIE24 (0x1u << CAN_TXBCIE_CFIE24_Pos)
2389 #define CAN_TXBCIE_CFIE25_Pos 25 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 25 */
2390 #define CAN_TXBCIE_CFIE25 (0x1u << CAN_TXBCIE_CFIE25_Pos)
2391 #define CAN_TXBCIE_CFIE26_Pos 26 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 26 */
2392 #define CAN_TXBCIE_CFIE26 (0x1u << CAN_TXBCIE_CFIE26_Pos)
2393 #define CAN_TXBCIE_CFIE27_Pos 27 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 27 */
2394 #define CAN_TXBCIE_CFIE27 (0x1u << CAN_TXBCIE_CFIE27_Pos)
2395 #define CAN_TXBCIE_CFIE28_Pos 28 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 28 */
2396 #define CAN_TXBCIE_CFIE28 (0x1u << CAN_TXBCIE_CFIE28_Pos)
2397 #define CAN_TXBCIE_CFIE29_Pos 29 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 29 */
2398 #define CAN_TXBCIE_CFIE29 (0x1u << CAN_TXBCIE_CFIE29_Pos)
2399 #define CAN_TXBCIE_CFIE30_Pos 30 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 30 */
2400 #define CAN_TXBCIE_CFIE30 (0x1u << CAN_TXBCIE_CFIE30_Pos)
2401 #define CAN_TXBCIE_CFIE31_Pos 31 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 31 */
2402 #define CAN_TXBCIE_CFIE31 (0x1u << CAN_TXBCIE_CFIE31_Pos)
2403 #define CAN_TXBCIE_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBCIE) MASK Register */
2405 /* -------- CAN_TXEFC : (CAN Offset: 0xF0) (R/W 32) Tx Event FIFO Configuration -------- */
2406 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2409 uint32_t EFSA:16; /*!< bit: 0..15 Event FIFO Start Address */
2410 uint32_t EFS:6; /*!< bit: 16..21 Event FIFO Size */
2411 uint32_t :2; /*!< bit: 22..23 Reserved */
2412 uint32_t EFWM:6; /*!< bit: 24..29 Event FIFO Watermark */
2413 uint32_t :2; /*!< bit: 30..31 Reserved */
2414 } bit; /*!< Structure used for bit access */
2415 uint32_t reg; /*!< Type used for register access */
2417 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2419 #define CAN_TXEFC_OFFSET 0xF0 /**< \brief (CAN_TXEFC offset) Tx Event FIFO Configuration */
2420 #define CAN_TXEFC_RESETVALUE 0x00000000u /**< \brief (CAN_TXEFC reset_value) Tx Event FIFO Configuration */
2422 #define CAN_TXEFC_EFSA_Pos 0 /**< \brief (CAN_TXEFC) Event FIFO Start Address */
2423 #define CAN_TXEFC_EFSA_Msk (0xFFFFu << CAN_TXEFC_EFSA_Pos)
2424 #define CAN_TXEFC_EFSA(value) (CAN_TXEFC_EFSA_Msk & ((value) << CAN_TXEFC_EFSA_Pos))
2425 #define CAN_TXEFC_EFS_Pos 16 /**< \brief (CAN_TXEFC) Event FIFO Size */
2426 #define CAN_TXEFC_EFS_Msk (0x3Fu << CAN_TXEFC_EFS_Pos)
2427 #define CAN_TXEFC_EFS(value) (CAN_TXEFC_EFS_Msk & ((value) << CAN_TXEFC_EFS_Pos))
2428 #define CAN_TXEFC_EFWM_Pos 24 /**< \brief (CAN_TXEFC) Event FIFO Watermark */
2429 #define CAN_TXEFC_EFWM_Msk (0x3Fu << CAN_TXEFC_EFWM_Pos)
2430 #define CAN_TXEFC_EFWM(value) (CAN_TXEFC_EFWM_Msk & ((value) << CAN_TXEFC_EFWM_Pos))
2431 #define CAN_TXEFC_MASK 0x3F3FFFFFu /**< \brief (CAN_TXEFC) MASK Register */
2433 /* -------- CAN_TXEFS : (CAN Offset: 0xF4) (R/ 32) Tx Event FIFO Status -------- */
2434 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2437 uint32_t EFFL:6; /*!< bit: 0.. 5 Event FIFO Fill Level */
2438 uint32_t :2; /*!< bit: 6.. 7 Reserved */
2439 uint32_t EFGI:5; /*!< bit: 8..12 Event FIFO Get Index */
2440 uint32_t :3; /*!< bit: 13..15 Reserved */
2441 uint32_t EFPI:5; /*!< bit: 16..20 Event FIFO Put Index */
2442 uint32_t :3; /*!< bit: 21..23 Reserved */
2443 uint32_t EFF:1; /*!< bit: 24 Event FIFO Full */
2444 uint32_t TEFL:1; /*!< bit: 25 Tx Event FIFO Element Lost */
2445 uint32_t :6; /*!< bit: 26..31 Reserved */
2446 } bit; /*!< Structure used for bit access */
2447 uint32_t reg; /*!< Type used for register access */
2449 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2451 #define CAN_TXEFS_OFFSET 0xF4 /**< \brief (CAN_TXEFS offset) Tx Event FIFO Status */
2452 #define CAN_TXEFS_RESETVALUE 0x00000000u /**< \brief (CAN_TXEFS reset_value) Tx Event FIFO Status */
2454 #define CAN_TXEFS_EFFL_Pos 0 /**< \brief (CAN_TXEFS) Event FIFO Fill Level */
2455 #define CAN_TXEFS_EFFL_Msk (0x3Fu << CAN_TXEFS_EFFL_Pos)
2456 #define CAN_TXEFS_EFFL(value) (CAN_TXEFS_EFFL_Msk & ((value) << CAN_TXEFS_EFFL_Pos))
2457 #define CAN_TXEFS_EFGI_Pos 8 /**< \brief (CAN_TXEFS) Event FIFO Get Index */
2458 #define CAN_TXEFS_EFGI_Msk (0x1Fu << CAN_TXEFS_EFGI_Pos)
2459 #define CAN_TXEFS_EFGI(value) (CAN_TXEFS_EFGI_Msk & ((value) << CAN_TXEFS_EFGI_Pos))
2460 #define CAN_TXEFS_EFPI_Pos 16 /**< \brief (CAN_TXEFS) Event FIFO Put Index */
2461 #define CAN_TXEFS_EFPI_Msk (0x1Fu << CAN_TXEFS_EFPI_Pos)
2462 #define CAN_TXEFS_EFPI(value) (CAN_TXEFS_EFPI_Msk & ((value) << CAN_TXEFS_EFPI_Pos))
2463 #define CAN_TXEFS_EFF_Pos 24 /**< \brief (CAN_TXEFS) Event FIFO Full */
2464 #define CAN_TXEFS_EFF (0x1u << CAN_TXEFS_EFF_Pos)
2465 #define CAN_TXEFS_TEFL_Pos 25 /**< \brief (CAN_TXEFS) Tx Event FIFO Element Lost */
2466 #define CAN_TXEFS_TEFL (0x1u << CAN_TXEFS_TEFL_Pos)
2467 #define CAN_TXEFS_MASK 0x031F1F3Fu /**< \brief (CAN_TXEFS) MASK Register */
2469 /* -------- CAN_TXEFA : (CAN Offset: 0xF8) (R/W 32) Tx Event FIFO Acknowledge -------- */
2470 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2473 uint32_t EFAI:5; /*!< bit: 0.. 4 Event FIFO Acknowledge Index */
2474 uint32_t :27; /*!< bit: 5..31 Reserved */
2475 } bit; /*!< Structure used for bit access */
2476 uint32_t reg; /*!< Type used for register access */
2478 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2480 #define CAN_TXEFA_OFFSET 0xF8 /**< \brief (CAN_TXEFA offset) Tx Event FIFO Acknowledge */
2481 #define CAN_TXEFA_RESETVALUE 0x00000000u /**< \brief (CAN_TXEFA reset_value) Tx Event FIFO Acknowledge */
2483 #define CAN_TXEFA_EFAI_Pos 0 /**< \brief (CAN_TXEFA) Event FIFO Acknowledge Index */
2484 #define CAN_TXEFA_EFAI_Msk (0x1Fu << CAN_TXEFA_EFAI_Pos)
2485 #define CAN_TXEFA_EFAI(value) (CAN_TXEFA_EFAI_Msk & ((value) << CAN_TXEFA_EFAI_Pos))
2486 #define CAN_TXEFA_MASK 0x0000001Fu /**< \brief (CAN_TXEFA) MASK Register */
2488 /* -------- CAN_RXBE_0 : (CAN Offset: 0x00) (R/W 32) Rx Buffer Element 0 -------- */
2489 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2492 uint32_t ID:29; /*!< bit: 0..28 Identifier */
2493 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */
2494 uint32_t XTD:1; /*!< bit: 30 Extended Identifier */
2495 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */
2496 } bit; /*!< Structure used for bit access */
2497 uint32_t reg; /*!< Type used for register access */
2499 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2501 #define CAN_RXBE_0_OFFSET 0x00 /**< \brief (CAN_RXBE_0 offset) Rx Buffer Element 0 */
2502 #define CAN_RXBE_0_RESETVALUE 0x00000000u /**< \brief (CAN_RXBE_0 reset_value) Rx Buffer Element 0 */
2504 #define CAN_RXBE_0_ID_Pos 0 /**< \brief (CAN_RXBE_0) Identifier */
2505 #define CAN_RXBE_0_ID_Msk (0x1FFFFFFFu << CAN_RXBE_0_ID_Pos)
2506 #define CAN_RXBE_0_ID(value) (CAN_RXBE_0_ID_Msk & ((value) << CAN_RXBE_0_ID_Pos))
2507 #define CAN_RXBE_0_RTR_Pos 29 /**< \brief (CAN_RXBE_0) Remote Transmission Request */
2508 #define CAN_RXBE_0_RTR (0x1u << CAN_RXBE_0_RTR_Pos)
2509 #define CAN_RXBE_0_XTD_Pos 30 /**< \brief (CAN_RXBE_0) Extended Identifier */
2510 #define CAN_RXBE_0_XTD (0x1u << CAN_RXBE_0_XTD_Pos)
2511 #define CAN_RXBE_0_ESI_Pos 31 /**< \brief (CAN_RXBE_0) Error State Indicator */
2512 #define CAN_RXBE_0_ESI (0x1u << CAN_RXBE_0_ESI_Pos)
2513 #define CAN_RXBE_0_MASK 0xFFFFFFFFu /**< \brief (CAN_RXBE_0) MASK Register */
2515 /* -------- CAN_RXBE_1 : (CAN Offset: 0x04) (R/W 32) Rx Buffer Element 1 -------- */
2516 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2519 uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */
2520 uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */
2521 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */
2522 uint32_t FDF:1; /*!< bit: 21 FD Format */
2523 uint32_t :2; /*!< bit: 22..23 Reserved */
2524 uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */
2525 uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */
2526 } bit; /*!< Structure used for bit access */
2527 uint32_t reg; /*!< Type used for register access */
2529 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2531 #define CAN_RXBE_1_OFFSET 0x04 /**< \brief (CAN_RXBE_1 offset) Rx Buffer Element 1 */
2532 #define CAN_RXBE_1_RESETVALUE 0x00000000u /**< \brief (CAN_RXBE_1 reset_value) Rx Buffer Element 1 */
2534 #define CAN_RXBE_1_RXTS_Pos 0 /**< \brief (CAN_RXBE_1) Rx Timestamp */
2535 #define CAN_RXBE_1_RXTS_Msk (0xFFFFu << CAN_RXBE_1_RXTS_Pos)
2536 #define CAN_RXBE_1_RXTS(value) (CAN_RXBE_1_RXTS_Msk & ((value) << CAN_RXBE_1_RXTS_Pos))
2537 #define CAN_RXBE_1_DLC_Pos 16 /**< \brief (CAN_RXBE_1) Data Length Code */
2538 #define CAN_RXBE_1_DLC_Msk (0xFu << CAN_RXBE_1_DLC_Pos)
2539 #define CAN_RXBE_1_DLC(value) (CAN_RXBE_1_DLC_Msk & ((value) << CAN_RXBE_1_DLC_Pos))
2540 #define CAN_RXBE_1_BRS_Pos 20 /**< \brief (CAN_RXBE_1) Bit Rate Search */
2541 #define CAN_RXBE_1_BRS (0x1u << CAN_RXBE_1_BRS_Pos)
2542 #define CAN_RXBE_1_FDF_Pos 21 /**< \brief (CAN_RXBE_1) FD Format */
2543 #define CAN_RXBE_1_FDF (0x1u << CAN_RXBE_1_FDF_Pos)
2544 #define CAN_RXBE_1_FIDX_Pos 24 /**< \brief (CAN_RXBE_1) Filter Index */
2545 #define CAN_RXBE_1_FIDX_Msk (0x7Fu << CAN_RXBE_1_FIDX_Pos)
2546 #define CAN_RXBE_1_FIDX(value) (CAN_RXBE_1_FIDX_Msk & ((value) << CAN_RXBE_1_FIDX_Pos))
2547 #define CAN_RXBE_1_ANMF_Pos 31 /**< \brief (CAN_RXBE_1) Accepted Non-matching Frame */
2548 #define CAN_RXBE_1_ANMF (0x1u << CAN_RXBE_1_ANMF_Pos)
2549 #define CAN_RXBE_1_MASK 0xFF3FFFFFu /**< \brief (CAN_RXBE_1) MASK Register */
2551 /* -------- CAN_RXBE_DATA : (CAN Offset: 0x08) (R/W 32) Rx Buffer Element Data -------- */
2552 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2555 uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */
2556 uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */
2557 uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */
2558 uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */
2559 } bit; /*!< Structure used for bit access */
2560 uint32_t reg; /*!< Type used for register access */
2561 } CAN_RXBE_DATA_Type;
2562 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2564 #define CAN_RXBE_DATA_OFFSET 0x08 /**< \brief (CAN_RXBE_DATA offset) Rx Buffer Element Data */
2565 #define CAN_RXBE_DATA_RESETVALUE 0x00000000u /**< \brief (CAN_RXBE_DATA reset_value) Rx Buffer Element Data */
2567 #define CAN_RXBE_DATA_DB0_Pos 0 /**< \brief (CAN_RXBE_DATA) Data Byte 0 */
2568 #define CAN_RXBE_DATA_DB0_Msk (0xFFu << CAN_RXBE_DATA_DB0_Pos)
2569 #define CAN_RXBE_DATA_DB0(value) (CAN_RXBE_DATA_DB0_Msk & ((value) << CAN_RXBE_DATA_DB0_Pos))
2570 #define CAN_RXBE_DATA_DB1_Pos 8 /**< \brief (CAN_RXBE_DATA) Data Byte 1 */
2571 #define CAN_RXBE_DATA_DB1_Msk (0xFFu << CAN_RXBE_DATA_DB1_Pos)
2572 #define CAN_RXBE_DATA_DB1(value) (CAN_RXBE_DATA_DB1_Msk & ((value) << CAN_RXBE_DATA_DB1_Pos))
2573 #define CAN_RXBE_DATA_DB2_Pos 16 /**< \brief (CAN_RXBE_DATA) Data Byte 2 */
2574 #define CAN_RXBE_DATA_DB2_Msk (0xFFu << CAN_RXBE_DATA_DB2_Pos)
2575 #define CAN_RXBE_DATA_DB2(value) (CAN_RXBE_DATA_DB2_Msk & ((value) << CAN_RXBE_DATA_DB2_Pos))
2576 #define CAN_RXBE_DATA_DB3_Pos 24 /**< \brief (CAN_RXBE_DATA) Data Byte 3 */
2577 #define CAN_RXBE_DATA_DB3_Msk (0xFFu << CAN_RXBE_DATA_DB3_Pos)
2578 #define CAN_RXBE_DATA_DB3(value) (CAN_RXBE_DATA_DB3_Msk & ((value) << CAN_RXBE_DATA_DB3_Pos))
2579 #define CAN_RXBE_DATA_MASK 0xFFFFFFFFu /**< \brief (CAN_RXBE_DATA) MASK Register */
2581 /* -------- CAN_RXF0E_0 : (CAN Offset: 0x00) (R/W 32) Rx FIFO 0 Element 0 -------- */
2582 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2585 uint32_t ID:29; /*!< bit: 0..28 Identifier */
2586 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */
2587 uint32_t XTD:1; /*!< bit: 30 Extended Identifier */
2588 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */
2589 } bit; /*!< Structure used for bit access */
2590 uint32_t reg; /*!< Type used for register access */
2592 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2594 #define CAN_RXF0E_0_OFFSET 0x00 /**< \brief (CAN_RXF0E_0 offset) Rx FIFO 0 Element 0 */
2595 #define CAN_RXF0E_0_RESETVALUE 0x00000000u /**< \brief (CAN_RXF0E_0 reset_value) Rx FIFO 0 Element 0 */
2597 #define CAN_RXF0E_0_ID_Pos 0 /**< \brief (CAN_RXF0E_0) Identifier */
2598 #define CAN_RXF0E_0_ID_Msk (0x1FFFFFFFu << CAN_RXF0E_0_ID_Pos)
2599 #define CAN_RXF0E_0_ID(value) (CAN_RXF0E_0_ID_Msk & ((value) << CAN_RXF0E_0_ID_Pos))
2600 #define CAN_RXF0E_0_RTR_Pos 29 /**< \brief (CAN_RXF0E_0) Remote Transmission Request */
2601 #define CAN_RXF0E_0_RTR (0x1u << CAN_RXF0E_0_RTR_Pos)
2602 #define CAN_RXF0E_0_XTD_Pos 30 /**< \brief (CAN_RXF0E_0) Extended Identifier */
2603 #define CAN_RXF0E_0_XTD (0x1u << CAN_RXF0E_0_XTD_Pos)
2604 #define CAN_RXF0E_0_ESI_Pos 31 /**< \brief (CAN_RXF0E_0) Error State Indicator */
2605 #define CAN_RXF0E_0_ESI (0x1u << CAN_RXF0E_0_ESI_Pos)
2606 #define CAN_RXF0E_0_MASK 0xFFFFFFFFu /**< \brief (CAN_RXF0E_0) MASK Register */
2608 /* -------- CAN_RXF0E_1 : (CAN Offset: 0x04) (R/W 32) Rx FIFO 0 Element 1 -------- */
2609 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2612 uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */
2613 uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */
2614 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */
2615 uint32_t FDF:1; /*!< bit: 21 FD Format */
2616 uint32_t :2; /*!< bit: 22..23 Reserved */
2617 uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */
2618 uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */
2619 } bit; /*!< Structure used for bit access */
2620 uint32_t reg; /*!< Type used for register access */
2622 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2624 #define CAN_RXF0E_1_OFFSET 0x04 /**< \brief (CAN_RXF0E_1 offset) Rx FIFO 0 Element 1 */
2625 #define CAN_RXF0E_1_RESETVALUE 0x00000000u /**< \brief (CAN_RXF0E_1 reset_value) Rx FIFO 0 Element 1 */
2627 #define CAN_RXF0E_1_RXTS_Pos 0 /**< \brief (CAN_RXF0E_1) Rx Timestamp */
2628 #define CAN_RXF0E_1_RXTS_Msk (0xFFFFu << CAN_RXF0E_1_RXTS_Pos)
2629 #define CAN_RXF0E_1_RXTS(value) (CAN_RXF0E_1_RXTS_Msk & ((value) << CAN_RXF0E_1_RXTS_Pos))
2630 #define CAN_RXF0E_1_DLC_Pos 16 /**< \brief (CAN_RXF0E_1) Data Length Code */
2631 #define CAN_RXF0E_1_DLC_Msk (0xFu << CAN_RXF0E_1_DLC_Pos)
2632 #define CAN_RXF0E_1_DLC(value) (CAN_RXF0E_1_DLC_Msk & ((value) << CAN_RXF0E_1_DLC_Pos))
2633 #define CAN_RXF0E_1_BRS_Pos 20 /**< \brief (CAN_RXF0E_1) Bit Rate Search */
2634 #define CAN_RXF0E_1_BRS (0x1u << CAN_RXF0E_1_BRS_Pos)
2635 #define CAN_RXF0E_1_FDF_Pos 21 /**< \brief (CAN_RXF0E_1) FD Format */
2636 #define CAN_RXF0E_1_FDF (0x1u << CAN_RXF0E_1_FDF_Pos)
2637 #define CAN_RXF0E_1_FIDX_Pos 24 /**< \brief (CAN_RXF0E_1) Filter Index */
2638 #define CAN_RXF0E_1_FIDX_Msk (0x7Fu << CAN_RXF0E_1_FIDX_Pos)
2639 #define CAN_RXF0E_1_FIDX(value) (CAN_RXF0E_1_FIDX_Msk & ((value) << CAN_RXF0E_1_FIDX_Pos))
2640 #define CAN_RXF0E_1_ANMF_Pos 31 /**< \brief (CAN_RXF0E_1) Accepted Non-matching Frame */
2641 #define CAN_RXF0E_1_ANMF (0x1u << CAN_RXF0E_1_ANMF_Pos)
2642 #define CAN_RXF0E_1_MASK 0xFF3FFFFFu /**< \brief (CAN_RXF0E_1) MASK Register */
2644 /* -------- CAN_RXF0E_DATA : (CAN Offset: 0x08) (R/W 32) Rx FIFO 0 Element Data -------- */
2645 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2648 uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */
2649 uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */
2650 uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */
2651 uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */
2652 } bit; /*!< Structure used for bit access */
2653 uint32_t reg; /*!< Type used for register access */
2654 } CAN_RXF0E_DATA_Type;
2655 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2657 #define CAN_RXF0E_DATA_OFFSET 0x08 /**< \brief (CAN_RXF0E_DATA offset) Rx FIFO 0 Element Data */
2658 #define CAN_RXF0E_DATA_RESETVALUE 0x00000000u /**< \brief (CAN_RXF0E_DATA reset_value) Rx FIFO 0 Element Data */
2660 #define CAN_RXF0E_DATA_DB0_Pos 0 /**< \brief (CAN_RXF0E_DATA) Data Byte 0 */
2661 #define CAN_RXF0E_DATA_DB0_Msk (0xFFu << CAN_RXF0E_DATA_DB0_Pos)
2662 #define CAN_RXF0E_DATA_DB0(value) (CAN_RXF0E_DATA_DB0_Msk & ((value) << CAN_RXF0E_DATA_DB0_Pos))
2663 #define CAN_RXF0E_DATA_DB1_Pos 8 /**< \brief (CAN_RXF0E_DATA) Data Byte 1 */
2664 #define CAN_RXF0E_DATA_DB1_Msk (0xFFu << CAN_RXF0E_DATA_DB1_Pos)
2665 #define CAN_RXF0E_DATA_DB1(value) (CAN_RXF0E_DATA_DB1_Msk & ((value) << CAN_RXF0E_DATA_DB1_Pos))
2666 #define CAN_RXF0E_DATA_DB2_Pos 16 /**< \brief (CAN_RXF0E_DATA) Data Byte 2 */
2667 #define CAN_RXF0E_DATA_DB2_Msk (0xFFu << CAN_RXF0E_DATA_DB2_Pos)
2668 #define CAN_RXF0E_DATA_DB2(value) (CAN_RXF0E_DATA_DB2_Msk & ((value) << CAN_RXF0E_DATA_DB2_Pos))
2669 #define CAN_RXF0E_DATA_DB3_Pos 24 /**< \brief (CAN_RXF0E_DATA) Data Byte 3 */
2670 #define CAN_RXF0E_DATA_DB3_Msk (0xFFu << CAN_RXF0E_DATA_DB3_Pos)
2671 #define CAN_RXF0E_DATA_DB3(value) (CAN_RXF0E_DATA_DB3_Msk & ((value) << CAN_RXF0E_DATA_DB3_Pos))
2672 #define CAN_RXF0E_DATA_MASK 0xFFFFFFFFu /**< \brief (CAN_RXF0E_DATA) MASK Register */
2674 /* -------- CAN_RXF1E_0 : (CAN Offset: 0x00) (R/W 32) Rx FIFO 1 Element 0 -------- */
2675 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2678 uint32_t ID:29; /*!< bit: 0..28 Identifier */
2679 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */
2680 uint32_t XTD:1; /*!< bit: 30 Extended Identifier */
2681 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */
2682 } bit; /*!< Structure used for bit access */
2683 uint32_t reg; /*!< Type used for register access */
2685 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2687 #define CAN_RXF1E_0_OFFSET 0x00 /**< \brief (CAN_RXF1E_0 offset) Rx FIFO 1 Element 0 */
2688 #define CAN_RXF1E_0_RESETVALUE 0x00000000u /**< \brief (CAN_RXF1E_0 reset_value) Rx FIFO 1 Element 0 */
2690 #define CAN_RXF1E_0_ID_Pos 0 /**< \brief (CAN_RXF1E_0) Identifier */
2691 #define CAN_RXF1E_0_ID_Msk (0x1FFFFFFFu << CAN_RXF1E_0_ID_Pos)
2692 #define CAN_RXF1E_0_ID(value) (CAN_RXF1E_0_ID_Msk & ((value) << CAN_RXF1E_0_ID_Pos))
2693 #define CAN_RXF1E_0_RTR_Pos 29 /**< \brief (CAN_RXF1E_0) Remote Transmission Request */
2694 #define CAN_RXF1E_0_RTR (0x1u << CAN_RXF1E_0_RTR_Pos)
2695 #define CAN_RXF1E_0_XTD_Pos 30 /**< \brief (CAN_RXF1E_0) Extended Identifier */
2696 #define CAN_RXF1E_0_XTD (0x1u << CAN_RXF1E_0_XTD_Pos)
2697 #define CAN_RXF1E_0_ESI_Pos 31 /**< \brief (CAN_RXF1E_0) Error State Indicator */
2698 #define CAN_RXF1E_0_ESI (0x1u << CAN_RXF1E_0_ESI_Pos)
2699 #define CAN_RXF1E_0_MASK 0xFFFFFFFFu /**< \brief (CAN_RXF1E_0) MASK Register */
2701 /* -------- CAN_RXF1E_1 : (CAN Offset: 0x04) (R/W 32) Rx FIFO 1 Element 1 -------- */
2702 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2705 uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */
2706 uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */
2707 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */
2708 uint32_t FDF:1; /*!< bit: 21 FD Format */
2709 uint32_t :2; /*!< bit: 22..23 Reserved */
2710 uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */
2711 uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */
2712 } bit; /*!< Structure used for bit access */
2713 uint32_t reg; /*!< Type used for register access */
2715 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2717 #define CAN_RXF1E_1_OFFSET 0x04 /**< \brief (CAN_RXF1E_1 offset) Rx FIFO 1 Element 1 */
2718 #define CAN_RXF1E_1_RESETVALUE 0x00000000u /**< \brief (CAN_RXF1E_1 reset_value) Rx FIFO 1 Element 1 */
2720 #define CAN_RXF1E_1_RXTS_Pos 0 /**< \brief (CAN_RXF1E_1) Rx Timestamp */
2721 #define CAN_RXF1E_1_RXTS_Msk (0xFFFFu << CAN_RXF1E_1_RXTS_Pos)
2722 #define CAN_RXF1E_1_RXTS(value) (CAN_RXF1E_1_RXTS_Msk & ((value) << CAN_RXF1E_1_RXTS_Pos))
2723 #define CAN_RXF1E_1_DLC_Pos 16 /**< \brief (CAN_RXF1E_1) Data Length Code */
2724 #define CAN_RXF1E_1_DLC_Msk (0xFu << CAN_RXF1E_1_DLC_Pos)
2725 #define CAN_RXF1E_1_DLC(value) (CAN_RXF1E_1_DLC_Msk & ((value) << CAN_RXF1E_1_DLC_Pos))
2726 #define CAN_RXF1E_1_BRS_Pos 20 /**< \brief (CAN_RXF1E_1) Bit Rate Search */
2727 #define CAN_RXF1E_1_BRS (0x1u << CAN_RXF1E_1_BRS_Pos)
2728 #define CAN_RXF1E_1_FDF_Pos 21 /**< \brief (CAN_RXF1E_1) FD Format */
2729 #define CAN_RXF1E_1_FDF (0x1u << CAN_RXF1E_1_FDF_Pos)
2730 #define CAN_RXF1E_1_FIDX_Pos 24 /**< \brief (CAN_RXF1E_1) Filter Index */
2731 #define CAN_RXF1E_1_FIDX_Msk (0x7Fu << CAN_RXF1E_1_FIDX_Pos)
2732 #define CAN_RXF1E_1_FIDX(value) (CAN_RXF1E_1_FIDX_Msk & ((value) << CAN_RXF1E_1_FIDX_Pos))
2733 #define CAN_RXF1E_1_ANMF_Pos 31 /**< \brief (CAN_RXF1E_1) Accepted Non-matching Frame */
2734 #define CAN_RXF1E_1_ANMF (0x1u << CAN_RXF1E_1_ANMF_Pos)
2735 #define CAN_RXF1E_1_MASK 0xFF3FFFFFu /**< \brief (CAN_RXF1E_1) MASK Register */
2737 /* -------- CAN_RXF1E_DATA : (CAN Offset: 0x08) (R/W 32) Rx FIFO 1 Element Data -------- */
2738 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2741 uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */
2742 uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */
2743 uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */
2744 uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */
2745 } bit; /*!< Structure used for bit access */
2746 uint32_t reg; /*!< Type used for register access */
2747 } CAN_RXF1E_DATA_Type;
2748 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2750 #define CAN_RXF1E_DATA_OFFSET 0x08 /**< \brief (CAN_RXF1E_DATA offset) Rx FIFO 1 Element Data */
2751 #define CAN_RXF1E_DATA_RESETVALUE 0x00000000u /**< \brief (CAN_RXF1E_DATA reset_value) Rx FIFO 1 Element Data */
2753 #define CAN_RXF1E_DATA_DB0_Pos 0 /**< \brief (CAN_RXF1E_DATA) Data Byte 0 */
2754 #define CAN_RXF1E_DATA_DB0_Msk (0xFFu << CAN_RXF1E_DATA_DB0_Pos)
2755 #define CAN_RXF1E_DATA_DB0(value) (CAN_RXF1E_DATA_DB0_Msk & ((value) << CAN_RXF1E_DATA_DB0_Pos))
2756 #define CAN_RXF1E_DATA_DB1_Pos 8 /**< \brief (CAN_RXF1E_DATA) Data Byte 1 */
2757 #define CAN_RXF1E_DATA_DB1_Msk (0xFFu << CAN_RXF1E_DATA_DB1_Pos)
2758 #define CAN_RXF1E_DATA_DB1(value) (CAN_RXF1E_DATA_DB1_Msk & ((value) << CAN_RXF1E_DATA_DB1_Pos))
2759 #define CAN_RXF1E_DATA_DB2_Pos 16 /**< \brief (CAN_RXF1E_DATA) Data Byte 2 */
2760 #define CAN_RXF1E_DATA_DB2_Msk (0xFFu << CAN_RXF1E_DATA_DB2_Pos)
2761 #define CAN_RXF1E_DATA_DB2(value) (CAN_RXF1E_DATA_DB2_Msk & ((value) << CAN_RXF1E_DATA_DB2_Pos))
2762 #define CAN_RXF1E_DATA_DB3_Pos 24 /**< \brief (CAN_RXF1E_DATA) Data Byte 3 */
2763 #define CAN_RXF1E_DATA_DB3_Msk (0xFFu << CAN_RXF1E_DATA_DB3_Pos)
2764 #define CAN_RXF1E_DATA_DB3(value) (CAN_RXF1E_DATA_DB3_Msk & ((value) << CAN_RXF1E_DATA_DB3_Pos))
2765 #define CAN_RXF1E_DATA_MASK 0xFFFFFFFFu /**< \brief (CAN_RXF1E_DATA) MASK Register */
2767 /* -------- CAN_SIDFE_0 : (CAN Offset: 0x00) (R/W 32) Standard Message ID Filter Element -------- */
2768 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2771 uint32_t SFID2:11; /*!< bit: 0..10 Standard Filter ID 2 */
2772 uint32_t :5; /*!< bit: 11..15 Reserved */
2773 uint32_t SFID1:11; /*!< bit: 16..26 Standard Filter ID 1 */
2774 uint32_t SFEC:3; /*!< bit: 27..29 Standard Filter Element Configuration */
2775 uint32_t SFT:2; /*!< bit: 30..31 Standard Filter Type */
2776 } bit; /*!< Structure used for bit access */
2777 uint32_t reg; /*!< Type used for register access */
2779 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2781 #define CAN_SIDFE_0_OFFSET 0x00 /**< \brief (CAN_SIDFE_0 offset) Standard Message ID Filter Element */
2782 #define CAN_SIDFE_0_RESETVALUE 0x00000000u /**< \brief (CAN_SIDFE_0 reset_value) Standard Message ID Filter Element */
2784 #define CAN_SIDFE_0_SFID2_Pos 0 /**< \brief (CAN_SIDFE_0) Standard Filter ID 2 */
2785 #define CAN_SIDFE_0_SFID2_Msk (0x7FFu << CAN_SIDFE_0_SFID2_Pos)
2786 #define CAN_SIDFE_0_SFID2(value) (CAN_SIDFE_0_SFID2_Msk & ((value) << CAN_SIDFE_0_SFID2_Pos))
2787 #define CAN_SIDFE_0_SFID1_Pos 16 /**< \brief (CAN_SIDFE_0) Standard Filter ID 1 */
2788 #define CAN_SIDFE_0_SFID1_Msk (0x7FFu << CAN_SIDFE_0_SFID1_Pos)
2789 #define CAN_SIDFE_0_SFID1(value) (CAN_SIDFE_0_SFID1_Msk & ((value) << CAN_SIDFE_0_SFID1_Pos))
2790 #define CAN_SIDFE_0_SFEC_Pos 27 /**< \brief (CAN_SIDFE_0) Standard Filter Element Configuration */
2791 #define CAN_SIDFE_0_SFEC_Msk (0x7u << CAN_SIDFE_0_SFEC_Pos)
2792 #define CAN_SIDFE_0_SFEC(value) (CAN_SIDFE_0_SFEC_Msk & ((value) << CAN_SIDFE_0_SFEC_Pos))
2793 #define CAN_SIDFE_0_SFEC_DISABLE_Val 0x0u /**< \brief (CAN_SIDFE_0) Disable filter element */
2794 #define CAN_SIDFE_0_SFEC_STF0M_Val 0x1u /**< \brief (CAN_SIDFE_0) Store in Rx FIFO 0 if filter match */
2795 #define CAN_SIDFE_0_SFEC_STF1M_Val 0x2u /**< \brief (CAN_SIDFE_0) Store in Rx FIFO 1 if filter match */
2796 #define CAN_SIDFE_0_SFEC_REJECT_Val 0x3u /**< \brief (CAN_SIDFE_0) Reject ID if filter match */
2797 #define CAN_SIDFE_0_SFEC_PRIORITY_Val 0x4u /**< \brief (CAN_SIDFE_0) Set priority if filter match */
2798 #define CAN_SIDFE_0_SFEC_PRIF0M_Val 0x5u /**< \brief (CAN_SIDFE_0) Set priority and store in FIFO 0 if filter match */
2799 #define CAN_SIDFE_0_SFEC_PRIF1M_Val 0x6u /**< \brief (CAN_SIDFE_0) Set priority and store in FIFO 1 if filter match */
2800 #define CAN_SIDFE_0_SFEC_STRXBUF_Val 0x7u /**< \brief (CAN_SIDFE_0) Store into Rx Buffer */
2801 #define CAN_SIDFE_0_SFEC_DISABLE (CAN_SIDFE_0_SFEC_DISABLE_Val << CAN_SIDFE_0_SFEC_Pos)
2802 #define CAN_SIDFE_0_SFEC_STF0M (CAN_SIDFE_0_SFEC_STF0M_Val << CAN_SIDFE_0_SFEC_Pos)
2803 #define CAN_SIDFE_0_SFEC_STF1M (CAN_SIDFE_0_SFEC_STF1M_Val << CAN_SIDFE_0_SFEC_Pos)
2804 #define CAN_SIDFE_0_SFEC_REJECT (CAN_SIDFE_0_SFEC_REJECT_Val << CAN_SIDFE_0_SFEC_Pos)
2805 #define CAN_SIDFE_0_SFEC_PRIORITY (CAN_SIDFE_0_SFEC_PRIORITY_Val << CAN_SIDFE_0_SFEC_Pos)
2806 #define CAN_SIDFE_0_SFEC_PRIF0M (CAN_SIDFE_0_SFEC_PRIF0M_Val << CAN_SIDFE_0_SFEC_Pos)
2807 #define CAN_SIDFE_0_SFEC_PRIF1M (CAN_SIDFE_0_SFEC_PRIF1M_Val << CAN_SIDFE_0_SFEC_Pos)
2808 #define CAN_SIDFE_0_SFEC_STRXBUF (CAN_SIDFE_0_SFEC_STRXBUF_Val << CAN_SIDFE_0_SFEC_Pos)
2809 #define CAN_SIDFE_0_SFT_Pos 30 /**< \brief (CAN_SIDFE_0) Standard Filter Type */
2810 #define CAN_SIDFE_0_SFT_Msk (0x3u << CAN_SIDFE_0_SFT_Pos)
2811 #define CAN_SIDFE_0_SFT(value) (CAN_SIDFE_0_SFT_Msk & ((value) << CAN_SIDFE_0_SFT_Pos))
2812 #define CAN_SIDFE_0_SFT_RANGE_Val 0x0u /**< \brief (CAN_SIDFE_0) Range filter from SFID1 to SFID2 */
2813 #define CAN_SIDFE_0_SFT_DUAL_Val 0x1u /**< \brief (CAN_SIDFE_0) Dual ID filter for SFID1 or SFID2 */
2814 #define CAN_SIDFE_0_SFT_CLASSIC_Val 0x2u /**< \brief (CAN_SIDFE_0) Classic filter */
2815 #define CAN_SIDFE_0_SFT_RANGE (CAN_SIDFE_0_SFT_RANGE_Val << CAN_SIDFE_0_SFT_Pos)
2816 #define CAN_SIDFE_0_SFT_DUAL (CAN_SIDFE_0_SFT_DUAL_Val << CAN_SIDFE_0_SFT_Pos)
2817 #define CAN_SIDFE_0_SFT_CLASSIC (CAN_SIDFE_0_SFT_CLASSIC_Val << CAN_SIDFE_0_SFT_Pos)
2818 #define CAN_SIDFE_0_MASK 0xFFFF07FFu /**< \brief (CAN_SIDFE_0) MASK Register */
2820 /* -------- CAN_TXBE_0 : (CAN Offset: 0x00) (R/W 32) Tx Buffer Element 0 -------- */
2821 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2824 uint32_t ID:29; /*!< bit: 0..28 Identifier */
2825 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */
2826 uint32_t XTD:1; /*!< bit: 30 Extended Identifier */
2827 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */
2828 } bit; /*!< Structure used for bit access */
2829 uint32_t reg; /*!< Type used for register access */
2831 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2833 #define CAN_TXBE_0_OFFSET 0x00 /**< \brief (CAN_TXBE_0 offset) Tx Buffer Element 0 */
2834 #define CAN_TXBE_0_RESETVALUE 0x00000000u /**< \brief (CAN_TXBE_0 reset_value) Tx Buffer Element 0 */
2836 #define CAN_TXBE_0_ID_Pos 0 /**< \brief (CAN_TXBE_0) Identifier */
2837 #define CAN_TXBE_0_ID_Msk (0x1FFFFFFFu << CAN_TXBE_0_ID_Pos)
2838 #define CAN_TXBE_0_ID(value) (CAN_TXBE_0_ID_Msk & ((value) << CAN_TXBE_0_ID_Pos))
2839 #define CAN_TXBE_0_RTR_Pos 29 /**< \brief (CAN_TXBE_0) Remote Transmission Request */
2840 #define CAN_TXBE_0_RTR (0x1u << CAN_TXBE_0_RTR_Pos)
2841 #define CAN_TXBE_0_XTD_Pos 30 /**< \brief (CAN_TXBE_0) Extended Identifier */
2842 #define CAN_TXBE_0_XTD (0x1u << CAN_TXBE_0_XTD_Pos)
2843 #define CAN_TXBE_0_ESI_Pos 31 /**< \brief (CAN_TXBE_0) Error State Indicator */
2844 #define CAN_TXBE_0_ESI (0x1u << CAN_TXBE_0_ESI_Pos)
2845 #define CAN_TXBE_0_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBE_0) MASK Register */
2847 /* -------- CAN_TXBE_1 : (CAN Offset: 0x04) (R/W 32) Tx Buffer Element 1 -------- */
2848 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2851 uint32_t :16; /*!< bit: 0..15 Reserved */
2852 uint32_t DLC:4; /*!< bit: 16..19 Identifier */
2853 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */
2854 uint32_t FDF:1; /*!< bit: 21 FD Format */
2855 uint32_t :1; /*!< bit: 22 Reserved */
2856 uint32_t EFC:1; /*!< bit: 23 Event FIFO Control */
2857 uint32_t MM:8; /*!< bit: 24..31 Message Marker */
2858 } bit; /*!< Structure used for bit access */
2859 uint32_t reg; /*!< Type used for register access */
2861 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2863 #define CAN_TXBE_1_OFFSET 0x04 /**< \brief (CAN_TXBE_1 offset) Tx Buffer Element 1 */
2864 #define CAN_TXBE_1_RESETVALUE 0x00000000u /**< \brief (CAN_TXBE_1 reset_value) Tx Buffer Element 1 */
2866 #define CAN_TXBE_1_DLC_Pos 16 /**< \brief (CAN_TXBE_1) Identifier */
2867 #define CAN_TXBE_1_DLC_Msk (0xFu << CAN_TXBE_1_DLC_Pos)
2868 #define CAN_TXBE_1_DLC(value) (CAN_TXBE_1_DLC_Msk & ((value) << CAN_TXBE_1_DLC_Pos))
2869 #define CAN_TXBE_1_BRS_Pos 20 /**< \brief (CAN_TXBE_1) Bit Rate Search */
2870 #define CAN_TXBE_1_BRS (0x1u << CAN_TXBE_1_BRS_Pos)
2871 #define CAN_TXBE_1_FDF_Pos 21 /**< \brief (CAN_TXBE_1) FD Format */
2872 #define CAN_TXBE_1_FDF (0x1u << CAN_TXBE_1_FDF_Pos)
2873 #define CAN_TXBE_1_EFC_Pos 23 /**< \brief (CAN_TXBE_1) Event FIFO Control */
2874 #define CAN_TXBE_1_EFC (0x1u << CAN_TXBE_1_EFC_Pos)
2875 #define CAN_TXBE_1_MM_Pos 24 /**< \brief (CAN_TXBE_1) Message Marker */
2876 #define CAN_TXBE_1_MM_Msk (0xFFu << CAN_TXBE_1_MM_Pos)
2877 #define CAN_TXBE_1_MM(value) (CAN_TXBE_1_MM_Msk & ((value) << CAN_TXBE_1_MM_Pos))
2878 #define CAN_TXBE_1_MASK 0xFFBF0000u /**< \brief (CAN_TXBE_1) MASK Register */
2880 /* -------- CAN_TXBE_DATA : (CAN Offset: 0x08) (R/W 32) Tx Buffer Element Data -------- */
2881 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2884 uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */
2885 uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */
2886 uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */
2887 uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */
2888 } bit; /*!< Structure used for bit access */
2889 uint32_t reg; /*!< Type used for register access */
2890 } CAN_TXBE_DATA_Type;
2891 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2893 #define CAN_TXBE_DATA_OFFSET 0x08 /**< \brief (CAN_TXBE_DATA offset) Tx Buffer Element Data */
2894 #define CAN_TXBE_DATA_RESETVALUE 0x00000000u /**< \brief (CAN_TXBE_DATA reset_value) Tx Buffer Element Data */
2896 #define CAN_TXBE_DATA_DB0_Pos 0 /**< \brief (CAN_TXBE_DATA) Data Byte 0 */
2897 #define CAN_TXBE_DATA_DB0_Msk (0xFFu << CAN_TXBE_DATA_DB0_Pos)
2898 #define CAN_TXBE_DATA_DB0(value) (CAN_TXBE_DATA_DB0_Msk & ((value) << CAN_TXBE_DATA_DB0_Pos))
2899 #define CAN_TXBE_DATA_DB1_Pos 8 /**< \brief (CAN_TXBE_DATA) Data Byte 1 */
2900 #define CAN_TXBE_DATA_DB1_Msk (0xFFu << CAN_TXBE_DATA_DB1_Pos)
2901 #define CAN_TXBE_DATA_DB1(value) (CAN_TXBE_DATA_DB1_Msk & ((value) << CAN_TXBE_DATA_DB1_Pos))
2902 #define CAN_TXBE_DATA_DB2_Pos 16 /**< \brief (CAN_TXBE_DATA) Data Byte 2 */
2903 #define CAN_TXBE_DATA_DB2_Msk (0xFFu << CAN_TXBE_DATA_DB2_Pos)
2904 #define CAN_TXBE_DATA_DB2(value) (CAN_TXBE_DATA_DB2_Msk & ((value) << CAN_TXBE_DATA_DB2_Pos))
2905 #define CAN_TXBE_DATA_DB3_Pos 24 /**< \brief (CAN_TXBE_DATA) Data Byte 3 */
2906 #define CAN_TXBE_DATA_DB3_Msk (0xFFu << CAN_TXBE_DATA_DB3_Pos)
2907 #define CAN_TXBE_DATA_DB3(value) (CAN_TXBE_DATA_DB3_Msk & ((value) << CAN_TXBE_DATA_DB3_Pos))
2908 #define CAN_TXBE_DATA_MASK 0xFFFFFFFFu /**< \brief (CAN_TXBE_DATA) MASK Register */
2910 /* -------- CAN_TXEFE_0 : (CAN Offset: 0x00) (R/W 32) Tx Event FIFO Element 0 -------- */
2911 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2914 uint32_t ID:29; /*!< bit: 0..28 Identifier */
2915 uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */
2916 uint32_t XTD:1; /*!< bit: 30 Extended Indentifier */
2917 uint32_t ESI:1; /*!< bit: 31 Error State Indicator */
2918 } bit; /*!< Structure used for bit access */
2919 uint32_t reg; /*!< Type used for register access */
2921 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2923 #define CAN_TXEFE_0_OFFSET 0x00 /**< \brief (CAN_TXEFE_0 offset) Tx Event FIFO Element 0 */
2924 #define CAN_TXEFE_0_RESETVALUE 0x00000000u /**< \brief (CAN_TXEFE_0 reset_value) Tx Event FIFO Element 0 */
2926 #define CAN_TXEFE_0_ID_Pos 0 /**< \brief (CAN_TXEFE_0) Identifier */
2927 #define CAN_TXEFE_0_ID_Msk (0x1FFFFFFFu << CAN_TXEFE_0_ID_Pos)
2928 #define CAN_TXEFE_0_ID(value) (CAN_TXEFE_0_ID_Msk & ((value) << CAN_TXEFE_0_ID_Pos))
2929 #define CAN_TXEFE_0_RTR_Pos 29 /**< \brief (CAN_TXEFE_0) Remote Transmission Request */
2930 #define CAN_TXEFE_0_RTR (0x1u << CAN_TXEFE_0_RTR_Pos)
2931 #define CAN_TXEFE_0_XTD_Pos 30 /**< \brief (CAN_TXEFE_0) Extended Indentifier */
2932 #define CAN_TXEFE_0_XTD (0x1u << CAN_TXEFE_0_XTD_Pos)
2933 #define CAN_TXEFE_0_ESI_Pos 31 /**< \brief (CAN_TXEFE_0) Error State Indicator */
2934 #define CAN_TXEFE_0_ESI (0x1u << CAN_TXEFE_0_ESI_Pos)
2935 #define CAN_TXEFE_0_MASK 0xFFFFFFFFu /**< \brief (CAN_TXEFE_0) MASK Register */
2937 /* -------- CAN_TXEFE_1 : (CAN Offset: 0x04) (R/W 32) Tx Event FIFO Element 1 -------- */
2938 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2941 uint32_t TXTS:16; /*!< bit: 0..15 Tx Timestamp */
2942 uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */
2943 uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */
2944 uint32_t FDF:1; /*!< bit: 21 FD Format */
2945 uint32_t ET:2; /*!< bit: 22..23 Event Type */
2946 uint32_t MM:8; /*!< bit: 24..31 Message Marker */
2947 } bit; /*!< Structure used for bit access */
2948 uint32_t reg; /*!< Type used for register access */
2950 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2952 #define CAN_TXEFE_1_OFFSET 0x04 /**< \brief (CAN_TXEFE_1 offset) Tx Event FIFO Element 1 */
2953 #define CAN_TXEFE_1_RESETVALUE 0x00000000u /**< \brief (CAN_TXEFE_1 reset_value) Tx Event FIFO Element 1 */
2955 #define CAN_TXEFE_1_TXTS_Pos 0 /**< \brief (CAN_TXEFE_1) Tx Timestamp */
2956 #define CAN_TXEFE_1_TXTS_Msk (0xFFFFu << CAN_TXEFE_1_TXTS_Pos)
2957 #define CAN_TXEFE_1_TXTS(value) (CAN_TXEFE_1_TXTS_Msk & ((value) << CAN_TXEFE_1_TXTS_Pos))
2958 #define CAN_TXEFE_1_DLC_Pos 16 /**< \brief (CAN_TXEFE_1) Data Length Code */
2959 #define CAN_TXEFE_1_DLC_Msk (0xFu << CAN_TXEFE_1_DLC_Pos)
2960 #define CAN_TXEFE_1_DLC(value) (CAN_TXEFE_1_DLC_Msk & ((value) << CAN_TXEFE_1_DLC_Pos))
2961 #define CAN_TXEFE_1_BRS_Pos 20 /**< \brief (CAN_TXEFE_1) Bit Rate Search */
2962 #define CAN_TXEFE_1_BRS (0x1u << CAN_TXEFE_1_BRS_Pos)
2963 #define CAN_TXEFE_1_FDF_Pos 21 /**< \brief (CAN_TXEFE_1) FD Format */
2964 #define CAN_TXEFE_1_FDF (0x1u << CAN_TXEFE_1_FDF_Pos)
2965 #define CAN_TXEFE_1_ET_Pos 22 /**< \brief (CAN_TXEFE_1) Event Type */
2966 #define CAN_TXEFE_1_ET_Msk (0x3u << CAN_TXEFE_1_ET_Pos)
2967 #define CAN_TXEFE_1_ET(value) (CAN_TXEFE_1_ET_Msk & ((value) << CAN_TXEFE_1_ET_Pos))
2968 #define CAN_TXEFE_1_ET_TXE_Val 0x1u /**< \brief (CAN_TXEFE_1) Tx event */
2969 #define CAN_TXEFE_1_ET_TXC_Val 0x2u /**< \brief (CAN_TXEFE_1) Transmission in spite of cancellation */
2970 #define CAN_TXEFE_1_ET_TXE (CAN_TXEFE_1_ET_TXE_Val << CAN_TXEFE_1_ET_Pos)
2971 #define CAN_TXEFE_1_ET_TXC (CAN_TXEFE_1_ET_TXC_Val << CAN_TXEFE_1_ET_Pos)
2972 #define CAN_TXEFE_1_MM_Pos 24 /**< \brief (CAN_TXEFE_1) Message Marker */
2973 #define CAN_TXEFE_1_MM_Msk (0xFFu << CAN_TXEFE_1_MM_Pos)
2974 #define CAN_TXEFE_1_MM(value) (CAN_TXEFE_1_MM_Msk & ((value) << CAN_TXEFE_1_MM_Pos))
2975 #define CAN_TXEFE_1_MASK 0xFFFFFFFFu /**< \brief (CAN_TXEFE_1) MASK Register */
2977 /* -------- CAN_XIDFE_0 : (CAN Offset: 0x00) (R/W 32) Extended Message ID Filter Element 0 -------- */
2978 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
2981 uint32_t EFID1:29; /*!< bit: 0..28 Extended Filter ID 1 */
2982 uint32_t EFEC:3; /*!< bit: 29..31 Extended Filter Element Configuration */
2983 } bit; /*!< Structure used for bit access */
2984 uint32_t reg; /*!< Type used for register access */
2986 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
2988 #define CAN_XIDFE_0_OFFSET 0x00 /**< \brief (CAN_XIDFE_0 offset) Extended Message ID Filter Element 0 */
2989 #define CAN_XIDFE_0_RESETVALUE 0x00000000u /**< \brief (CAN_XIDFE_0 reset_value) Extended Message ID Filter Element 0 */
2991 #define CAN_XIDFE_0_EFID1_Pos 0 /**< \brief (CAN_XIDFE_0) Extended Filter ID 1 */
2992 #define CAN_XIDFE_0_EFID1_Msk (0x1FFFFFFFu << CAN_XIDFE_0_EFID1_Pos)
2993 #define CAN_XIDFE_0_EFID1(value) (CAN_XIDFE_0_EFID1_Msk & ((value) << CAN_XIDFE_0_EFID1_Pos))
2994 #define CAN_XIDFE_0_EFEC_Pos 29 /**< \brief (CAN_XIDFE_0) Extended Filter Element Configuration */
2995 #define CAN_XIDFE_0_EFEC_Msk (0x7u << CAN_XIDFE_0_EFEC_Pos)
2996 #define CAN_XIDFE_0_EFEC(value) (CAN_XIDFE_0_EFEC_Msk & ((value) << CAN_XIDFE_0_EFEC_Pos))
2997 #define CAN_XIDFE_0_EFEC_DISABLE_Val 0x0u /**< \brief (CAN_XIDFE_0) Disable filter element */
2998 #define CAN_XIDFE_0_EFEC_STF0M_Val 0x1u /**< \brief (CAN_XIDFE_0) Store in Rx FIFO 0 if filter match */
2999 #define CAN_XIDFE_0_EFEC_STF1M_Val 0x2u /**< \brief (CAN_XIDFE_0) Store in Rx FIFO 1 if filter match */
3000 #define CAN_XIDFE_0_EFEC_REJECT_Val 0x3u /**< \brief (CAN_XIDFE_0) Reject ID if filter match */
3001 #define CAN_XIDFE_0_EFEC_PRIORITY_Val 0x4u /**< \brief (CAN_XIDFE_0) Set priority if filter match */
3002 #define CAN_XIDFE_0_EFEC_PRIF0M_Val 0x5u /**< \brief (CAN_XIDFE_0) Set priority and store in FIFO 0 if filter match */
3003 #define CAN_XIDFE_0_EFEC_PRIF1M_Val 0x6u /**< \brief (CAN_XIDFE_0) Set priority and store in FIFO 1 if filter match */
3004 #define CAN_XIDFE_0_EFEC_STRXBUF_Val 0x7u /**< \brief (CAN_XIDFE_0) Store into Rx Buffer */
3005 #define CAN_XIDFE_0_EFEC_DISABLE (CAN_XIDFE_0_EFEC_DISABLE_Val << CAN_XIDFE_0_EFEC_Pos)
3006 #define CAN_XIDFE_0_EFEC_STF0M (CAN_XIDFE_0_EFEC_STF0M_Val << CAN_XIDFE_0_EFEC_Pos)
3007 #define CAN_XIDFE_0_EFEC_STF1M (CAN_XIDFE_0_EFEC_STF1M_Val << CAN_XIDFE_0_EFEC_Pos)
3008 #define CAN_XIDFE_0_EFEC_REJECT (CAN_XIDFE_0_EFEC_REJECT_Val << CAN_XIDFE_0_EFEC_Pos)
3009 #define CAN_XIDFE_0_EFEC_PRIORITY (CAN_XIDFE_0_EFEC_PRIORITY_Val << CAN_XIDFE_0_EFEC_Pos)
3010 #define CAN_XIDFE_0_EFEC_PRIF0M (CAN_XIDFE_0_EFEC_PRIF0M_Val << CAN_XIDFE_0_EFEC_Pos)
3011 #define CAN_XIDFE_0_EFEC_PRIF1M (CAN_XIDFE_0_EFEC_PRIF1M_Val << CAN_XIDFE_0_EFEC_Pos)
3012 #define CAN_XIDFE_0_EFEC_STRXBUF (CAN_XIDFE_0_EFEC_STRXBUF_Val << CAN_XIDFE_0_EFEC_Pos)
3013 #define CAN_XIDFE_0_MASK 0xFFFFFFFFu /**< \brief (CAN_XIDFE_0) MASK Register */
3015 /* -------- CAN_XIDFE_1 : (CAN Offset: 0x04) (R/W 32) Extended Message ID Filter Element 1 -------- */
3016 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3019 uint32_t EFID2:29; /*!< bit: 0..28 Extended Filter ID 2 */
3020 uint32_t :1; /*!< bit: 29 Reserved */
3021 uint32_t EFT:2; /*!< bit: 30..31 Extended Filter Type */
3022 } bit; /*!< Structure used for bit access */
3023 uint32_t reg; /*!< Type used for register access */
3025 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3027 #define CAN_XIDFE_1_OFFSET 0x04 /**< \brief (CAN_XIDFE_1 offset) Extended Message ID Filter Element 1 */
3028 #define CAN_XIDFE_1_RESETVALUE 0x00000000u /**< \brief (CAN_XIDFE_1 reset_value) Extended Message ID Filter Element 1 */
3030 #define CAN_XIDFE_1_EFID2_Pos 0 /**< \brief (CAN_XIDFE_1) Extended Filter ID 2 */
3031 #define CAN_XIDFE_1_EFID2_Msk (0x1FFFFFFFu << CAN_XIDFE_1_EFID2_Pos)
3032 #define CAN_XIDFE_1_EFID2(value) (CAN_XIDFE_1_EFID2_Msk & ((value) << CAN_XIDFE_1_EFID2_Pos))
3033 #define CAN_XIDFE_1_EFT_Pos 30 /**< \brief (CAN_XIDFE_1) Extended Filter Type */
3034 #define CAN_XIDFE_1_EFT_Msk (0x3u << CAN_XIDFE_1_EFT_Pos)
3035 #define CAN_XIDFE_1_EFT(value) (CAN_XIDFE_1_EFT_Msk & ((value) << CAN_XIDFE_1_EFT_Pos))
3036 #define CAN_XIDFE_1_EFT_RANGEM_Val 0x0u /**< \brief (CAN_XIDFE_1) Range filter from EFID1 to EFID2 */
3037 #define CAN_XIDFE_1_EFT_DUAL_Val 0x1u /**< \brief (CAN_XIDFE_1) Dual ID filter for EFID1 or EFID2 */
3038 #define CAN_XIDFE_1_EFT_CLASSIC_Val 0x2u /**< \brief (CAN_XIDFE_1) Classic filter */
3039 #define CAN_XIDFE_1_EFT_RANGE_Val 0x3u /**< \brief (CAN_XIDFE_1) Range filter from EFID1 to EFID2 with no XIDAM mask */
3040 #define CAN_XIDFE_1_EFT_RANGEM (CAN_XIDFE_1_EFT_RANGEM_Val << CAN_XIDFE_1_EFT_Pos)
3041 #define CAN_XIDFE_1_EFT_DUAL (CAN_XIDFE_1_EFT_DUAL_Val << CAN_XIDFE_1_EFT_Pos)
3042 #define CAN_XIDFE_1_EFT_CLASSIC (CAN_XIDFE_1_EFT_CLASSIC_Val << CAN_XIDFE_1_EFT_Pos)
3043 #define CAN_XIDFE_1_EFT_RANGE (CAN_XIDFE_1_EFT_RANGE_Val << CAN_XIDFE_1_EFT_Pos)
3044 #define CAN_XIDFE_1_MASK 0xDFFFFFFFu /**< \brief (CAN_XIDFE_1) MASK Register */
3046 /** \brief CAN APB hardware registers */
3047 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3049 __I CAN_CREL_Type CREL; /**< \brief Offset: 0x00 (R/ 32) Core Release */
3050 __I CAN_ENDN_Type ENDN; /**< \brief Offset: 0x04 (R/ 32) Endian */
3051 __IO CAN_MRCFG_Type MRCFG; /**< \brief Offset: 0x08 (R/W 32) Message RAM Configuration */
3052 __IO CAN_DBTP_Type DBTP; /**< \brief Offset: 0x0C (R/W 32) Fast Bit Timing and Prescaler */
3053 __IO CAN_TEST_Type TEST; /**< \brief Offset: 0x10 (R/W 32) Test */
3054 __IO CAN_RWD_Type RWD; /**< \brief Offset: 0x14 (R/W 32) RAM Watchdog */
3055 __IO CAN_CCCR_Type CCCR; /**< \brief Offset: 0x18 (R/W 32) CC Control */
3056 __IO CAN_NBTP_Type NBTP; /**< \brief Offset: 0x1C (R/W 32) Nominal Bit Timing and Prescaler */
3057 __IO CAN_TSCC_Type TSCC; /**< \brief Offset: 0x20 (R/W 32) Timestamp Counter Configuration */
3058 __I CAN_TSCV_Type TSCV; /**< \brief Offset: 0x24 (R/ 32) Timestamp Counter Value */
3059 __IO CAN_TOCC_Type TOCC; /**< \brief Offset: 0x28 (R/W 32) Timeout Counter Configuration */
3060 __IO CAN_TOCV_Type TOCV; /**< \brief Offset: 0x2C (R/W 32) Timeout Counter Value */
3061 RoReg8 Reserved1[0x10];
3062 __I CAN_ECR_Type ECR; /**< \brief Offset: 0x40 (R/ 32) Error Counter */
3063 __I CAN_PSR_Type PSR; /**< \brief Offset: 0x44 (R/ 32) Protocol Status */
3064 __IO CAN_TDCR_Type TDCR; /**< \brief Offset: 0x48 (R/W 32) Extended ID Filter Configuration */
3065 RoReg8 Reserved2[0x4];
3066 __IO CAN_IR_Type IR; /**< \brief Offset: 0x50 (R/W 32) Interrupt */
3067 __IO CAN_IE_Type IE; /**< \brief Offset: 0x54 (R/W 32) Interrupt Enable */
3068 __IO CAN_ILS_Type ILS; /**< \brief Offset: 0x58 (R/W 32) Interrupt Line Select */
3069 __IO CAN_ILE_Type ILE; /**< \brief Offset: 0x5C (R/W 32) Interrupt Line Enable */
3070 RoReg8 Reserved3[0x20];
3071 __IO CAN_GFC_Type GFC; /**< \brief Offset: 0x80 (R/W 32) Global Filter Configuration */
3072 __IO CAN_SIDFC_Type SIDFC; /**< \brief Offset: 0x84 (R/W 32) Standard ID Filter Configuration */
3073 __IO CAN_XIDFC_Type XIDFC; /**< \brief Offset: 0x88 (R/W 32) Extended ID Filter Configuration */
3074 RoReg8 Reserved4[0x4];
3075 __IO CAN_XIDAM_Type XIDAM; /**< \brief Offset: 0x90 (R/W 32) Extended ID AND Mask */
3076 __I CAN_HPMS_Type HPMS; /**< \brief Offset: 0x94 (R/ 32) High Priority Message Status */
3077 __IO CAN_NDAT1_Type NDAT1; /**< \brief Offset: 0x98 (R/W 32) New Data 1 */
3078 __IO CAN_NDAT2_Type NDAT2; /**< \brief Offset: 0x9C (R/W 32) New Data 2 */
3079 __IO CAN_RXF0C_Type RXF0C; /**< \brief Offset: 0xA0 (R/W 32) Rx FIFO 0 Configuration */
3080 __I CAN_RXF0S_Type RXF0S; /**< \brief Offset: 0xA4 (R/ 32) Rx FIFO 0 Status */
3081 __IO CAN_RXF0A_Type RXF0A; /**< \brief Offset: 0xA8 (R/W 32) Rx FIFO 0 Acknowledge */
3082 __IO CAN_RXBC_Type RXBC; /**< \brief Offset: 0xAC (R/W 32) Rx Buffer Configuration */
3083 __IO CAN_RXF1C_Type RXF1C; /**< \brief Offset: 0xB0 (R/W 32) Rx FIFO 1 Configuration */
3084 __I CAN_RXF1S_Type RXF1S; /**< \brief Offset: 0xB4 (R/ 32) Rx FIFO 1 Status */
3085 __IO CAN_RXF1A_Type RXF1A; /**< \brief Offset: 0xB8 (R/W 32) Rx FIFO 1 Acknowledge */
3086 __IO CAN_RXESC_Type RXESC; /**< \brief Offset: 0xBC (R/W 32) Rx Buffer / FIFO Element Size Configuration */
3087 __IO CAN_TXBC_Type TXBC; /**< \brief Offset: 0xC0 (R/W 32) Tx Buffer Configuration */
3088 __I CAN_TXFQS_Type TXFQS; /**< \brief Offset: 0xC4 (R/ 32) Tx FIFO / Queue Status */
3089 __IO CAN_TXESC_Type TXESC; /**< \brief Offset: 0xC8 (R/W 32) Tx Buffer Element Size Configuration */
3090 __I CAN_TXBRP_Type TXBRP; /**< \brief Offset: 0xCC (R/ 32) Tx Buffer Request Pending */
3091 __IO CAN_TXBAR_Type TXBAR; /**< \brief Offset: 0xD0 (R/W 32) Tx Buffer Add Request */
3092 __IO CAN_TXBCR_Type TXBCR; /**< \brief Offset: 0xD4 (R/W 32) Tx Buffer Cancellation Request */
3093 __I CAN_TXBTO_Type TXBTO; /**< \brief Offset: 0xD8 (R/ 32) Tx Buffer Transmission Occurred */
3094 __I CAN_TXBCF_Type TXBCF; /**< \brief Offset: 0xDC (R/ 32) Tx Buffer Cancellation Finished */
3095 __IO CAN_TXBTIE_Type TXBTIE; /**< \brief Offset: 0xE0 (R/W 32) Tx Buffer Transmission Interrupt Enable */
3096 __IO CAN_TXBCIE_Type TXBCIE; /**< \brief Offset: 0xE4 (R/W 32) Tx Buffer Cancellation Finished Interrupt Enable */
3097 RoReg8 Reserved5[0x8];
3098 __IO CAN_TXEFC_Type TXEFC; /**< \brief Offset: 0xF0 (R/W 32) Tx Event FIFO Configuration */
3099 __I CAN_TXEFS_Type TXEFS; /**< \brief Offset: 0xF4 (R/ 32) Tx Event FIFO Status */
3100 __IO CAN_TXEFA_Type TXEFA; /**< \brief Offset: 0xF8 (R/W 32) Tx Event FIFO Acknowledge */
3102 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3104 /** \brief CAN Mram_rxbe hardware registers */
3105 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3107 __IO CAN_RXBE_0_Type RXBE_0; /**< \brief Offset: 0x00 (R/W 32) Rx Buffer Element 0 */
3108 __IO CAN_RXBE_1_Type RXBE_1; /**< \brief Offset: 0x04 (R/W 32) Rx Buffer Element 1 */
3109 __IO CAN_RXBE_DATA_Type RXBE_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx Buffer Element Data */
3112 __attribute__ ((aligned (4)))
3115 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3117 /** \brief CAN Mram_rxf0e hardware registers */
3118 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3120 __IO CAN_RXF0E_0_Type RXF0E_0; /**< \brief Offset: 0x00 (R/W 32) Rx FIFO 0 Element 0 */
3121 __IO CAN_RXF0E_1_Type RXF0E_1; /**< \brief Offset: 0x04 (R/W 32) Rx FIFO 0 Element 1 */
3122 __IO CAN_RXF0E_DATA_Type RXF0E_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx FIFO 0 Element Data */
3125 __attribute__ ((aligned (4)))
3128 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3130 /** \brief CAN Mram_rxf1e hardware registers */
3131 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3133 __IO CAN_RXF1E_0_Type RXF1E_0; /**< \brief Offset: 0x00 (R/W 32) Rx FIFO 1 Element 0 */
3134 __IO CAN_RXF1E_1_Type RXF1E_1; /**< \brief Offset: 0x04 (R/W 32) Rx FIFO 1 Element 1 */
3135 __IO CAN_RXF1E_DATA_Type RXF1E_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx FIFO 1 Element Data */
3138 __attribute__ ((aligned (4)))
3141 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3143 /** \brief CAN Mram_sidfe hardware registers */
3144 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3146 __IO CAN_SIDFE_0_Type SIDFE_0; /**< \brief Offset: 0x00 (R/W 32) Standard Message ID Filter Element */
3149 __attribute__ ((aligned (4)))
3152 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3154 /** \brief CAN Mram_txbe hardware registers */
3155 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3157 __IO CAN_TXBE_0_Type TXBE_0; /**< \brief Offset: 0x00 (R/W 32) Tx Buffer Element 0 */
3158 __IO CAN_TXBE_1_Type TXBE_1; /**< \brief Offset: 0x04 (R/W 32) Tx Buffer Element 1 */
3159 __IO CAN_TXBE_DATA_Type TXBE_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Tx Buffer Element Data */
3162 __attribute__ ((aligned (4)))
3165 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3167 /** \brief CAN Mram_txefe hardware registers */
3168 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3170 __IO CAN_TXEFE_0_Type TXEFE_0; /**< \brief Offset: 0x00 (R/W 32) Tx Event FIFO Element 0 */
3171 __IO CAN_TXEFE_1_Type TXEFE_1; /**< \brief Offset: 0x04 (R/W 32) Tx Event FIFO Element 1 */
3174 __attribute__ ((aligned (4)))
3177 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3179 /** \brief CAN Mram_xifde hardware registers */
3180 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
3182 __IO CAN_XIDFE_0_Type XIDFE_0; /**< \brief Offset: 0x00 (R/W 32) Extended Message ID Filter Element 0 */
3183 __IO CAN_XIDFE_1_Type XIDFE_1; /**< \brief Offset: 0x04 (R/W 32) Extended Message ID Filter Element 1 */
3186 __attribute__ ((aligned (4)))
3189 #endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
3191 #define SECTION_CAN_MRAM_RXBE
3193 #define SECTION_CAN_MRAM_RXF0E
3195 #define SECTION_CAN_MRAM_RXF1E
3197 #define SECTION_CAN_MRAM_SIDFE
3199 #define SECTION_CAN_MRAM_TXBE
3201 #define SECTION_CAN_MRAM_TXEFE
3203 #define SECTION_CAN_MRAM_XIFDE
3207 #endif /* _SAMD51_CAN_COMPONENT_ */