AM263Px MCU+ SDK  10.01.00
mcan.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
50 #ifndef MCAN_H_
51 #define MCAN_H_
52 
53 /* ========================================================================== */
54 /* Include Files */
55 /* ========================================================================== */
56 
57 #include <drivers/hw_include/cslr.h>
58 #include <drivers/hw_include/cslr_mcan.h>
59 #include <drivers/hw_include/csl_types.h>
60 
61 #ifdef __cplusplus
62 extern "C" {
63 #endif
64 
65 /* ========================================================================== */
66 /* Macros & Typedefs */
67 /* ========================================================================== */
74 #define MCAN_STATUS_SUCCESS ((int32_t)0)
75 
79 #define MCAN_STATUS_FAILURE ((int32_t)-1)
80 
84 #define MCAN_TIMEOUT ((int32_t)-2)
85 
89 #define MCAN_INVALID_PARAM ((int32_t)-3)
90 
94 #define MCAN_STATUS_BUSY ((int32_t)-4)
95 
99 #define MCAN_INVALID_STATE ((int32_t)-5)
100 
104 #define MCAN_OUT_OF_RESOURCES ((int32_t)-6) //TODO
105 
109 #define MCAN_INTR_MASK_ALL (MCAN_IR_RF0N_MASK | \
110  MCAN_IR_RF0W_MASK | \
111  MCAN_IR_RF0F_MASK | \
112  MCAN_IR_RF0L_MASK | \
113  MCAN_IR_RF1N_MASK | \
114  MCAN_IR_RF1W_MASK | \
115  MCAN_IR_RF1F_MASK | \
116  MCAN_IR_RF1L_MASK | \
117  MCAN_IR_HPM_MASK | \
118  MCAN_IR_TC_MASK | \
119  MCAN_IR_TCF_MASK | \
120  MCAN_IR_TFE_MASK | \
121  MCAN_IR_TEFN_MASK | \
122  MCAN_IR_TEFW_MASK | \
123  MCAN_IR_TEFF_MASK | \
124  MCAN_IR_TEFL_MASK | \
125  MCAN_IR_TSW_MASK | \
126  MCAN_IR_MRAF_MASK | \
127  MCAN_IR_TOO_MASK | \
128  MCAN_IR_DRX_MASK | \
129  MCAN_IR_BEC_MASK | \
130  MCAN_IR_BEU_MASK | \
131  MCAN_IR_ELO_MASK | \
132  MCAN_IR_EP_MASK | \
133  MCAN_IR_EW_MASK | \
134  MCAN_IR_BO_MASK | \
135  MCAN_IR_WDI_MASK | \
136  MCAN_IR_PEA_MASK | \
137  MCAN_IR_PED_MASK | \
138  MCAN_IR_ARA_MASK)
139 
143 #define MCAN_INTR_MASK_TX (MCAN_IR_TSW_MASK | \
144  MCAN_IR_MRAF_MASK | \
145  MCAN_IR_TOO_MASK | \
146  MCAN_IR_DRX_MASK | \
147  MCAN_IR_BEC_MASK | \
148  MCAN_IR_BEU_MASK | \
149  MCAN_IR_ELO_MASK | \
150  MCAN_IR_EP_MASK | \
151  MCAN_IR_EW_MASK | \
152  MCAN_IR_BO_MASK | \
153  MCAN_IR_WDI_MASK | \
154  MCAN_IR_PEA_MASK | \
155  MCAN_IR_PED_MASK | \
156  MCAN_IR_ARA_MASK | \
157  MCAN_IR_TC_MASK | \
158  MCAN_IR_TCF_MASK | \
159  MCAN_IR_TFE_MASK | \
160  MCAN_IR_TEFN_MASK | \
161  MCAN_IR_TEFW_MASK | \
162  MCAN_IR_TEFF_MASK | \
163  MCAN_IR_HPM_MASK | \
164  MCAN_IR_TEFL_MASK)
165 
168 #define MCAN_INTR_MASK_RX (MCAN_IR_RF0N_MASK | \
169  MCAN_IR_TSW_MASK | \
170  MCAN_IR_MRAF_MASK | \
171  MCAN_IR_TOO_MASK | \
172  MCAN_IR_DRX_MASK | \
173  MCAN_IR_BEC_MASK | \
174  MCAN_IR_BEU_MASK | \
175  MCAN_IR_ELO_MASK | \
176  MCAN_IR_EP_MASK | \
177  MCAN_IR_EW_MASK | \
178  MCAN_IR_BO_MASK | \
179  MCAN_IR_WDI_MASK | \
180  MCAN_IR_PEA_MASK | \
181  MCAN_IR_PED_MASK | \
182  MCAN_IR_ARA_MASK | \
183  MCAN_IR_HPM_MASK | \
184  MCAN_IR_RF0W_MASK | \
185  MCAN_IR_RF0F_MASK | \
186  MCAN_IR_RF0L_MASK | \
187  MCAN_IR_RF1N_MASK | \
188  MCAN_IR_RF1W_MASK | \
189  MCAN_IR_RF1F_MASK | \
190  MCAN_IR_RF1L_MASK)
191 
195 #define MCAN_HEADER_SIZE_BYTES (8U)
196 
201 #define MCAN_MAX_PAYLOAD_BYTES (64U)
202 
211 #define MCAN_MSG_RAM_STD_ELEM_SIZE (1U)
212 
213 #define MCAN_MSG_RAM_EXT_ELEM_SIZE (2U)
214 
215 #define MCAN_MSG_RAM_TX_RX_ELEM_SIZE (18U)
216 
228 #define MCAN_RX_FIFO_OPERATION_MODE_BLOCKING (0U)
229 
230 #define MCAN_RX_FIFO_OPERATION_MODE_OVERWRITE (1U)
231 
242 #define MCAN_TX_MEM_TYPE_BUF (0U)
243 
244 #define MCAN_TX_MEM_TYPE_QUEUE (1U)
245 
256 #define MCAN_DATA_SIZE_0BYTES (0U)
257 
258 #define MCAN_DATA_SIZE_1BYTES (1U)
259 
260 #define MCAN_DATA_SIZE_2BYTES (2U)
261 
262 #define MCAN_DATA_SIZE_3BYTES (3U)
263 
264 #define MCAN_DATA_SIZE_4BYTES (4U)
265 
266 #define MCAN_DATA_SIZE_5BYTES (5U)
267 
268 #define MCAN_DATA_SIZE_6BYTES (6U)
269 
270 #define MCAN_DATA_SIZE_7BYTES (7U)
271 
272 #define MCAN_DATA_SIZE_8BYTES (8U)
273 
274 #define MCAN_DATA_SIZE_12BYTES (9U)
275 
276 #define MCAN_DATA_SIZE_16BYTES (10U)
277 
278 #define MCAN_DATA_SIZE_20BYTES (11U)
279 
280 #define MCAN_DATA_SIZE_24BYTES (12U)
281 
282 #define MCAN_DATA_SIZE_32BYTES (13U)
283 
284 #define MCAN_DATA_SIZE_48BYTES (14U)
285 
286 #define MCAN_DATA_SIZE_64BYTES (15U)
287 
298 #define MCAN_STD_FILT_ELEM_DISABLE (0U)
299 
300 #define MCAN_STD_FILT_ELEM_FIFO0 (1U)
301 
302 #define MCAN_STD_FILT_ELEM_FIFO1 (2U)
303 
304 #define MCAN_STD_FILT_ELEM_REJECT (3U)
305 
306 #define MCAN_STD_FILT_ELEM_SET_PRIORITY (4U)
307 
308 #define MCAN_STD_FILT_ELEM_SET_PRIORITY_FIFO0 (5U)
309 
310 #define MCAN_STD_FILT_ELEM_SET_PRIORITY_FIFO1 (6U)
311 
312 #define MCAN_STD_FILT_ELEM_BUFFER (7U)
313 
325 #define MCAN_STD_FILT_TYPE_RANGE (0U)
326 
327 #define MCAN_STD_FILT_TYPE_DUAL (1U)
328 
329 #define MCAN_STD_FILT_TYPE_CLASSIC (2U)
330 
331 #define MCAN_STD_FILT_TYPE_DISABLE (3U)
332 
343 #define MCAN_EXT_FILT_ELEM_DISABLE (0U)
344 
345 #define MCAN_EXT_FILT_ELEM_FIFO0 (1U)
346 
347 #define MCAN_EXT_FILT_ELEM_FIFO1 (2U)
348 
349 #define MCAN_EXT_FILT_ELEM_REJECT (3U)
350 
351 #define MCAN_EXT_FILT_ELEM_SET_PRIORITY (4U)
352 
353 #define MCAN_EXT_FILT_ELEM_SET_PRIORITY_FIFO0 (5U)
354 
355 #define MCAN_EXT_FILT_ELEM_SET_PRIORITY_FIFO1 (6U)
356 
357 #define MCAN_EXT_FILT_ELEM_BUFFER (7U)
358 
370 #define MCAN_EXT_FILT_TYPE_RANGE (0U)
371 
372 #define MCAN_EXT_FILT_TYPE_DUAL (1U)
373 
374 #define MCAN_EXT_FILT_TYPE_CLASSIC (2U)
375 
376 #define MCAN_EXT_FILT_TYPE_DISABLE (3U)
377 
383 #define MCAN_MAX_TX_MSG_OBJECTS (32U)
384 
388 #define MCAN_MAX_RX_MSG_OBJECTS (32U)
389 
393 #define MCAN_MAX_MSG_OBJECTS (MCAN_MAX_TX_MSG_OBJECTS + MCAN_MAX_RX_MSG_OBJECTS)
394 
403 typedef uint32_t MCAN_IntrLineNum;
404 
405 #define MCAN_INTR_LINE_NUM_0 (0U)
406 
407 #define MCAN_INTR_LINE_NUM_1 (1U)
408 
419 typedef uint32_t MCAN_IdType;
420 
421 #define MCAN_ID_TYPE_11_BIT (0U)
422 
423 #define MCAN_ID_TYPE_29_BIT (1U)
424 
435 typedef uint32_t MCAN_OperationMode;
436 
437 #define MCAN_OPERATION_MODE_NORMAL (0U)
438 
439 #define MCAN_OPERATION_MODE_SW_INIT (1U)
440 
451 typedef uint32_t MCAN_MemType;
452 
453 #define MCAN_MEM_TYPE_BUF (0U)
454 
455 #define MCAN_MEM_TYPE_FIFO (1U)
456 
467 typedef uint32_t MCAN_RxFIFONum;
468 
469 #define MCAN_RX_FIFO_NUM_0 (0U)
470 
471 #define MCAN_RX_FIFO_NUM_1 (1U)
472 
483 typedef uint32_t MCAN_PinType;
484 
485 #define MCAN_PIN_TYPE_RX (0U)
486 
487 #define MCAN_PIN_TYPE_TX (1U)
488 
499 typedef uint32_t MCAN_ElemSize;
500 
501 #define MCAN_ELEM_SIZE_8BYTES (0U)
502 
503 #define MCAN_ELEM_SIZE_12BYTES (1U)
504 
505 #define MCAN_ELEM_SIZE_16BYTES (2U)
506 
507 #define MCAN_ELEM_SIZE_20BYTES (3U)
508 
509 #define MCAN_ELEM_SIZE_24BYTES (4U)
510 
511 #define MCAN_ELEM_SIZE_32BYTES (5U)
512 
513 #define MCAN_ELEM_SIZE_48BYTES (6U)
514 
515 #define MCAN_ELEM_SIZE_64BYTES (7U)
516 
527 typedef uint32_t MCAN_TimeOutSelect;
528 
529 #define MCAN_TIMEOUT_SELECT_CONT (0U)
530 
531 #define MCAN_TIMEOUT_SELECT_TX_EVENT_FIFO (1U)
532 
533 #define MCAN_TIMEOUT_SELECT_RX_FIFO0 (2U)
534 
535 #define MCAN_TIMEOUT_SELECT_RX_FIFO1 (3U)
536 
547 typedef uint32_t MCAN_IntrSrc;
548 
549 #define MCAN_INTR_SRC_RX_FIFO0_NEW_MSG (MCAN_IR_RF0N_MASK)
550 
551 #define MCAN_INTR_SRC_RX_FIFO0_WATERMARK (MCAN_IR_RF0W_MASK)
552 
553 #define MCAN_INTR_SRC_RX_FIFO0_FULL (MCAN_IR_RF0F_MASK)
554 
555 #define MCAN_INTR_SRC_RX_FIFO0_MSG_LOST (MCAN_IR_RF0L_MASK)
556 
557 #define MCAN_INTR_SRC_RX_FIFO1_NEW_MSG (MCAN_IR_RF1N_MASK)
558 
559 #define MCAN_INTR_SRC_RX_FIFO1_WATERMARK (MCAN_IR_RF1W_MASK)
560 
561 #define MCAN_INTR_SRC_RX_FIFO1_FULL (MCAN_IR_RF1F_MASK)
562 
563 #define MCAN_INTR_SRC_RX_FIFO1_MSG_LOST (MCAN_IR_RF1L_MASK)
564 
565 #define MCAN_INTR_SRC_HIGH_PRIO_MSG (MCAN_IR_HPM_MASK)
566 
567 #define MCAN_INTR_SRC_TRANS_COMPLETE (MCAN_IR_TC_MASK)
568 
569 #define MCAN_INTR_SRC_TRANS_CANCEL_FINISH (MCAN_IR_TCF_MASK)
570 
571 #define MCAN_INTR_SRC_TX_FIFO_EMPTY (MCAN_IR_TFE_MASK)
572 
573 #define MCAN_INTR_SRC_TX_EVT_FIFO_NEW_ENTRY (MCAN_IR_TEFN_MASK)
574 
575 #define MCAN_INTR_SRC_TX_EVT_FIFO_WATERMARK (MCAN_IR_TEFW_MASK)
576 
577 #define MCAN_INTR_SRC_TX_EVT_FIFO_FULL (MCAN_IR_TEFF_MASK)
578 
579 #define MCAN_INTR_SRC_TX_EVT_FIFO_ELEM_LOST (MCAN_IR_TEFL_MASK)
580 
581 #define MCAN_INTR_SRC_TIMESTAMP_WRAPAROUND (MCAN_IR_TSW_MASK)
582 
583 #define MCAN_INTR_SRC_MSG_RAM_ACCESS_FAILURE (MCAN_IR_MRAF_MASK)
584 
585 #define MCAN_INTR_SRC_TIMEOUT (MCAN_IR_TOO_MASK)
586 
587 #define MCAN_INTR_SRC_DEDICATED_RX_BUFF_MSG (MCAN_IR_DRX_MASK)
588 
589 #define MCAN_INTR_SRC_BIT_ERR_CORRECTED (MCAN_IR_BEC_MASK)
590 
591 #define MCAN_INTR_SRC_BIT_ERR_UNCORRECTED (MCAN_IR_BEU_MASK)
592 
593 #define MCAN_INTR_SRC_ERR_LOG_OVRFLW (MCAN_IR_ELO_MASK)
594 
595 #define MCAN_INTR_SRC_ERR_PASSIVE (MCAN_IR_EP_MASK)
596 
597 #define MCAN_INTR_SRC_WARNING_STATUS (MCAN_IR_EW_MASK)
598 
599 #define MCAN_INTR_SRC_BUS_OFF_STATUS (MCAN_IR_BO_MASK)
600 
601 #define MCAN_INTR_SRC_WATCHDOG (MCAN_IR_WDI_MASK)
602 
603 #define MCAN_INTR_SRC_PROTOCOL_ERR_ARB (MCAN_IR_PEA_MASK)
604 
605 #define MCAN_INTR_SRC_PROTOCOL_ERR_DATA (MCAN_IR_PED_MASK)
606 
607 #define MCAN_INTR_SRC_RES_ADDR_ACCESS (MCAN_IR_ARA_MASK)
608 
619 typedef uint32_t MCAN_ECCErrType;
620 
621 #define MCAN_ECC_ERR_TYPE_SEC (0U)
622 
623 #define MCAN_ECC_ERR_TYPE_DED (1U)
624 
635 typedef uint32_t MCAN_LpbkMode;
636 
637 #define MCAN_LPBK_MODE_INTERNAL (0U)
638 
642 #define MCAN_LPBK_MODE_EXTERNAL (1U)
643 
658 typedef uint32_t MCAN_ComState;
659 
660 #define MCAN_COM_STATE_SYNCHRONIZING (0U)
661 
662 #define MCAN_COM_STATE_IDLE (1U)
663 
664 #define MCAN_COM_STATE_RECEIVER (2U)
665 
666 #define MCAN_COM_STATE_TRANSMITTER (3U)
667 
678 typedef uint32_t MCAN_ErrCode;
679 
680 #define MCAN_ERR_CODE_NO_ERROR (0U)
681 
684 #define MCAN_ERR_CODE_STUFF_ERROR (1U)
685 
688 #define MCAN_ERR_CODE_FORM_ERROR (2U)
689 
690 #define MCAN_ERR_CODE_ACK_ERROR (3U)
691 
694 #define MCAN_ERR_CODE_BIT1_ERROR (4U)
695 
700 #define MCAN_ERR_CODE_BIT0_ERROR (5U)
701 
710 #define MCAN_ERR_CODE_CRC_ERROR (6U)
711 
715 #define MCAN_ERR_CODE_NO_CHANGE (7U)
716 
724 /* ========================================================================== */
725 /* Structures and Enums */
726 /* ========================================================================== */
727 
733 typedef struct
734 {
739  uint32_t nomTimeSeg1;
743  uint32_t nomTimeSeg2;
755  uint32_t dataTimeSeg1;
759  uint32_t dataTimeSeg2;
768 
772 typedef struct
773 {
774  uint32_t tdcf;
778  uint32_t tdco;
783 
787 typedef struct
788 {
789  uint32_t rrfe;
794  uint32_t rrfs;
799  uint32_t anfe;
805  uint32_t anfs;
812 
816 typedef struct
817 {
818  uint32_t fdMode;
823  uint32_t brsEnable;
829  uint32_t txpEnable;
834  uint32_t efbi;
840  uint32_t pxhddisable;
845  uint32_t darEnable;
851  uint32_t wkupReqEnable;
856  uint32_t autoWkupEnable;
861  uint32_t emulationEnable;
866  uint32_t emulationFAck;
871  uint32_t clkStopFAck;
876  uint32_t wdcPreload;
884  uint32_t tdcEnable;
890 
894 typedef struct
895 {
896  uint32_t monEnable;
901  uint32_t asmEnable;
907  uint32_t tsPrescalar;
911  uint32_t tsSelect;
918  uint32_t timeoutSelect;
922  uint32_t timeoutPreload;
938 
942 typedef struct
943 {
944  uint32_t transErrLogCnt;
946  uint32_t recErrCnt;
948  uint32_t rpStatus;
953  uint32_t canErrLogCnt;
956 
960 typedef struct
961 {
962  uint32_t lastErrCode;
966  uint32_t act;
970  uint32_t errPassive;
975  uint32_t warningStatus;
981  uint32_t busOffStatus;
986  uint32_t dlec;
990  uint32_t resi;
995  uint32_t rbrs;
1000  uint32_t rfdf;
1006  uint32_t pxe;
1011  uint32_t tdcv;
1014 
1024 typedef struct
1025 {
1026  uint32_t lss;
1032  uint32_t lse;
1038  uint32_t txBufCnt;
1044  uint32_t txFIFOCnt;
1050  uint32_t txBufMode;
1055  uint32_t txEventFIFOCnt;
1061  uint32_t rxFIFO0Cnt;
1067  uint32_t rxFIFO0OpMode;
1072  uint32_t rxFIFO1Cnt;
1078  uint32_t rxFIFO1OpMode;
1083  uint32_t rxBufElemSize;
1107  uint32_t flssa;
1109  uint32_t flesa;
1111  uint32_t txStartAddr;
1113  uint32_t txBufElemSize;
1121  uint32_t rxBufStartAddr;
1124 
1128 typedef struct
1129 {
1130  uint32_t bufIdx;
1134  uint32_t msi;
1142  uint32_t filterIdx;
1144  uint32_t filterList;
1150 
1154 typedef struct
1155 {
1156  uint32_t statusLow;
1158  uint32_t statusHigh;
1161 
1165 typedef struct
1166 {
1167  uint32_t num;
1171  uint32_t fillLvl;
1173  uint32_t getIdx;
1175  uint32_t putIdx;
1177  uint32_t fifoFull;
1182  uint32_t msgLost;
1185 
1189 typedef struct
1190 {
1191  uint32_t freeLvl;
1193  uint32_t getIdx;
1197  uint32_t putIdx;
1199  uint32_t fifoFull;
1205 
1209 typedef struct
1210 {
1211  uint32_t fillLvl;
1213  uint32_t getIdx;
1215  uint32_t putIdx;
1217  uint32_t fifoFull;
1222  uint32_t eleLost;
1229 
1233 typedef struct
1234 {
1235  uint32_t errType;
1239  uint32_t rowNum;
1241  uint32_t bit1;
1245  uint32_t bit2;
1247  uint32_t errOnce;
1251  uint32_t errForce;
1254 
1258 typedef struct
1259 {
1260  uint32_t secErr;
1265  uint32_t dedErr;
1270  uint32_t row;
1274  uint32_t bit1;
1277  uint32_t bit2;
1282 
1287 typedef struct
1288 {
1289  uint32_t scheme;
1291  uint32_t bu;
1293  uint32_t modId;
1295  uint32_t rtlRev;
1297  uint32_t major;
1299  uint32_t custom;
1301  uint32_t minor;
1303  uint32_t day;
1305  uint32_t mon;
1307  uint32_t year;
1309  uint32_t subStep;
1311  uint32_t step;
1313  uint32_t rel;
1316 
1320 typedef struct
1321 {
1322  uint32_t scheme;
1324  uint32_t bu;
1326  uint32_t modId;
1328  uint32_t rtlRev;
1330  uint32_t major;
1332  uint32_t custom;
1334  uint32_t minor;
1337 
1341 typedef struct
1342 {
1343  uint32_t enable;
1348  uint32_t enableChk;
1353  uint32_t enableRdModWr;
1359 
1363 typedef struct
1364 {
1365  uint32_t scheme;
1367  uint32_t bu;
1369  uint32_t modId;
1371  uint32_t rtlRev;
1373  uint32_t major;
1375  uint32_t custom;
1377  uint32_t minor;
1380 
1384 typedef struct
1385 {
1386  uint32_t id;
1388  uint32_t rtr;
1393  uint32_t xtd;
1398  uint32_t esi;
1403  uint32_t dlc;
1409  uint32_t brs;
1414  uint32_t fdf;
1419  uint32_t efc;
1424  uint32_t mm;
1426  uint8_t data[MCAN_MAX_PAYLOAD_BYTES];
1431 
1439 typedef struct
1440 {
1441  uint32_t id;
1443  uint32_t rtr;
1448  uint32_t xtd;
1453  uint32_t esi;
1458  uint32_t dlc;
1464  uint32_t brs;
1469  uint32_t fdf;
1474  uint32_t efc;
1479  uint32_t mm;
1481  uint8_t *data;
1486 
1490 typedef struct
1491 {
1492  uint32_t id;
1494  uint32_t rtr;
1499  uint32_t xtd;
1504  uint32_t esi;
1509  uint32_t rxts;
1511  uint32_t dlc;
1517  uint32_t brs;
1522  uint32_t fdf;
1527  uint32_t fidx;
1529  uint32_t anmf;
1534  uint8_t data[MCAN_MAX_PAYLOAD_BYTES];
1539 
1547 typedef struct
1548 {
1549  uint32_t id;
1551  uint32_t rtr;
1556  uint32_t xtd;
1561  uint32_t esi;
1566  uint32_t rxts;
1568  uint32_t dlc;
1574  uint32_t brs;
1579  uint32_t fdf;
1584  uint32_t fidx;
1586  uint32_t anmf;
1591  uint8_t *data;
1596 
1600 typedef struct
1601 {
1602  uint32_t id;
1604  uint32_t rtr;
1609  uint32_t xtd;
1614  uint32_t esi;
1619  uint32_t txts;
1621  uint32_t dlc;
1627  uint32_t brs;
1632  uint32_t fdf;
1637  uint32_t et;
1645  uint32_t mm;
1648 
1652 typedef struct
1653 {
1654  uint32_t sfid2;
1656  uint32_t sfid1;
1658  uint32_t sfec;
1672  uint32_t sft;
1680 
1684 typedef struct
1685 {
1686  uint32_t efid1;
1688  uint32_t efec;
1702  uint32_t efid2;
1704  uint32_t eft;
1713 
1714 /* ========================================================================== */
1715 /* Global Variables */
1716 /* ========================================================================== */
1717 
1718 /* None */
1719 
1720 /* ========================================================================== */
1721 /* Function Declarations */
1722 /* ========================================================================== */
1723 
1730 void MCAN_reset(uint32_t baseAddr);
1731 
1740 uint32_t MCAN_isInReset(uint32_t baseAddr);
1741 
1751 uint32_t MCAN_isFDOpEnable(uint32_t baseAddr);
1752 
1762 uint32_t MCAN_isMemInitDone(uint32_t baseAddr);
1763 
1771 void MCAN_setOpMode(uint32_t baseAddr, uint32_t mode);
1772 
1781 uint32_t MCAN_getOpMode(uint32_t baseAddr);
1782 
1792 int32_t MCAN_init(uint32_t baseAddr, const MCAN_InitParams *initParams);
1793 
1803 int32_t MCAN_config(uint32_t baseAddr, const MCAN_ConfigParams *configParams);
1804 
1812 void MCAN_eccConfig(uint32_t baseAddr,
1813  const MCAN_ECCConfigParams *configParams);
1814 
1824 int32_t MCAN_setBitTime(uint32_t baseAddr,
1825  const MCAN_BitTimingParams *configParams);
1826 
1835 int32_t MCAN_writeDmaHeader( const void* data, const MCAN_TxBufElement *elem);
1836 
1847 int32_t MCAN_msgRAMConfig(uint32_t baseAddr,
1848  const MCAN_MsgRAMConfigParams *msgRAMConfigParams);
1849 
1859 int32_t MCAN_setExtIDAndMask(uint32_t baseAddr, uint32_t idMask);
1860 
1873 int32_t MCAN_getWriteMsgElemAddress(uint32_t baseAddr,
1874  uint32_t memType,
1875  uint32_t bufNum,
1876  uint32_t *elemAddr);
1877 
1889 void MCAN_writeHeaderToMsgRam(uint32_t baseAddr,
1890  uint32_t memType,
1891  uint32_t bufNum,
1892  const MCAN_TxBufElement *elem);
1893 
1905 void MCAN_writeMsgRam(uint32_t baseAddr,
1906  uint32_t memType,
1907  uint32_t bufNum,
1908  const MCAN_TxBufElement *elem);
1909 
1928 void MCAN_writeMsgRamNoCpy(uint32_t baseAddr,
1929  uint32_t memType,
1930  uint32_t bufNum,
1931  const MCAN_TxBufElementNoCpy *elem);
1932 
1941 int32_t MCAN_txBufAddReq(uint32_t baseAddr, uint32_t bufNum);
1942 
1950 void MCAN_getNewDataStatus(uint32_t baseAddr,
1951  MCAN_RxNewDataStatus *newDataStatus);
1952 
1968 int32_t MCAN_getReadMsgElemAddress(uint32_t baseAddr,
1969  uint32_t memType,
1970  uint32_t bufNum,
1971  uint32_t fifoNum,
1972  uint32_t *elemAddr);
1973 
1982 void MCAN_clearNewDataStatus(uint32_t baseAddr,
1983  const MCAN_RxNewDataStatus *newDataStatus);
1984 
1999 void MCAN_readMsgRam(uint32_t baseAddr,
2000  uint32_t memType,
2001  uint32_t bufNum,
2002  uint32_t fifoNum,
2003  MCAN_RxBufElement *elem);
2004 
2026 void MCAN_readMsgRamNoCpy(uint32_t baseAddr,
2027  uint32_t memType,
2028  uint32_t bufNum,
2029  uint32_t fifoNum,
2030  MCAN_RxBufElementNoCpy *elem);
2031 
2039 void MCAN_readTxEventFIFO(uint32_t baseAddr,
2040  MCAN_TxEventFIFOElement *txEventElem);
2041 
2050 void MCAN_addStdMsgIDFilter(uint32_t baseAddr,
2051  uint32_t filtNum,
2052  const MCAN_StdMsgIDFilterElement *elem);
2053 
2062 void MCAN_addExtMsgIDFilter(uint32_t baseAddr,
2063  uint32_t filtNum,
2064  const MCAN_ExtMsgIDFilterElement *elem);
2065 
2078 void MCAN_lpbkModeEnable(uint32_t baseAddr,
2079  uint32_t lpbkMode,
2080  uint32_t enable);
2081 
2089 void MCAN_getErrCounters(uint32_t baseAddr,
2090  MCAN_ErrCntStatus *errCounter);
2091 
2099 void MCAN_getProtocolStatus(uint32_t baseAddr,
2100  MCAN_ProtocolStatus *protStatus);
2101 
2111 void MCAN_enableIntr(uint32_t baseAddr, uint32_t intrMask, uint32_t enable);
2112 
2122 void MCAN_selectIntrLine(uint32_t baseAddr,
2123  uint32_t intrMask,
2124  uint32_t lineNum);
2125 
2133 uint32_t MCAN_getIntrLineSelectStatus(uint32_t baseAddr);
2134 
2144 void MCAN_enableIntrLine(uint32_t baseAddr,
2145  uint32_t lineNum,
2146  uint32_t enable);
2147 
2155 uint32_t MCAN_getIntrStatus(uint32_t baseAddr);
2156 
2164 void MCAN_clearIntrStatus(uint32_t baseAddr, uint32_t intrMask);
2165 
2173 void MCAN_getHighPriorityMsgStatus(uint32_t baseAddr,
2175 
2183 void MCAN_getRxFIFOStatus(uint32_t baseAddr,
2184  MCAN_RxFIFOStatus *fifoStatus);
2185 
2196 int32_t MCAN_writeRxFIFOAck(uint32_t baseAddr,
2197  uint32_t fifoNum,
2198  uint32_t idx);
2199 
2207 void MCAN_getTxFIFOQueStatus(uint32_t baseAddr,
2208  MCAN_TxFIFOStatus *fifoStatus);
2209 
2217 uint32_t MCAN_getTxBufReqPend(uint32_t baseAddr);
2218 
2227 int32_t MCAN_txBufCancellationReq(uint32_t baseAddr, uint32_t buffNum);
2228 
2236 uint32_t MCAN_getTxBufTransmissionStatus(uint32_t baseAddr);
2237 
2245 uint32_t MCAN_txBufCancellationStatus(uint32_t baseAddr);
2246 
2257 int32_t MCAN_txBufTransIntrEnable(uint32_t baseAddr,
2258  uint32_t bufNum,
2259  uint32_t enable);
2260 
2272 int32_t MCAN_txBufCancellationIntrEnable(uint32_t baseAddr,
2273  uint32_t bufNum,
2274  uint32_t enable);
2275 
2285 void MCAN_addClockStopRequest(uint32_t baseAddr, uint32_t enable);
2286 
2294 void MCAN_getTxEventFIFOStatus(uint32_t baseAddr,
2295  MCAN_TxEventFIFOStatus *fifoStatus);
2296 
2305 int32_t MCAN_writeTxEventFIFOAck(uint32_t baseAddr, uint32_t idx);
2306 
2314 void MCAN_eccForceError(uint32_t baseAddr,
2315  const MCAN_ECCErrForceParams *eccErr);
2316 
2324 void MCAN_eccGetErrorStatus(uint32_t baseAddr,
2325  MCAN_ECCErrStatus *eccErr);
2326 
2334 void MCAN_eccClearErrorStatus(uint32_t baseAddr, uint32_t errType);
2335 
2343 void MCAN_eccWriteEOI(uint32_t baseAddr, uint32_t errType);
2344 
2354 void MCAN_eccEnableIntr(uint32_t baseAddr, uint32_t errType, uint32_t enable);
2355 
2363 uint32_t MCAN_eccGetIntrStatus(uint32_t baseAddr, uint32_t errType);
2364 
2372 void MCAN_eccClearIntrStatus(uint32_t baseAddr, uint32_t errType);
2373 
2382 void MCAN_extTSCounterConfig(uint32_t baseAddr,
2383  uint32_t prescalar);
2384 
2393 void MCAN_extTSCounterEnable(uint32_t baseAddr, uint32_t enable);
2394 
2405 void MCAN_extTSEnableIntr(uint32_t baseAddr, uint32_t enable);
2406 
2414 void MCAN_extTSWriteEOI(uint32_t baseAddr);
2415 
2426 uint32_t MCAN_extTSGetUnservicedIntrCount(uint32_t baseAddr);
2427 
2428 /* ========================================================================== */
2429 /* Advance Functions */
2430 /* ========================================================================== */
2431 
2439 void MCAN_getRevisionId(uint32_t baseAddr, MCAN_RevisionId *revId);
2440 
2451 uint32_t MCAN_getClockStopAck(uint32_t baseAddr);
2452 
2460 void MCAN_extTSSetRawStatus(uint32_t baseAddr);
2461 
2469 void MCAN_extTSClearRawStatus(uint32_t baseAddr);
2470 
2480 uint32_t MCAN_getRxPinState(uint32_t baseAddr);
2481 
2493 void MCAN_setTxPinState(uint32_t baseAddr, uint32_t state);
2494 
2506 uint32_t MCAN_getTxPinState(uint32_t baseAddr);
2507 
2515 uint32_t MCAN_getTSCounterVal(uint32_t baseAddr);
2516 
2527 uint32_t MCAN_getClkStopAck(uint32_t baseAddr);
2528 
2536 void MCAN_getBitTime(uint32_t baseAddr,
2537  MCAN_BitTimingParams *configParams);
2538 
2545 void MCAN_resetTSCounter(uint32_t baseAddr);
2546 
2554 uint32_t MCAN_getTOCounterVal(uint32_t baseAddr);
2555 
2563 void MCAN_eccAggrGetRevisionId(uint32_t baseAddr,
2564  MCAN_ECCAggrRevisionId *revId);
2565 
2573 void MCAN_eccWrapGetRevisionId(uint32_t baseAddr,
2574  MCAN_ECCWrapRevisionId *revId);
2575 
2586 uint32_t MCAN_extTSIsIntrEnable(uint32_t baseAddr);
2587 
2595 uint32_t MCAN_getEndianVal(uint32_t baseAddr);
2596 
2604 uint32_t MCAN_getExtIDANDMassk(uint32_t baseAddr);
2605 
2606 /* ========================================================================== */
2607 /* Advanced Function Declarations */
2608 /* ========================================================================== */
2616 
2624 
2632 
2640 
2648  *msgRAMConfigParams);
2649 
2659  *msgRAMConfigParams);
2660 
2661 #ifdef __cplusplus
2662 }
2663 
2664 #endif /*extern "C" */
2665 
2666 #endif
2667 
MCAN_RxBufElementNoCpy::data
uint8_t * data
Definition: mcan.h:1591
MCAN_RevisionId::bu
uint32_t bu
Definition: mcan.h:1291
MCAN_ECCErrStatus::secErr
uint32_t secErr
Definition: mcan.h:1260
MCAN_ProtocolStatus::rfdf
uint32_t rfdf
Definition: mcan.h:1000
MCAN_ProtocolStatus::tdcv
uint32_t tdcv
Definition: mcan.h:1011
MCAN_RxFIFOStatus::getIdx
uint32_t getIdx
Definition: mcan.h:1173
MCAN_ECCWrapRevisionId::scheme
uint32_t scheme
Definition: mcan.h:1365
MCAN_getBitTime
void MCAN_getBitTime(uint32_t baseAddr, MCAN_BitTimingParams *configParams)
This API will get the configured bit timings for MCAN module.
MCAN_readMsgRamNoCpy
void MCAN_readMsgRamNoCpy(uint32_t baseAddr, uint32_t memType, uint32_t bufNum, uint32_t fifoNum, MCAN_RxBufElementNoCpy *elem)
This API is used to read received message from message RAM. This uses the MCAN_RxBufElementNoCpy stru...
MCAN_GlobalFiltConfig
Structure for MCAN Global Filter Configuration parameters.
Definition: mcan.h:788
MCAN_RxBufElement::fdf
uint32_t fdf
Definition: mcan.h:1522
MCAN_InitParams::emulationFAck
uint32_t emulationFAck
Definition: mcan.h:866
MCAN_ProtocolStatus::rbrs
uint32_t rbrs
Definition: mcan.h:995
MCAN_eccGetErrorStatus
void MCAN_eccGetErrorStatus(uint32_t baseAddr, MCAN_ECCErrStatus *eccErr)
This API will return ECC Error status.
MCAN_TxFIFOStatus::freeLvl
uint32_t freeLvl
Definition: mcan.h:1191
MCAN_getWriteMsgElemAddress
int32_t MCAN_getWriteMsgElemAddress(uint32_t baseAddr, uint32_t memType, uint32_t bufNum, uint32_t *elemAddr)
This API is used to get the address of Tx buffer in message ram.
MCAN_TxEventFIFOStatus::putIdx
uint32_t putIdx
Definition: mcan.h:1215
MCAN_MsgRAMConfigParams::lse
uint32_t lse
Definition: mcan.h:1032
MCAN_TxBufElementNoCpy::esi
uint32_t esi
Definition: mcan.h:1453
MCAN_ECCConfigParams
Structure for MCAN ECC configuration parameters.
Definition: mcan.h:1342
MCAN_StdMsgIDFilterElement::sfec
uint32_t sfec
Definition: mcan.h:1658
MCAN_ECCErrForceParams::errType
uint32_t errType
Definition: mcan.h:1235
MCAN_RxBufElement
Structure for MCAN Rx Buffer element.
Definition: mcan.h:1491
MCAN_InitParams::efbi
uint32_t efbi
Definition: mcan.h:834
MCAN_TxEventFIFOElement::mm
uint32_t mm
Definition: mcan.h:1645
MCAN_ProtocolStatus::act
uint32_t act
Definition: mcan.h:966
MCAN_IntrLineNum
uint32_t MCAN_IntrLineNum
Enum to select the MCAN interrupt lines.
Definition: mcan.h:403
MCAN_RxBufElement::xtd
uint32_t xtd
Definition: mcan.h:1499
MCAN_TxEventFIFOElement
Structure for MCAN Tx Event FIFO element.
Definition: mcan.h:1601
MCAN_extTSClearRawStatus
void MCAN_extTSClearRawStatus(uint32_t baseAddr)
This API will clear External TimeStamp Counter Overflow Interrupt raw status for MCAN module.
MCAN_ConfigParams::timeoutPreload
uint32_t timeoutPreload
Definition: mcan.h:922
MCAN_RxBufElement::anmf
uint32_t anmf
Definition: mcan.h:1529
MCAN_ECCAggrRevisionId::minor
uint32_t minor
Definition: mcan.h:1334
MCAN_eccAggrGetRevisionId
void MCAN_eccAggrGetRevisionId(uint32_t baseAddr, MCAN_ECCAggrRevisionId *revId)
This API is used get the ECC AGGR revision ID.
MCAN_MsgRAMConfigParams::txStartAddr
uint32_t txStartAddr
Definition: mcan.h:1111
MCAN_TxBufElementNoCpy::xtd
uint32_t xtd
Definition: mcan.h:1448
MCAN_ProtocolStatus::pxe
uint32_t pxe
Definition: mcan.h:1006
MCAN_enableIntr
void MCAN_enableIntr(uint32_t baseAddr, uint32_t intrMask, uint32_t enable)
This API is used to enable/disable interrupts.
MCAN_TxEventFIFOElement::esi
uint32_t esi
Definition: mcan.h:1614
MCAN_TxBufElement::xtd
uint32_t xtd
Definition: mcan.h:1393
MCAN_RxBufElementNoCpy::esi
uint32_t esi
Definition: mcan.h:1561
MCAN_setOpMode
void MCAN_setOpMode(uint32_t baseAddr, uint32_t mode)
This API will set MCAN module mode of operation.
MCAN_InitParams::tdcConfig
MCAN_TDCConfig tdcConfig
Definition: mcan.h:880
MCAN_RxFIFOStatus::fifoFull
uint32_t fifoFull
Definition: mcan.h:1177
MCAN_eccClearIntrStatus
void MCAN_eccClearIntrStatus(uint32_t baseAddr, uint32_t errType)
This API is used to clear ECC interrupt status.
MCAN_TxEventFIFOElement::et
uint32_t et
Definition: mcan.h:1637
MCAN_RxFIFOStatus::msgLost
uint32_t msgLost
Definition: mcan.h:1182
MCAN_ConfigParams
Structure for MCAN configuration parameters.
Definition: mcan.h:895
MCAN_PinType
uint32_t MCAN_PinType
Enum to represent the MCAN pin type.
Definition: mcan.h:483
MCAN_getTxEventFIFOStatus
void MCAN_getTxEventFIFOStatus(uint32_t baseAddr, MCAN_TxEventFIFOStatus *fifoStatus)
This API will Tx Event FIFO status.
MCAN_TxBufElement
Structure for MCAN Tx Buffer element.
Definition: mcan.h:1385
MCAN_getRevisionId
void MCAN_getRevisionId(uint32_t baseAddr, MCAN_RevisionId *revId)
This API is used get the MCAN revision ID.
MCAN_MsgRAMConfigParams::rxFIFO0StartAddr
uint32_t rxFIFO0StartAddr
Definition: mcan.h:1117
MCAN_TxEventFIFOElement::xtd
uint32_t xtd
Definition: mcan.h:1609
MCAN_isFDOpEnable
uint32_t MCAN_isFDOpEnable(uint32_t baseAddr)
This API will return flexible data rate operation status MCAN module.
MCAN_ProtocolStatus::dlec
uint32_t dlec
Definition: mcan.h:986
MCAN_MsgRAMConfigParams::rxFIFO0ElemSize
uint32_t rxFIFO0ElemSize
Definition: mcan.h:1085
MCAN_getRxPinState
uint32_t MCAN_getRxPinState(uint32_t baseAddr)
This API will return Rx pin state of MCAN module.
MCAN_MsgRAMConfigParams::rxFIFO1OpMode
uint32_t rxFIFO1OpMode
Definition: mcan.h:1078
MCAN_InitParams::wdcPreload
uint32_t wdcPreload
Definition: mcan.h:876
MCAN_ExtMsgIDFilterElement::efid1
uint32_t efid1
Definition: mcan.h:1686
MCAN_MsgRAMConfigParams::rxBufStartAddr
uint32_t rxBufStartAddr
Definition: mcan.h:1121
MCAN_TxBufElementNoCpy::dlc
uint32_t dlc
Definition: mcan.h:1458
MCAN_ExtMsgIDFilterElement::efid2
uint32_t efid2
Definition: mcan.h:1702
MCAN_MsgRAMConfigParams::txBufElemSize
uint32_t txBufElemSize
Definition: mcan.h:1113
MCAN_txBufCancellationStatus
uint32_t MCAN_txBufCancellationStatus(uint32_t baseAddr)
This API will return Transmit Buffer Cancellation Finished status.
MCAN_ProtocolStatus::busOffStatus
uint32_t busOffStatus
Definition: mcan.h:981
MCAN_ECCErrForceParams
Structure for ECC Error forcing.
Definition: mcan.h:1234
MCAN_MsgRAMConfigParams::txEventFIFOStartAddr
uint32_t txEventFIFOStartAddr
Definition: mcan.h:1115
MCAN_getOpMode
uint32_t MCAN_getOpMode(uint32_t baseAddr)
This API will return MCAN module mode of operation.
MCAN_eccConfig
void MCAN_eccConfig(uint32_t baseAddr, const MCAN_ECCConfigParams *configParams)
This API will enable/disable ECC on the Message RAM.
MCAN_ECCErrType
uint32_t MCAN_ECCErrType
Enum to represent the ECC Error Types.
Definition: mcan.h:619
MCAN_enableIntrLine
void MCAN_enableIntrLine(uint32_t baseAddr, uint32_t lineNum, uint32_t enable)
This API is used to enable/disable selected interrupt line.
MCAN_MsgRAMConfigParams::rxFIFO0WaterMark
uint32_t rxFIFO0WaterMark
Definition: mcan.h:1095
MCAN_MsgRAMConfigParams::rxBufElemSize
uint32_t rxBufElemSize
Definition: mcan.h:1083
MCAN_LpbkMode
uint32_t MCAN_LpbkMode
Enum to select the MCAN Loopback mode.
Definition: mcan.h:635
MCAN_MsgRAMConfigParams::txEventFIFOWaterMark
uint32_t txEventFIFOWaterMark
Definition: mcan.h:1089
MCAN_IntrSrc
uint32_t MCAN_IntrSrc
Enum for MCAN interrupts.
Definition: mcan.h:547
MCAN_TxEventFIFOStatus::fifoFull
uint32_t fifoFull
Definition: mcan.h:1217
MCAN_selectIntrLine
void MCAN_selectIntrLine(uint32_t baseAddr, uint32_t intrMask, uint32_t lineNum)
This API is used to select interrupt line.
MCAN_initMsgRamConfigParams
void MCAN_initMsgRamConfigParams(MCAN_MsgRAMConfigParams *msgRAMConfigParams)
This API will initialize MCAN message config RAM params to default.
MCAN_RxBufElementNoCpy::dlc
uint32_t dlc
Definition: mcan.h:1568
MCAN_ExtMsgIDFilterElement::efec
uint32_t efec
Definition: mcan.h:1688
MCAN_RxFIFONum
uint32_t MCAN_RxFIFONum
Enum to represent the MCAN Rx FIFO number.
Definition: mcan.h:467
MCAN_ErrCntStatus::rpStatus
uint32_t rpStatus
Definition: mcan.h:948
MCAN_TxEventFIFOStatus::fillLvl
uint32_t fillLvl
Definition: mcan.h:1211
MCAN_RxFIFOStatus::putIdx
uint32_t putIdx
Definition: mcan.h:1175
MCAN_MsgRAMConfigParams::flssa
uint32_t flssa
Definition: mcan.h:1107
MCAN_ECCErrStatus::dedErr
uint32_t dedErr
Definition: mcan.h:1265
MCAN_BitTimingParams::nomRatePrescalar
uint32_t nomRatePrescalar
Definition: mcan.h:735
MCAN_TxBufElementNoCpy::data
uint8_t * data
Definition: mcan.h:1481
MCAN_ECCWrapRevisionId::major
uint32_t major
Definition: mcan.h:1373
MCAN_ECCConfigParams::enable
uint32_t enable
Definition: mcan.h:1343
MCAN_calcMsgRamParamsStartAddr
int32_t MCAN_calcMsgRamParamsStartAddr(MCAN_MsgRAMConfigParams *msgRAMConfigParams)
This API will calculate start addresses of message RAM params.
MCAN_getErrCounters
void MCAN_getErrCounters(uint32_t baseAddr, MCAN_ErrCntStatus *errCounter)
This API will return error counter status for MCAN module.
MCAN_RxBufElementNoCpy::fidx
uint32_t fidx
Definition: mcan.h:1584
MCAN_InitParams::fdMode
uint32_t fdMode
Definition: mcan.h:818
MCAN_initSetBitTimeParams
void MCAN_initSetBitTimeParams(MCAN_BitTimingParams *bitTimes)
This API will initialize MCAN GBit Timing params with default 1Mbps and 5Mbps as nominal and data bit...
MCAN_InitParams::pxhddisable
uint32_t pxhddisable
Definition: mcan.h:840
MCAN_TxFIFOStatus::fifoFull
uint32_t fifoFull
Definition: mcan.h:1199
MCAN_ECCConfigParams::enableRdModWr
uint32_t enableRdModWr
Definition: mcan.h:1353
MCAN_RevisionId::rtlRev
uint32_t rtlRev
Definition: mcan.h:1295
MCAN_GlobalFiltConfig::anfe
uint32_t anfe
Definition: mcan.h:799
MCAN_reset
void MCAN_reset(uint32_t baseAddr)
This API is used to initiate reset for MCAN module.
MCAN_RevisionId::modId
uint32_t modId
Definition: mcan.h:1293
MCAN_ComState
uint32_t MCAN_ComState
Enum to represent MCAN's communication state.
Definition: mcan.h:658
MCAN_InitParams::brsEnable
uint32_t brsEnable
Definition: mcan.h:823
MCAN_TimeOutSelect
uint32_t MCAN_TimeOutSelect
Enum to represent the MCAN time-out counter configuration.
Definition: mcan.h:527
MCAN_getExtIDANDMassk
uint32_t MCAN_getExtIDANDMassk(uint32_t baseAddr)
This API will get the configured Extended ID AND Mask.
MCAN_RxBufElement::rtr
uint32_t rtr
Definition: mcan.h:1494
MCAN_isInReset
uint32_t MCAN_isInReset(uint32_t baseAddr)
This function checks if the MCAN module is in Reset.
MCAN_MsgRAMConfigParams::rxFIFO1WaterMark
uint32_t rxFIFO1WaterMark
Definition: mcan.h:1101
MCAN_GlobalFiltConfig::anfs
uint32_t anfs
Definition: mcan.h:805
MCAN_getRxFIFOStatus
void MCAN_getRxFIFOStatus(uint32_t baseAddr, MCAN_RxFIFOStatus *fifoStatus)
This API will Rx FIFO status.
MCAN_extTSIsIntrEnable
uint32_t MCAN_extTSIsIntrEnable(uint32_t baseAddr)
This API returns External TimeStamp Counter Overflow Interrupt enable status for MCAN module.
MCAN_TxEventFIFOElement::fdf
uint32_t fdf
Definition: mcan.h:1632
MCAN_ProtocolStatus::resi
uint32_t resi
Definition: mcan.h:990
MCAN_txBufCancellationIntrEnable
int32_t MCAN_txBufCancellationIntrEnable(uint32_t baseAddr, uint32_t bufNum, uint32_t enable)
This API is used to enable/disable Tx Buffer Cancellation Finished Interrupt.
MCAN_RxBufElement::dlc
uint32_t dlc
Definition: mcan.h:1511
MCAN_ConfigParams::monEnable
uint32_t monEnable
Definition: mcan.h:896
MCAN_getEndianVal
uint32_t MCAN_getEndianVal(uint32_t baseAddr)
This function return endianness value of MCAN module.
MCAN_ECCAggrRevisionId::major
uint32_t major
Definition: mcan.h:1330
MCAN_getTxBufReqPend
uint32_t MCAN_getTxBufReqPend(uint32_t baseAddr)
This API will return Tx Buffer Request Pending status.
MCAN_HighPriorityMsgInfo::filterIdx
uint32_t filterIdx
Definition: mcan.h:1142
MCAN_eccForceError
void MCAN_eccForceError(uint32_t baseAddr, const MCAN_ECCErrForceParams *eccErr)
This API will Force Error on ECC.
MCAN_BitTimingParams::nomTimeSeg2
uint32_t nomTimeSeg2
Definition: mcan.h:743
MCAN_eccWrapGetRevisionId
void MCAN_eccWrapGetRevisionId(uint32_t baseAddr, MCAN_ECCWrapRevisionId *revId)
This API is used get the ECC Wrapper revision ID.
MCAN_clearNewDataStatus
void MCAN_clearNewDataStatus(uint32_t baseAddr, const MCAN_RxNewDataStatus *newDataStatus)
This API clear New Data Message Status.
MCAN_ProtocolStatus
Structure for MCAN protocol status.
Definition: mcan.h:961
MCAN_setBitTime
int32_t MCAN_setBitTime(uint32_t baseAddr, const MCAN_BitTimingParams *configParams)
This API will configure a bit timings for MCAN module.
MCAN_BitTimingParams
Structure for bit timing calculation. Bit timing related to data phase will be valid only in case whe...
Definition: mcan.h:734
MCAN_resetTSCounter
void MCAN_resetTSCounter(uint32_t baseAddr)
This API will reset timestamp counter value.
MCAN_RxBufElementNoCpy::xtd
uint32_t xtd
Definition: mcan.h:1556
MCAN_TxEventFIFOElement::brs
uint32_t brs
Definition: mcan.h:1627
MCAN_ProtocolStatus::errPassive
uint32_t errPassive
Definition: mcan.h:970
MCAN_writeHeaderToMsgRam
void MCAN_writeHeaderToMsgRam(uint32_t baseAddr, uint32_t memType, uint32_t bufNum, const MCAN_TxBufElement *elem)
This API is used to write Tx message Header to message RAM.
MCAN_TxBufElement::esi
uint32_t esi
Definition: mcan.h:1398
MCAN_ProtocolStatus::warningStatus
uint32_t warningStatus
Definition: mcan.h:975
MCAN_RxBufElement::fidx
uint32_t fidx
Definition: mcan.h:1527
MCAN_InitParams::txpEnable
uint32_t txpEnable
Definition: mcan.h:829
MCAN_getClkStopAck
uint32_t MCAN_getClkStopAck(uint32_t baseAddr)
This API will return clock stop acknowledgement for MCAN module.
MCAN_TxFIFOStatus::putIdx
uint32_t putIdx
Definition: mcan.h:1197
MCAN_BitTimingParams::dataTimeSeg1
uint32_t dataTimeSeg1
Definition: mcan.h:755
MCAN_getTOCounterVal
uint32_t MCAN_getTOCounterVal(uint32_t baseAddr)
This API will return current time-out counter value.
MCAN_clearIntrStatus
void MCAN_clearIntrStatus(uint32_t baseAddr, uint32_t intrMask)
This API is used to clear the interrupt status.
MCAN_initOperModeParams
void MCAN_initOperModeParams(MCAN_InitParams *initParams)
This API will initialize MCAN Operating mode params with default values.
MCAN_RxBufElementNoCpy::rxts
uint32_t rxts
Definition: mcan.h:1566
MCAN_InitParams::autoWkupEnable
uint32_t autoWkupEnable
Definition: mcan.h:856
MCAN_ConfigParams::tsSelect
uint32_t tsSelect
Definition: mcan.h:911
MCAN_TxBufElementNoCpy::efc
uint32_t efc
Definition: mcan.h:1474
MCAN_ElemSize
uint32_t MCAN_ElemSize
Enum to represent FIFO/Buffer element Size.
Definition: mcan.h:499
MCAN_ErrCntStatus::transErrLogCnt
uint32_t transErrLogCnt
Definition: mcan.h:944
MCAN_writeMsgRam
void MCAN_writeMsgRam(uint32_t baseAddr, uint32_t memType, uint32_t bufNum, const MCAN_TxBufElement *elem)
This API is used to write Tx message to message RAM.
MCAN_TxBufElementNoCpy::rtr
uint32_t rtr
Definition: mcan.h:1443
MCAN_extTSGetUnservicedIntrCount
uint32_t MCAN_extTSGetUnservicedIntrCount(uint32_t baseAddr)
This API returns Number of unserviced rollover/overflow interrupts for external TimeStamp counter.
MCAN_HighPriorityMsgInfo::filterList
uint32_t filterList
Definition: mcan.h:1144
MCAN_getHighPriorityMsgStatus
void MCAN_getHighPriorityMsgStatus(uint32_t baseAddr, MCAN_HighPriorityMsgInfo *hpm)
This API will return High Priority Message Status.
MCAN_RxBufElementNoCpy::id
uint32_t id
Definition: mcan.h:1549
MCAN_TxEventFIFOStatus::eleLost
uint32_t eleLost
Definition: mcan.h:1222
MCAN_ECCAggrRevisionId
Structure for accessing Revision ID of ECC AGGR.
Definition: mcan.h:1321
MCAN_StdMsgIDFilterElement
Structure for MCAN Standard Message ID Filter Element.
Definition: mcan.h:1653
MCAN_RevisionId::mon
uint32_t mon
Definition: mcan.h:1305
MCAN_RxFIFOStatus
Structure for MCAN Rx FIFO Status.
Definition: mcan.h:1166
MCAN_RxBufElementNoCpy
Structure for MCAN Rx Buffer element which takes data as a pointer. Using this the MCAL CAN driver ca...
Definition: mcan.h:1548
MCAN_ECCWrapRevisionId::modId
uint32_t modId
Definition: mcan.h:1369
MCAN_TDCConfig::tdcf
uint32_t tdcf
Definition: mcan.h:774
MCAN_ECCWrapRevisionId::custom
uint32_t custom
Definition: mcan.h:1375
MCAN_MsgRAMConfigParams::rxFIFO1StartAddr
uint32_t rxFIFO1StartAddr
Definition: mcan.h:1119
MCAN_RxFIFOStatus::num
uint32_t num
Definition: mcan.h:1167
MCAN_HighPriorityMsgInfo
Structure for MCAN High Priority Message.
Definition: mcan.h:1129
MCAN_extTSSetRawStatus
void MCAN_extTSSetRawStatus(uint32_t baseAddr)
This API will set External TimeStamp Counter Overflow Interrupt Raw status for MCAN module.
MCAN_ConfigParams::tsPrescalar
uint32_t tsPrescalar
Definition: mcan.h:907
MCAN_msgRAMConfig
int32_t MCAN_msgRAMConfig(uint32_t baseAddr, const MCAN_MsgRAMConfigParams *msgRAMConfigParams)
This API will configure Different sections of Message RAM.
MCAN_OperationMode
uint32_t MCAN_OperationMode
Enum to represent the MCAN mode of operation.
Definition: mcan.h:435
MCAN_ConfigParams::filterConfig
MCAN_GlobalFiltConfig filterConfig
Definition: mcan.h:933
MCAN_RxNewDataStatus::statusHigh
uint32_t statusHigh
Definition: mcan.h:1158
MCAN_TxEventFIFOStatus::getIdx
uint32_t getIdx
Definition: mcan.h:1213
MCAN_ProtocolStatus::lastErrCode
uint32_t lastErrCode
Definition: mcan.h:962
MCAN_HighPriorityMsgInfo::msi
uint32_t msi
Definition: mcan.h:1134
MCAN_MemType
uint32_t MCAN_MemType
Enum to represent the MCAN Message RAM type.
Definition: mcan.h:451
MCAN_IdType
uint32_t MCAN_IdType
Enum to represent the MCAN Identifier Type.
Definition: mcan.h:419
MCAN_RxBufElementNoCpy::brs
uint32_t brs
Definition: mcan.h:1574
MCAN_InitParams::tdcEnable
uint32_t tdcEnable
Definition: mcan.h:884
MCAN_getNewDataStatus
void MCAN_getNewDataStatus(uint32_t baseAddr, MCAN_RxNewDataStatus *newDataStatus)
This API will return New Data Message Status.
MCAN_eccEnableIntr
void MCAN_eccEnableIntr(uint32_t baseAddr, uint32_t errType, uint32_t enable)
This API is used to enable ECC interrupt.
MCAN_ECCErrStatus::bit1
uint32_t bit1
Definition: mcan.h:1274
MCAN_MsgRAMConfigParams
Structure for MCAN Message RAM Configuration Parameters. Message RAM can contain following sections: ...
Definition: mcan.h:1025
MCAN_eccClearErrorStatus
void MCAN_eccClearErrorStatus(uint32_t baseAddr, uint32_t errType)
This API is used to clear the ECC Error status.
MCAN_RevisionId
Structure for accessing Revision ID and Core Release Info. of MCAN module.
Definition: mcan.h:1288
MCAN_extTSWriteEOI
void MCAN_extTSWriteEOI(uint32_t baseAddr)
This API is used to write End of Interrupt for External TimeStamp Counter Overflow Interrupt.
MCAN_readMsgRam
void MCAN_readMsgRam(uint32_t baseAddr, uint32_t memType, uint32_t bufNum, uint32_t fifoNum, MCAN_RxBufElement *elem)
This API is used to read received message form message RAM.
MCAN_MsgRAMConfigParams::rxFIFO0OpMode
uint32_t rxFIFO0OpMode
Definition: mcan.h:1067
MCAN_InitParams::wkupReqEnable
uint32_t wkupReqEnable
Definition: mcan.h:851
MCAN_TxEventFIFOElement::id
uint32_t id
Definition: mcan.h:1602
MCAN_RevisionId::year
uint32_t year
Definition: mcan.h:1307
MCAN_addExtMsgIDFilter
void MCAN_addExtMsgIDFilter(uint32_t baseAddr, uint32_t filtNum, const MCAN_ExtMsgIDFilterElement *elem)
This API is used to add Extended Message ID Filter Element.
MCAN_RevisionId::rel
uint32_t rel
Definition: mcan.h:1313
MCAN_RxBufElement::brs
uint32_t brs
Definition: mcan.h:1517
MCAN_GlobalFiltConfig::rrfs
uint32_t rrfs
Definition: mcan.h:794
MCAN_getProtocolStatus
void MCAN_getProtocolStatus(uint32_t baseAddr, MCAN_ProtocolStatus *protStatus)
This API will return protocol status for MCAN module.
MCAN_BitTimingParams::dataTimeSeg2
uint32_t dataTimeSeg2
Definition: mcan.h:759
MCAN_RevisionId::subStep
uint32_t subStep
Definition: mcan.h:1309
MCAN_ECCErrStatus
Structure for ECC Error Status.
Definition: mcan.h:1259
MCAN_ECCErrStatus::row
uint32_t row
Definition: mcan.h:1270
MCAN_ECCAggrRevisionId::custom
uint32_t custom
Definition: mcan.h:1332
MCAN_TxFIFOStatus
Structure for MCAN Tx FIFO Status.
Definition: mcan.h:1190
MCAN_RxBufElementNoCpy::anmf
uint32_t anmf
Definition: mcan.h:1586
MCAN_MAX_PAYLOAD_BYTES
#define MCAN_MAX_PAYLOAD_BYTES
Maximum payload supported by CAN-FD protocol in bytes.
Definition: mcan.h:201
MCAN_ECCErrForceParams::errOnce
uint32_t errOnce
Definition: mcan.h:1247
MCAN_RevisionId::custom
uint32_t custom
Definition: mcan.h:1299
MCAN_eccWriteEOI
void MCAN_eccWriteEOI(uint32_t baseAddr, uint32_t errType)
This API is used to write End of Interrupt for ECC interrupt.
MCAN_extTSEnableIntr
void MCAN_extTSEnableIntr(uint32_t baseAddr, uint32_t enable)
This API will enable/disable External TimeStamp Counter Overflow Interrupt for MCAN module.
MCAN_TxBufElementNoCpy::brs
uint32_t brs
Definition: mcan.h:1464
MCAN_TxEventFIFOElement::dlc
uint32_t dlc
Definition: mcan.h:1621
MCAN_getTSCounterVal
uint32_t MCAN_getTSCounterVal(uint32_t baseAddr)
This API will return current timestamp counter value.
MCAN_getReadMsgElemAddress
int32_t MCAN_getReadMsgElemAddress(uint32_t baseAddr, uint32_t memType, uint32_t bufNum, uint32_t fifoNum, uint32_t *elemAddr)
This API is used to get the address of Rx buffer in message ram.
MCAN_ECCAggrRevisionId::scheme
uint32_t scheme
Definition: mcan.h:1322
MCAN_InitParams::darEnable
uint32_t darEnable
Definition: mcan.h:845
MCAN_ECCErrForceParams::rowNum
uint32_t rowNum
Definition: mcan.h:1239
MCAN_ECCAggrRevisionId::rtlRev
uint32_t rtlRev
Definition: mcan.h:1328
MCAN_ECCWrapRevisionId::rtlRev
uint32_t rtlRev
Definition: mcan.h:1371
MCAN_writeRxFIFOAck
int32_t MCAN_writeRxFIFOAck(uint32_t baseAddr, uint32_t fifoNum, uint32_t idx)
This API will write Rx FIFO Acknowledgement.
MCAN_MsgRAMConfigParams::txFIFOCnt
uint32_t txFIFOCnt
Definition: mcan.h:1044
MCAN_init
int32_t MCAN_init(uint32_t baseAddr, const MCAN_InitParams *initParams)
This API will initialize MCAN module.
MCAN_MsgRAMConfigParams::txEventFIFOCnt
uint32_t txEventFIFOCnt
Definition: mcan.h:1055
MCAN_RevisionId::scheme
uint32_t scheme
Definition: mcan.h:1289
MCAN_ExtMsgIDFilterElement
Structure for MCAN Extended Message ID Filter Element.
Definition: mcan.h:1685
MCAN_ErrCntStatus::recErrCnt
uint32_t recErrCnt
Definition: mcan.h:946
MCAN_StdMsgIDFilterElement::sft
uint32_t sft
Definition: mcan.h:1672
MCAN_InitParams
Structure for MCAN initialization parameters.
Definition: mcan.h:817
MCAN_addStdMsgIDFilter
void MCAN_addStdMsgIDFilter(uint32_t baseAddr, uint32_t filtNum, const MCAN_StdMsgIDFilterElement *elem)
This API is used to add Standard Message ID Filter Element.
MCAN_txBufCancellationReq
int32_t MCAN_txBufCancellationReq(uint32_t baseAddr, uint32_t buffNum)
This API will set Tx Buffer Cancellation Request.
MCAN_writeMsgRamNoCpy
void MCAN_writeMsgRamNoCpy(uint32_t baseAddr, uint32_t memType, uint32_t bufNum, const MCAN_TxBufElementNoCpy *elem)
This API is used to write Tx message to message RAM. This uses the MCAN_TxBufElementNoCpy structure e...
MCAN_writeDmaHeader
int32_t MCAN_writeDmaHeader(const void *data, const MCAN_TxBufElement *elem)
This API is used to write only the message header to MCAN TX data buffer and is required in DMA mode.
MCAN_RxBufElementNoCpy::rtr
uint32_t rtr
Definition: mcan.h:1551
MCAN_RxBufElement::esi
uint32_t esi
Definition: mcan.h:1504
MCAN_MsgRAMConfigParams::flesa
uint32_t flesa
Definition: mcan.h:1109
MCAN_config
int32_t MCAN_config(uint32_t baseAddr, const MCAN_ConfigParams *configParams)
This API will configure MCAN module.
MCAN_TxBufElementNoCpy
Structure for MCAN Tx Buffer element which takes data as a pointer. Using this the MCAL CAN driver ca...
Definition: mcan.h:1440
MCAN_TxBufElementNoCpy::fdf
uint32_t fdf
Definition: mcan.h:1469
MCAN_ErrCntStatus::canErrLogCnt
uint32_t canErrLogCnt
Definition: mcan.h:953
MCAN_TDCConfig::tdco
uint32_t tdco
Definition: mcan.h:778
MCAN_ECCErrForceParams::errForce
uint32_t errForce
Definition: mcan.h:1251
MCAN_ErrCntStatus
Structure for MCAN error logging counters status.
Definition: mcan.h:943
MCAN_TxBufElement::brs
uint32_t brs
Definition: mcan.h:1409
MCAN_ECCErrForceParams::bit1
uint32_t bit1
Definition: mcan.h:1241
MCAN_TxBufElement::id
uint32_t id
Definition: mcan.h:1386
MCAN_TxBufElementNoCpy::mm
uint32_t mm
Definition: mcan.h:1479
MCAN_setTxPinState
void MCAN_setTxPinState(uint32_t baseAddr, uint32_t state)
This API will set Tx pin state of MCAN module.
MCAN_ECCWrapRevisionId
Structure for accessing Revision ID of ECC wrapper.
Definition: mcan.h:1364
MCAN_RxNewDataStatus
Structure for MCAN new data flag for Rx buffer.
Definition: mcan.h:1155
MCAN_lpbkModeEnable
void MCAN_lpbkModeEnable(uint32_t baseAddr, uint32_t lpbkMode, uint32_t enable)
This API will enable/disable Loop Back Test Mode for MCAN module.
MCAN_BitTimingParams::dataSynchJumpWidth
uint32_t dataSynchJumpWidth
Definition: mcan.h:763
MCAN_ErrCode
uint32_t MCAN_ErrCode
Enum to represent MCAN's Error Code.
Definition: mcan.h:678
MCAN_getIntrLineSelectStatus
uint32_t MCAN_getIntrLineSelectStatus(uint32_t baseAddr)
This API is used to get interrupt line selected for each interrupt.
MCAN_ECCAggrRevisionId::bu
uint32_t bu
Definition: mcan.h:1324
MCAN_ConfigParams::timeoutCntEnable
uint32_t timeoutCntEnable
Definition: mcan.h:928
MCAN_RevisionId::day
uint32_t day
Definition: mcan.h:1303
MCAN_TxBufElementNoCpy::id
uint32_t id
Definition: mcan.h:1441
MCAN_RxFIFOStatus::fillLvl
uint32_t fillLvl
Definition: mcan.h:1171
MCAN_writeTxEventFIFOAck
int32_t MCAN_writeTxEventFIFOAck(uint32_t baseAddr, uint32_t idx)
This API will write Event FIFO Acknowledge Index.
MCAN_ECCAggrRevisionId::modId
uint32_t modId
Definition: mcan.h:1326
MCAN_TDCConfig
Structure for MCAN Transmitter Delay Compensation parameters.
Definition: mcan.h:773
MCAN_TxBufElement::mm
uint32_t mm
Definition: mcan.h:1424
MCAN_TxEventFIFOElement::txts
uint32_t txts
Definition: mcan.h:1619
MCAN_getIntrStatus
uint32_t MCAN_getIntrStatus(uint32_t baseAddr)
This API will return interrupt status.
MCAN_ExtMsgIDFilterElement::eft
uint32_t eft
Definition: mcan.h:1704
MCAN_getTxBufTransmissionStatus
uint32_t MCAN_getTxBufTransmissionStatus(uint32_t baseAddr)
This API will return Tx Buffer Transmission Occurred status.
MCAN_TxFIFOStatus::getIdx
uint32_t getIdx
Definition: mcan.h:1193
MCAN_ECCConfigParams::enableChk
uint32_t enableChk
Definition: mcan.h:1348
MCAN_ECCErrStatus::bit2
uint32_t bit2
Definition: mcan.h:1277
MCAN_StdMsgIDFilterElement::sfid2
uint32_t sfid2
Definition: mcan.h:1654
MCAN_initGlobalFilterConfigParams
void MCAN_initGlobalFilterConfigParams(MCAN_ConfigParams *configParams)
This API will initialize MCAN Global Filter config params with default values.
MCAN_MsgRAMConfigParams::txBufCnt
uint32_t txBufCnt
Definition: mcan.h:1038
MCAN_RevisionId::major
uint32_t major
Definition: mcan.h:1297
MCAN_eccGetIntrStatus
uint32_t MCAN_eccGetIntrStatus(uint32_t baseAddr, uint32_t errType)
This API is used to get ECC interrupt status.
MCAN_TxEventFIFOStatus
Structure for MCAN Tx Event FIFO Status.
Definition: mcan.h:1210
MCAN_RxBufElementNoCpy::fdf
uint32_t fdf
Definition: mcan.h:1579
MCAN_ConfigParams::asmEnable
uint32_t asmEnable
Definition: mcan.h:901
MCAN_TxEventFIFOElement::rtr
uint32_t rtr
Definition: mcan.h:1604
MCAN_RxBufElement::id
uint32_t id
Definition: mcan.h:1492
MCAN_TxBufElement::efc
uint32_t efc
Definition: mcan.h:1419
MCAN_ECCWrapRevisionId::bu
uint32_t bu
Definition: mcan.h:1367
MCAN_setExtIDAndMask
int32_t MCAN_setExtIDAndMask(uint32_t baseAddr, uint32_t idMask)
This API will configure Extended ID AND Mask.
MCAN_RxBufElement::rxts
uint32_t rxts
Definition: mcan.h:1509
MCAN_getTxFIFOQueStatus
void MCAN_getTxFIFOQueStatus(uint32_t baseAddr, MCAN_TxFIFOStatus *fifoStatus)
This API will Tx FIFO status.
MCAN_extTSCounterEnable
void MCAN_extTSCounterEnable(uint32_t baseAddr, uint32_t enable)
This API will enable/disable fast external time stamp counter for MCAN module.
MCAN_MsgRAMConfigParams::rxFIFO1ElemSize
uint32_t rxFIFO1ElemSize
Definition: mcan.h:1087
MCAN_MsgRAMConfigParams::lss
uint32_t lss
Definition: mcan.h:1026
MCAN_BitTimingParams::nomSynchJumpWidth
uint32_t nomSynchJumpWidth
Definition: mcan.h:747
MCAN_RxNewDataStatus::statusLow
uint32_t statusLow
Definition: mcan.h:1156
MCAN_getClockStopAck
uint32_t MCAN_getClockStopAck(uint32_t baseAddr)
This API get clock stop acknowledgement for MCAN module. It return whether MCAN is power down mode or...
MCAN_RevisionId::minor
uint32_t minor
Definition: mcan.h:1301
MCAN_readTxEventFIFO
void MCAN_readTxEventFIFO(uint32_t baseAddr, MCAN_TxEventFIFOElement *txEventElem)
This API is used to read message form Tx Event FIFO.
MCAN_txBufAddReq
int32_t MCAN_txBufAddReq(uint32_t baseAddr, uint32_t bufNum)
This API will set Tx Buffer Add Request.
MCAN_HighPriorityMsgInfo::bufIdx
uint32_t bufIdx
Definition: mcan.h:1130
MCAN_isMemInitDone
uint32_t MCAN_isMemInitDone(uint32_t baseAddr)
This function checks if the memory initialization is done for MCAN module.
MCAN_ECCWrapRevisionId::minor
uint32_t minor
Definition: mcan.h:1377
MCAN_RevisionId::step
uint32_t step
Definition: mcan.h:1311
MCAN_TxBufElement::fdf
uint32_t fdf
Definition: mcan.h:1414
MCAN_getTxPinState
uint32_t MCAN_getTxPinState(uint32_t baseAddr)
This API will return Tx pin state of MCAN module.
MCAN_txBufTransIntrEnable
int32_t MCAN_txBufTransIntrEnable(uint32_t baseAddr, uint32_t bufNum, uint32_t enable)
This API is used to enable/disable Tx Buffer Transmission Interrupt.
MCAN_extTSCounterConfig
void MCAN_extTSCounterConfig(uint32_t baseAddr, uint32_t prescalar)
This API will configure external timestamp counter for MCAN module.
MCAN_ConfigParams::timeoutSelect
uint32_t timeoutSelect
Definition: mcan.h:918
MCAN_BitTimingParams::dataRatePrescalar
uint32_t dataRatePrescalar
Definition: mcan.h:751
MCAN_TxBufElement::dlc
uint32_t dlc
Definition: mcan.h:1403
MCAN_GlobalFiltConfig::rrfe
uint32_t rrfe
Definition: mcan.h:789
MCAN_MsgRAMConfigParams::rxFIFO1Cnt
uint32_t rxFIFO1Cnt
Definition: mcan.h:1072
MCAN_TxBufElement::rtr
uint32_t rtr
Definition: mcan.h:1388
MCAN_BitTimingParams::nomTimeSeg1
uint32_t nomTimeSeg1
Definition: mcan.h:739
MCAN_InitParams::clkStopFAck
uint32_t clkStopFAck
Definition: mcan.h:871
MCAN_StdMsgIDFilterElement::sfid1
uint32_t sfid1
Definition: mcan.h:1656
MCAN_initTxBufElement
void MCAN_initTxBufElement(MCAN_TxBufElement *txMsg)
This API will initialize TX message object with default values.
MCAN_InitParams::emulationEnable
uint32_t emulationEnable
Definition: mcan.h:861
MCAN_MsgRAMConfigParams::rxFIFO0Cnt
uint32_t rxFIFO0Cnt
Definition: mcan.h:1061
MCAN_ECCErrForceParams::bit2
uint32_t bit2
Definition: mcan.h:1245
MCAN_MsgRAMConfigParams::txBufMode
uint32_t txBufMode
Definition: mcan.h:1050
MCAN_addClockStopRequest
void MCAN_addClockStopRequest(uint32_t baseAddr, uint32_t enable)
This API add clock stop request for MCAN module to put it in power down mode.