AM263Px MCU+ SDK: mcan.h Source File

| AM263Px MCU+ SDK 26.00.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 {
735 uint32_t nomRatePrescalar;
739 uint32_t nomTimeSeg1;
743 uint32_t nomTimeSeg2;
747 uint32_t nomSynchJumpWidth;
751 uint32_t dataRatePrescalar;
755 uint32_t dataTimeSeg1;
759 uint32_t dataTimeSeg2;
763 uint32_t dataSynchJumpWidth;
767 }MCAN_BitTimingParams;
768
772 typedef struct
773 {
774 uint32_t tdcf;
778 uint32_t tdco;
782 }MCAN_TDCConfig;
783
787 typedef struct
788 {
789 uint32_t rrfe;
794 uint32_t rrfs;
799 uint32_t anfe;
805 uint32_t anfs;
811 }MCAN_GlobalFiltConfig;
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;
880 MCAN_TDCConfig tdcConfig;
884 uint32_t tdcEnable;
889 }MCAN_InitParams;
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;
928 uint32_t timeoutCntEnable;
933 MCAN_GlobalFiltConfig filterConfig;
937 }MCAN_ConfigParams;
938
942 typedef struct
943 {
944 uint32_t transErrLogCnt;
946 uint32_t recErrCnt;
948 uint32_t rpStatus;
953 uint32_t canErrLogCnt;
955 }MCAN_ErrCntStatus;
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;
1013 }MCAN_ProtocolStatus;
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;
1085 uint32_t rxFIFO0ElemSize;
1087 uint32_t rxFIFO1ElemSize;
1089 uint32_t txEventFIFOWaterMark;
1095 uint32_t rxFIFO0WaterMark;
1101 uint32_t rxFIFO1WaterMark;
1107 uint32_t flssa;
1109 uint32_t flesa;
1111 uint32_t txStartAddr;
1113 uint32_t txBufElemSize;
1115 uint32_t txEventFIFOStartAddr;
1117 uint32_t rxFIFO0StartAddr;
1119 uint32_t rxFIFO1StartAddr;
1121 uint32_t rxBufStartAddr;
1123 }MCAN_MsgRAMConfigParams;
1124
1128 typedef struct
1129 {
1130 uint32_t bufIdx;
1134 uint32_t msi;
1142 uint32_t filterIdx;
1144 uint32_t filterList;
1149 }MCAN_HighPriorityMsgInfo;
1150
1154 typedef struct
1155 {
1156 uint32_t statusLow;
1158 uint32_t statusHigh;
1160 }MCAN_RxNewDataStatus;
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;
1184 }MCAN_RxFIFOStatus;
1185
1189 typedef struct
1190 {
1191 uint32_t freeLvl;
1193 uint32_t getIdx;
1197 uint32_t putIdx;
1199 uint32_t fifoFull;
1204 }MCAN_TxFIFOStatus;
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;
1228 }MCAN_TxEventFIFOStatus;
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;
1253 }MCAN_ECCErrForceParams;
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;
1281 }MCAN_ECCErrStatus;
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;
1315 }MCAN_RevisionId;
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;
1336 }MCAN_ECCAggrRevisionId;
1337
1341 typedef struct
1342 {
1343 uint32_t enable;
1348 uint32_t enableChk;
1353 uint32_t enableRdModWr;
1358 }MCAN_ECCConfigParams;
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;
1379 }MCAN_ECCWrapRevisionId;
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];
1430 }MCAN_TxBufElement;
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;
1485 }MCAN_TxBufElementNoCpy;
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];
1538 }MCAN_RxBufElement;
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;
1595 }MCAN_RxBufElementNoCpy;
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;
1647 }MCAN_TxEventFIFOElement;
1648
1652 typedef struct
1653 {
1654 uint32_t sfid2;
1656 uint32_t sfid1;
1658 uint32_t sfec;
1672 uint32_t sft;
1679 }MCAN_StdMsgIDFilterElement;
1680
1684 typedef struct
1685 {
1686 uint32_t efid1;
1688 uint32_t efec;
1702 uint32_t efid2;
1704 uint32_t eft;
1712 }MCAN_ExtMsgIDFilterElement;
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,
2174 MCAN_HighPriorityMsgInfo *hpm);
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 /* ========================================================================== */
2615 void MCAN_initTxBufElement(MCAN_TxBufElement *txMsg);
2616
2623 void MCAN_initOperModeParams(MCAN_InitParams *initParams);
2624
2631 void MCAN_initGlobalFilterConfigParams(MCAN_ConfigParams *configParams);
2632
2639 void MCAN_initSetBitTimeParams(MCAN_BitTimingParams *bitTimes);
2640
2647 void MCAN_initMsgRamConfigParams(MCAN_MsgRAMConfigParams
2648 *msgRAMConfigParams);
2649
2658 int32_t MCAN_calcMsgRamParamsStartAddr(MCAN_MsgRAMConfigParams
2659 *msgRAMConfigParams);
2660
2668 uint32_t MCAN_calcCfgAddr(uint32_t baseAddr);
2669
2670 #ifdef __cplusplus
2671 }
2672
2673 #endif /*extern "C" */
2674
2675 #endif
2676
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_calcCfgAddr
uint32_t MCAN_calcCfgAddr(uint32_t baseAddr)
This API will calculate configure addresses register for the MCAN module.
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.