| 
| #define  | CAN_MCAN_CREL   0x000 | 
|   | 
| #define  | CAN_MCAN_CREL_REL   GENMASK(31, 28) | 
|   | 
| #define  | CAN_MCAN_CREL_STEP   GENMASK(27, 24) | 
|   | 
| #define  | CAN_MCAN_CREL_SUBSTEP   GENMASK(23, 20) | 
|   | 
| #define  | CAN_MCAN_CREL_YEAR   GENMASK(19, 16) | 
|   | 
| #define  | CAN_MCAN_CREL_MON   GENMASK(15, 8) | 
|   | 
| #define  | CAN_MCAN_CREL_DAY   GENMASK(7, 0) | 
|   | 
| #define  | CAN_MCAN_ENDN   0x004 | 
|   | 
| #define  | CAN_MCAN_ENDN_ETV   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_CUST   0x008 | 
|   | 
| #define  | CAN_MCAN_CUST_CUST   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_DBTP   0x00C | 
|   | 
| #define  | CAN_MCAN_DBTP_TDC   BIT(23) | 
|   | 
| #define  | CAN_MCAN_DBTP_DBRP   GENMASK(20, 16) | 
|   | 
| #define  | CAN_MCAN_DBTP_DTSEG1   GENMASK(12, 8) | 
|   | 
| #define  | CAN_MCAN_DBTP_DTSEG2   GENMASK(7, 4) | 
|   | 
| #define  | CAN_MCAN_DBTP_DSJW   GENMASK(3, 0) | 
|   | 
| #define  | CAN_MCAN_TEST   0x010 | 
|   | 
| #define  | CAN_MCAN_TEST_SVAL   BIT(21) | 
|   | 
| #define  | CAN_MCAN_TEST_TXBNS   GENMASK(20, 16) | 
|   | 
| #define  | CAN_MCAN_TEST_PVAL   BIT(13) | 
|   | 
| #define  | CAN_MCAN_TEST_TXBNP   GENMASK(12, 8) | 
|   | 
| #define  | CAN_MCAN_TEST_RX   BIT(7) | 
|   | 
| #define  | CAN_MCAN_TEST_TX   GENMASK(6, 5) | 
|   | 
| #define  | CAN_MCAN_TEST_LBCK   BIT(4) | 
|   | 
| #define  | CAN_MCAN_RWD   0x014 | 
|   | 
| #define  | CAN_MCAN_RWD_WDV   GENMASK(15, 8) | 
|   | 
| #define  | CAN_MCAN_RWD_WDC   GENMASK(7, 0) | 
|   | 
| #define  | CAN_MCAN_CCCR   0x018 | 
|   | 
| #define  | CAN_MCAN_CCCR_NISO   BIT(15) | 
|   | 
| #define  | CAN_MCAN_CCCR_TXP   BIT(14) | 
|   | 
| #define  | CAN_MCAN_CCCR_EFBI   BIT(13) | 
|   | 
| #define  | CAN_MCAN_CCCR_PXHD   BIT(12) | 
|   | 
| #define  | CAN_MCAN_CCCR_WMM   BIT(11) | 
|   | 
| #define  | CAN_MCAN_CCCR_UTSU   BIT(10) | 
|   | 
| #define  | CAN_MCAN_CCCR_BRSE   BIT(9) | 
|   | 
| #define  | CAN_MCAN_CCCR_FDOE   BIT(8) | 
|   | 
| #define  | CAN_MCAN_CCCR_TEST   BIT(7) | 
|   | 
| #define  | CAN_MCAN_CCCR_DAR   BIT(6) | 
|   | 
| #define  | CAN_MCAN_CCCR_MON   BIT(5) | 
|   | 
| #define  | CAN_MCAN_CCCR_CSR   BIT(4) | 
|   | 
| #define  | CAN_MCAN_CCCR_CSA   BIT(3) | 
|   | 
| #define  | CAN_MCAN_CCCR_ASM   BIT(2) | 
|   | 
| #define  | CAN_MCAN_CCCR_CCE   BIT(1) | 
|   | 
| #define  | CAN_MCAN_CCCR_INIT   BIT(0) | 
|   | 
| #define  | CAN_MCAN_NBTP   0x01C | 
|   | 
| #define  | CAN_MCAN_NBTP_NSJW   GENMASK(31, 25) | 
|   | 
| #define  | CAN_MCAN_NBTP_NBRP   GENMASK(24, 16) | 
|   | 
| #define  | CAN_MCAN_NBTP_NTSEG1   GENMASK(15, 8) | 
|   | 
| #define  | CAN_MCAN_NBTP_NTSEG2   GENMASK(6, 0) | 
|   | 
| #define  | CAN_MCAN_TSCC   0x020 | 
|   | 
| #define  | CAN_MCAN_TSCC_TCP   GENMASK(19, 16) | 
|   | 
| #define  | CAN_MCAN_TSCC_TSS   GENMASK(1, 0) | 
|   | 
| #define  | CAN_MCAN_TSCV   0x024 | 
|   | 
| #define  | CAN_MCAN_TSCV_TSC   GENMASK(15, 0) | 
|   | 
| #define  | CAN_MCAN_TOCC   0x028 | 
|   | 
| #define  | CAN_MCAN_TOCC_TOP   GENMASK(31, 16) | 
|   | 
| #define  | CAN_MCAN_TOCC_TOS   GENMASK(2, 1) | 
|   | 
| #define  | CAN_MCAN_TOCC_ETOC   BIT(1) | 
|   | 
| #define  | CAN_MCAN_TOCV   0x02C | 
|   | 
| #define  | CAN_MCAN_TOCV_TOC   GENMASK(15, 0) | 
|   | 
| #define  | CAN_MCAN_ECR   0x040 | 
|   | 
| #define  | CAN_MCAN_ECR_CEL   GENMASK(23, 16) | 
|   | 
| #define  | CAN_MCAN_ECR_RP   BIT(15) | 
|   | 
| #define  | CAN_MCAN_ECR_REC   GENMASK(14, 8) | 
|   | 
| #define  | CAN_MCAN_ECR_TEC   GENMASK(7, 0) | 
|   | 
| #define  | CAN_MCAN_PSR   0x044 | 
|   | 
| #define  | CAN_MCAN_PSR_TDCV   GENMASK(22, 16) | 
|   | 
| #define  | CAN_MCAN_PSR_PXE   BIT(14) | 
|   | 
| #define  | CAN_MCAN_PSR_RFDF   BIT(13) | 
|   | 
| #define  | CAN_MCAN_PSR_RBRS   BIT(12) | 
|   | 
| #define  | CAN_MCAN_PSR_RESI   BIT(11) | 
|   | 
| #define  | CAN_MCAN_PSR_DLEC   GENMASK(10, 8) | 
|   | 
| #define  | CAN_MCAN_PSR_BO   BIT(7) | 
|   | 
| #define  | CAN_MCAN_PSR_EW   BIT(6) | 
|   | 
| #define  | CAN_MCAN_PSR_EP   BIT(5) | 
|   | 
| #define  | CAN_MCAN_PSR_ACT   GENMASK(4, 3) | 
|   | 
| #define  | CAN_MCAN_PSR_LEC   GENMASK(2, 0) | 
|   | 
| #define  | CAN_MCAN_TDCR   0x048 | 
|   | 
| #define  | CAN_MCAN_TDCR_TDCO   GENMASK(14, 8) | 
|   | 
| #define  | CAN_MCAN_TDCR_TDCF   GENMASK(6, 0) | 
|   | 
| #define  | CAN_MCAN_IR   0x050 | 
|   | 
| #define  | CAN_MCAN_IR_ARA   BIT(29) | 
|   | 
| #define  | CAN_MCAN_IR_PED   BIT(28) | 
|   | 
| #define  | CAN_MCAN_IR_PEA   BIT(27) | 
|   | 
| #define  | CAN_MCAN_IR_WDI   BIT(26) | 
|   | 
| #define  | CAN_MCAN_IR_BO   BIT(25) | 
|   | 
| #define  | CAN_MCAN_IR_EW   BIT(24) | 
|   | 
| #define  | CAN_MCAN_IR_EP   BIT(23) | 
|   | 
| #define  | CAN_MCAN_IR_ELO   BIT(22) | 
|   | 
| #define  | CAN_MCAN_IR_BEU   BIT(21) | 
|   | 
| #define  | CAN_MCAN_IR_BEC   BIT(20) | 
|   | 
| #define  | CAN_MCAN_IR_DRX   BIT(19) | 
|   | 
| #define  | CAN_MCAN_IR_TOO   BIT(18) | 
|   | 
| #define  | CAN_MCAN_IR_MRAF   BIT(17) | 
|   | 
| #define  | CAN_MCAN_IR_TSW   BIT(16) | 
|   | 
| #define  | CAN_MCAN_IR_TEFL   BIT(15) | 
|   | 
| #define  | CAN_MCAN_IR_TEFF   BIT(14) | 
|   | 
| #define  | CAN_MCAN_IR_TEFW   BIT(13) | 
|   | 
| #define  | CAN_MCAN_IR_TEFN   BIT(12) | 
|   | 
| #define  | CAN_MCAN_IR_TFE   BIT(11) | 
|   | 
| #define  | CAN_MCAN_IR_TCF   BIT(10) | 
|   | 
| #define  | CAN_MCAN_IR_TC   BIT(9) | 
|   | 
| #define  | CAN_MCAN_IR_HPM   BIT(8) | 
|   | 
| #define  | CAN_MCAN_IR_RF1L   BIT(7) | 
|   | 
| #define  | CAN_MCAN_IR_RF1F   BIT(6) | 
|   | 
| #define  | CAN_MCAN_IR_RF1W   BIT(5) | 
|   | 
| #define  | CAN_MCAN_IR_RF1N   BIT(4) | 
|   | 
| #define  | CAN_MCAN_IR_RF0L   BIT(3) | 
|   | 
| #define  | CAN_MCAN_IR_RF0F   BIT(2) | 
|   | 
| #define  | CAN_MCAN_IR_RF0W   BIT(1) | 
|   | 
| #define  | CAN_MCAN_IR_RF0N   BIT(0) | 
|   | 
| #define  | CAN_MCAN_IE   0x054 | 
|   | 
| #define  | CAN_MCAN_IE_ARAE   BIT(29) | 
|   | 
| #define  | CAN_MCAN_IE_PEDE   BIT(28) | 
|   | 
| #define  | CAN_MCAN_IE_PEAE   BIT(27) | 
|   | 
| #define  | CAN_MCAN_IE_WDIE   BIT(26) | 
|   | 
| #define  | CAN_MCAN_IE_BOE   BIT(25) | 
|   | 
| #define  | CAN_MCAN_IE_EWE   BIT(24) | 
|   | 
| #define  | CAN_MCAN_IE_EPE   BIT(23) | 
|   | 
| #define  | CAN_MCAN_IE_ELOE   BIT(22) | 
|   | 
| #define  | CAN_MCAN_IE_BEUE   BIT(21) | 
|   | 
| #define  | CAN_MCAN_IE_BECE   BIT(20) | 
|   | 
| #define  | CAN_MCAN_IE_DRXE   BIT(19) | 
|   | 
| #define  | CAN_MCAN_IE_TOOE   BIT(18) | 
|   | 
| #define  | CAN_MCAN_IE_MRAFE   BIT(17) | 
|   | 
| #define  | CAN_MCAN_IE_TSWE   BIT(16) | 
|   | 
| #define  | CAN_MCAN_IE_TEFLE   BIT(15) | 
|   | 
| #define  | CAN_MCAN_IE_TEFFE   BIT(14) | 
|   | 
| #define  | CAN_MCAN_IE_TEFWE   BIT(13) | 
|   | 
| #define  | CAN_MCAN_IE_TEFNE   BIT(12) | 
|   | 
| #define  | CAN_MCAN_IE_TFEE   BIT(11) | 
|   | 
| #define  | CAN_MCAN_IE_TCFE   BIT(10) | 
|   | 
| #define  | CAN_MCAN_IE_TCE   BIT(9) | 
|   | 
| #define  | CAN_MCAN_IE_HPME   BIT(8) | 
|   | 
| #define  | CAN_MCAN_IE_RF1LE   BIT(7) | 
|   | 
| #define  | CAN_MCAN_IE_RF1FE   BIT(6) | 
|   | 
| #define  | CAN_MCAN_IE_RF1WE   BIT(5) | 
|   | 
| #define  | CAN_MCAN_IE_RF1NE   BIT(4) | 
|   | 
| #define  | CAN_MCAN_IE_RF0LE   BIT(3) | 
|   | 
| #define  | CAN_MCAN_IE_RF0FE   BIT(2) | 
|   | 
| #define  | CAN_MCAN_IE_RF0WE   BIT(1) | 
|   | 
| #define  | CAN_MCAN_IE_RF0NE   BIT(0) | 
|   | 
| #define  | CAN_MCAN_ILS   0x058 | 
|   | 
| #define  | CAN_MCAN_ILS_ARAL   BIT(29) | 
|   | 
| #define  | CAN_MCAN_ILS_PEDL   BIT(28) | 
|   | 
| #define  | CAN_MCAN_ILS_PEAL   BIT(27) | 
|   | 
| #define  | CAN_MCAN_ILS_WDIL   BIT(26) | 
|   | 
| #define  | CAN_MCAN_ILS_BOL   BIT(25) | 
|   | 
| #define  | CAN_MCAN_ILS_EWL   BIT(24) | 
|   | 
| #define  | CAN_MCAN_ILS_EPL   BIT(23) | 
|   | 
| #define  | CAN_MCAN_ILS_ELOL   BIT(22) | 
|   | 
| #define  | CAN_MCAN_ILS_BEUL   BIT(21) | 
|   | 
| #define  | CAN_MCAN_ILS_BECL   BIT(20) | 
|   | 
| #define  | CAN_MCAN_ILS_DRXL   BIT(19) | 
|   | 
| #define  | CAN_MCAN_ILS_TOOL   BIT(18) | 
|   | 
| #define  | CAN_MCAN_ILS_MRAFL   BIT(17) | 
|   | 
| #define  | CAN_MCAN_ILS_TSWL   BIT(16) | 
|   | 
| #define  | CAN_MCAN_ILS_TEFLL   BIT(15) | 
|   | 
| #define  | CAN_MCAN_ILS_TEFFL   BIT(14) | 
|   | 
| #define  | CAN_MCAN_ILS_TEFWL   BIT(13) | 
|   | 
| #define  | CAN_MCAN_ILS_TEFNL   BIT(12) | 
|   | 
| #define  | CAN_MCAN_ILS_TFEL   BIT(11) | 
|   | 
| #define  | CAN_MCAN_ILS_TCFL   BIT(10) | 
|   | 
| #define  | CAN_MCAN_ILS_TCL   BIT(9) | 
|   | 
| #define  | CAN_MCAN_ILS_HPML   BIT(8) | 
|   | 
| #define  | CAN_MCAN_ILS_RF1LL   BIT(7) | 
|   | 
| #define  | CAN_MCAN_ILS_RF1FL   BIT(6) | 
|   | 
| #define  | CAN_MCAN_ILS_RF1WL   BIT(5) | 
|   | 
| #define  | CAN_MCAN_ILS_RF1NL   BIT(4) | 
|   | 
| #define  | CAN_MCAN_ILS_RF0LL   BIT(3) | 
|   | 
| #define  | CAN_MCAN_ILS_RF0FL   BIT(2) | 
|   | 
| #define  | CAN_MCAN_ILS_RF0WL   BIT(1) | 
|   | 
| #define  | CAN_MCAN_ILS_RF0NL   BIT(0) | 
|   | 
| #define  | CAN_MCAN_ILE   0x05C | 
|   | 
| #define  | CAN_MCAN_ILE_EINT1   BIT(1) | 
|   | 
| #define  | CAN_MCAN_ILE_EINT0   BIT(0) | 
|   | 
| #define  | CAN_MCAN_GFC   0x080 | 
|   | 
| #define  | CAN_MCAN_GFC_ANFS   GENMASK(5, 4) | 
|   | 
| #define  | CAN_MCAN_GFC_ANFE   GENMASK(3, 2) | 
|   | 
| #define  | CAN_MCAN_GFC_RRFS   BIT(1) | 
|   | 
| #define  | CAN_MCAN_GFC_RRFE   BIT(0) | 
|   | 
| #define  | CAN_MCAN_SIDFC   0x084 | 
|   | 
| #define  | CAN_MCAN_SIDFC_LSS   GENMASK(23, 16) | 
|   | 
| #define  | CAN_MCAN_SIDFC_FLSSA   GENMASK(15, 2) | 
|   | 
| #define  | CAN_MCAN_XIDFC   0x088 | 
|   | 
| #define  | CAN_MCAN_XIDFC_LSS   GENMASK(22, 16) | 
|   | 
| #define  | CAN_MCAN_XIDFC_FLESA   GENMASK(15, 2) | 
|   | 
| #define  | CAN_MCAN_XIDAM   0x090 | 
|   | 
| #define  | CAN_MCAN_XIDAM_EIDM   GENMASK(28, 0) | 
|   | 
| #define  | CAN_MCAN_HPMS   0x094 | 
|   | 
| #define  | CAN_MCAN_HPMS_FLST   BIT(15) | 
|   | 
| #define  | CAN_MCAN_HPMS_FIDX   GENMASK(14, 8) | 
|   | 
| #define  | CAN_MCAN_HPMS_MSI   GENMASK(7, 6) | 
|   | 
| #define  | CAN_MCAN_HPMS_BIDX   GENMASK(5, 0) | 
|   | 
| #define  | CAN_MCAN_NDAT1   0x098 | 
|   | 
| #define  | CAN_MCAN_NDAT1_ND   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_NDAT2   0x09C | 
|   | 
| #define  | CAN_MCAN_NDAT2_ND   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_RXF0C   0x0A0 | 
|   | 
| #define  | CAN_MCAN_RXF0C_F0OM   BIT(31) | 
|   | 
| #define  | CAN_MCAN_RXF0C_F0WM   GENMASK(30, 24) | 
|   | 
| #define  | CAN_MCAN_RXF0C_F0S   GENMASK(22, 16) | 
|   | 
| #define  | CAN_MCAN_RXF0C_F0SA   GENMASK(15, 2) | 
|   | 
| #define  | CAN_MCAN_RXF0S   0x0A4 | 
|   | 
| #define  | CAN_MCAN_RXF0S_RF0L   BIT(25) | 
|   | 
| #define  | CAN_MCAN_RXF0S_F0F   BIT(24) | 
|   | 
| #define  | CAN_MCAN_RXF0S_F0PI   GENMASK(21, 16) | 
|   | 
| #define  | CAN_MCAN_RXF0S_F0GI   GENMASK(13, 8) | 
|   | 
| #define  | CAN_MCAN_RXF0S_F0FL   GENMASK(6, 0) | 
|   | 
| #define  | CAN_MCAN_RXF0A   0x0A8 | 
|   | 
| #define  | CAN_MCAN_RXF0A_F0AI   GENMASK(5, 0) | 
|   | 
| #define  | CAN_MCAN_RXBC   0x0AC | 
|   | 
| #define  | CAN_MCAN_RXBC_RBSA   GENMASK(15, 2) | 
|   | 
| #define  | CAN_MCAN_RXF1C   0x0B0 | 
|   | 
| #define  | CAN_MCAN_RXF1C_F1OM   BIT(31) | 
|   | 
| #define  | CAN_MCAN_RXF1C_F1WM   GENMASK(30, 24) | 
|   | 
| #define  | CAN_MCAN_RXF1C_F1S   GENMASK(22, 16) | 
|   | 
| #define  | CAN_MCAN_RXF1C_F1SA   GENMASK(15, 2) | 
|   | 
| #define  | CAN_MCAN_RXF1S   0x0B4 | 
|   | 
| #define  | CAN_MCAN_RXF1S_RF1L   BIT(25) | 
|   | 
| #define  | CAN_MCAN_RXF1S_F1F   BIT(24) | 
|   | 
| #define  | CAN_MCAN_RXF1S_F1PI   GENMASK(21, 16) | 
|   | 
| #define  | CAN_MCAN_RXF1S_F1GI   GENMASK(13, 8) | 
|   | 
| #define  | CAN_MCAN_RXF1S_F1FL   GENMASK(6, 0) | 
|   | 
| #define  | CAN_MCAN_RXF1A   0x0B8 | 
|   | 
| #define  | CAN_MCAN_RXF1A_F1AI   GENMASK(5, 0) | 
|   | 
| #define  | CAN_MCAN_RXESC   0x0BC | 
|   | 
| #define  | CAN_MCAN_RXESC_RBDS   GENMASK(10, 8) | 
|   | 
| #define  | CAN_MCAN_RXESC_F1DS   GENMASK(6, 4) | 
|   | 
| #define  | CAN_MCAN_RXESC_F0DS   GENMASK(2, 0) | 
|   | 
| #define  | CAN_MCAN_TXBC   0x0C0 | 
|   | 
| #define  | CAN_MCAN_TXBC_TFQM   BIT(30) | 
|   | 
| #define  | CAN_MCAN_TXBC_TFQS   GENMASK(29, 24) | 
|   | 
| #define  | CAN_MCAN_TXBC_NDTB   GENMASK(21, 16) | 
|   | 
| #define  | CAN_MCAN_TXBC_TBSA   GENMASK(15, 2) | 
|   | 
| #define  | CAN_MCAN_TXFQS   0x0C4 | 
|   | 
| #define  | CAN_MCAN_TXFQS_TFQF   BIT(21) | 
|   | 
| #define  | CAN_MCAN_TXFQS_TFQPI   GENMASK(20, 16) | 
|   | 
| #define  | CAN_MCAN_TXFQS_TFGI   GENMASK(12, 8) | 
|   | 
| #define  | CAN_MCAN_TXFQS_TFFL   GENMASK(5, 0) | 
|   | 
| #define  | CAN_MCAN_TXESC   0x0C8 | 
|   | 
| #define  | CAN_MCAN_TXESC_TBDS   GENMASK(2, 0) | 
|   | 
| #define  | CAN_MCAN_TXBRP   0x0CC | 
|   | 
| #define  | CAN_MCAN_TXBRP_TRP   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_TXBAR   0x0D0 | 
|   | 
| #define  | CAN_MCAN_TXBAR_AR   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_TXBCR   0x0D4 | 
|   | 
| #define  | CAN_MCAN_TXBCR_CR   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_TXBTO   0x0D8 | 
|   | 
| #define  | CAN_MCAN_TXBTO_TO   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_TXBCF   0x0DC | 
|   | 
| #define  | CAN_MCAN_TXBCF_CF   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_TXBTIE   0x0E0 | 
|   | 
| #define  | CAN_MCAN_TXBTIE_TIE   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_TXBCIE   0x0E4 | 
|   | 
| #define  | CAN_MCAN_TXBCIE_CFIE   GENMASK(31, 0) | 
|   | 
| #define  | CAN_MCAN_TXEFC   0x0F0 | 
|   | 
| #define  | CAN_MCAN_TXEFC_EFWM   GENMASK(29, 24) | 
|   | 
| #define  | CAN_MCAN_TXEFC_EFS   GENMASK(21, 16) | 
|   | 
| #define  | CAN_MCAN_TXEFC_EFSA   GENMASK(15, 2) | 
|   | 
| #define  | CAN_MCAN_TXEFS   0x0F4 | 
|   | 
| #define  | CAN_MCAN_TXEFS_TEFL   BIT(25) | 
|   | 
| #define  | CAN_MCAN_TXEFS_EFF   BIT(24) | 
|   | 
| #define  | CAN_MCAN_TXEFS_EFPI   GENMASK(20, 16) | 
|   | 
| #define  | CAN_MCAN_TXEFS_EFGI   GENMASK(12, 8) | 
|   | 
| #define  | CAN_MCAN_TXEFS_EFFL   GENMASK(5, 0) | 
|   | 
| #define  | CAN_MCAN_TXEFA   0x0F8 | 
|   | 
| #define  | CAN_MCAN_TXEFA_EFAI   GENMASK(4, 0) | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_OFFSET(node_id)   	DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_OFFSET) | 
|   | Get the Bosch M_CAN Message RAM offset.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_STD_FILTER_ELEMENTS(node_id)   	DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_STD_FILTER) | 
|   | Get the number of standard (11-bit) filter elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_EXT_FILTER_ELEMENTS(node_id)   	DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_EXT_FILTER) | 
|   | Get the number of extended (29-bit) filter elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_RX_FIFO0_ELEMENTS(node_id)   	DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_RX_FIFO0) | 
|   | Get the number of Rx FIFO 0 elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_RX_FIFO1_ELEMENTS(node_id)   	DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_RX_FIFO1) | 
|   | Get the number of Rx FIFO 1 elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_RX_BUFFER_ELEMENTS(node_id)   	DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_RX_BUFFER) | 
|   | Get the number of Rx Buffer elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_ELEMENTS(node_id)   	DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_TX_EVENT_FIFO) | 
|   | Get the number of Tx Event FIFO elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_TX_BUFFER_ELEMENTS(node_id)   	DT_PROP_BY_IDX(node_id, bosch_mram_cfg, CAN_MCAN_MRAM_CFG_TX_BUFFER) | 
|   | Get the number of Tx Buffer elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_STD_FILTER_OFFSET(node_id)   (0U) | 
|   | Get the base offset of standard (11-bit) filter elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_EXT_FILTER_OFFSET(node_id) | 
|   | Get the base offset of extended (29-bit) filter elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_RX_FIFO0_OFFSET(node_id) | 
|   | Get the base offset of Rx FIFO 0 elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_RX_FIFO1_OFFSET(node_id) | 
|   | Get the base offset of Rx FIFO 1 elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_RX_BUFFER_OFFSET(node_id) | 
|   | Get the base offset of Rx Buffer elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_OFFSET(node_id) | 
|   | Get the base offset of Tx Event FIFO elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_TX_BUFFER_OFFSET(node_id) | 
|   | Get the base offset of Tx Buffer elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MCAN_ADDR(node_id) | 
|   | Get the Bosch M_CAN register base address.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_ADDR(node_id)   	(mem_addr_t)(DT_REG_ADDR_BY_NAME(node_id, message_ram) + CAN_MCAN_DT_MRAM_OFFSET(node_id)) | 
|   | Get the Bosch M_CAN Message RAM base address.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_SIZE(node_id)   	(mem_addr_t)(DT_REG_SIZE_BY_NAME(node_id, message_ram) - CAN_MCAN_DT_MRAM_OFFSET(node_id)) | 
|   | Get the Bosch M_CAN Message RAM size.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_ELEMENTS_SIZE(node_id) | 
|   | Get the total size of all Bosch M_CAN Message RAM elements.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_DEFINE(node_id,  _name) | 
|   | Define a RAM buffer for Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_BUILD_ASSERT_MRAM_CFG(node_id) | 
|   | Assert that the Message RAM configuration meets the Bosch M_CAN IP core restrictions.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_OFFSET(inst)   CAN_MCAN_DT_MRAM_OFFSET(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_OFFSET(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_STD_FILTER_ELEMENTS(inst)   	CAN_MCAN_DT_MRAM_STD_FILTER_ELEMENTS(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_STD_FILTER_ELEMENTS(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_EXT_FILTER_ELEMENTS(inst)   	CAN_MCAN_DT_MRAM_EXT_FILTER_ELEMENTS(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_EXT_FILTER_ELEMENTS(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_RX_FIFO0_ELEMENTS(inst)   	CAN_MCAN_DT_MRAM_RX_FIFO0_ELEMENTS(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_RX_FIFO0_ELEMENTS(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_RX_FIFO1_ELEMENTS(inst)   	CAN_MCAN_DT_MRAM_RX_FIFO1_ELEMENTS(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_RX_FIFO1_ELEMENTS(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_RX_BUFFER_ELEMENTS(inst)   	CAN_MCAN_DT_MRAM_RX_BUFFER_ELEMENTS(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_RX_BUFFER_ELEMENTS(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_TX_EVENT_FIFO_ELEMENTS(inst)   	CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_ELEMENTS(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_ELEMENTS(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_TX_BUFFER_ELEMENTS(inst)   	CAN_MCAN_DT_MRAM_TX_BUFFER_ELEMENTS(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_TX_BUFFER_ELEMENTS(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_STD_FILTER_OFFSET(inst)   	CAN_MCAN_DT_MRAM_STD_FILTER_OFFSET(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_STD_FILTER_OFFSET(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_EXT_FILTER_OFFSET(inst)   	CAN_MCAN_DT_MRAM_EXT_FILTER_OFFSET(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_EXT_FILTER_OFFSET(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_RX_FIFO0_OFFSET(inst)   	CAN_MCAN_DT_MRAM_RX_FIFO0_OFFSET(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_RX_FIFO0_OFFSET(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_RX_FIFO1_OFFSET(inst)   	CAN_MCAN_DT_MRAM_RX_FIFO1_OFFSET(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_RX_FIFO1_OFFSET(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_RX_BUFFER_OFFSET(inst)   	CAN_MCAN_DT_MRAM_RX_BUFFER_OFFSET(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_RX_BUFFER_OFFSET(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_TX_EVENT_FIFO_OFFSET(inst)   	CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_OFFSET(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_TX_EVENT_FIFO_OFFSET(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_TX_BUFFER_OFFSET(inst)   	CAN_MCAN_DT_MRAM_TX_BUFFER_OFFSET(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_TX_BUFFER_OFFSET(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MCAN_ADDR(inst)   CAN_MCAN_DT_MCAN_ADDR(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MCAN_ADDR(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_ADDR(inst)   CAN_MCAN_DT_MRAM_ADDR(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_ADDR(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_SIZE(inst)   CAN_MCAN_DT_MRAM_SIZE(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_SIZE(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_ELEMENTS_SIZE(inst)   CAN_MCAN_DT_MRAM_ELEMENTS_SIZE(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_ELEMENTS_SIZE(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_MRAM_DEFINE(inst,  _name)   CAN_MCAN_DT_MRAM_DEFINE(DT_DRV_INST(inst), _name) | 
|   | Equivalent to CAN_MCAN_DT_MRAM_DEFINE(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_TIMING_MIN_INITIALIZER | 
|   | Bosch M_CAN specific static initializer for a minimum nominal can_timing struct.  More...
  | 
|   | 
| #define  | CAN_MCAN_TIMING_MAX_INITIALIZER | 
|   | Bosch M_CAN specific static initializer for a maximum nominal can_timing struct.  More...
  | 
|   | 
| #define  | CAN_MCAN_TIMING_DATA_MIN_INITIALIZER | 
|   | Bosch M_CAN specific static initializer for a minimum data phase can_timing struct.  More...
  | 
|   | 
| #define  | CAN_MCAN_TIMING_DATA_MAX_INITIALIZER | 
|   | Bosch M_CAN specific static initializer for a maximum data phase can_timing struct.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_BUILD_ASSERT_MRAM_CFG(inst)   	CAN_MCAN_DT_BUILD_ASSERT_MRAM_CFG(DT_DRV_INST(inst)) | 
|   | Equivalent to CAN_MCAN_DT_BUILD_ASSERT_MRAM_CFG(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_XFEC_DISABLE   0x0 | 
|   | 
| #define  | CAN_MCAN_XFEC_FIFO0   0x1 | 
|   | 
| #define  | CAN_MCAN_XFEC_FIFO1   0x2 | 
|   | 
| #define  | CAN_MCAN_XFEC_REJECT   0x3 | 
|   | 
| #define  | CAN_MCAN_XFEC_PRIO   0x4 | 
|   | 
| #define  | CAN_MCAN_XFEC_PRIO_FIFO0   0x5 | 
|   | 
| #define  | CAN_MCAN_XFEC_PRIO_FIFO1   0x7 | 
|   | 
| #define  | CAN_MCAN_SFT_RANGE   0x0 | 
|   | 
| #define  | CAN_MCAN_SFT_DUAL   0x1 | 
|   | 
| #define  | CAN_MCAN_SFT_CLASSIC   0x2 | 
|   | 
| #define  | CAN_MCAN_SFT_DISABLED   0x3 | 
|   | 
| #define  | CAN_MCAN_EFT_RANGE_XIDAM   0x0 | 
|   | 
| #define  | CAN_MCAN_EFT_DUAL   0x1 | 
|   | 
| #define  | CAN_MCAN_EFT_CLASSIC   0x2 | 
|   | 
| #define  | CAN_MCAN_EFT_RANGE   0x3 | 
|   | 
| #define  | CAN_MCAN_CALLBACKS_DEFINE(_name,  _tx,  _std,  _ext) | 
|   | Define Bosch M_CAN TX and RX callbacks.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_CALLBACKS_DEFINE(node_id,  _name) | 
|   | Define Bosch M_CAN TX and RX callbacks.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_INST_CALLBACKS_DEFINE(inst,  _name)   	CAN_MCAN_DT_CALLBACKS_DEFINE(DT_DRV_INST(inst), _name) | 
|   | Equivalent to CAN_MCAN_DT_CALLBACKS_DEFINE(DT_DRV_INST(inst))  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_ELEMENTS_GET(node_id) | 
|   | Get an array containing the number of elements in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_MRAM_OFFSETS_GET(node_id) | 
|   | Get an array containing the base offsets for element in Bosch M_CAN Message RAM.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_CONFIG_GET(node_id,  _custom,  _ops,  _cbs) | 
|   | Static initializer for can_mcan_config struct.  More...
  | 
|   | 
| #define  | CAN_MCAN_DT_CONFIG_INST_GET(inst,  _custom,  _ops,  _cbs)   	CAN_MCAN_DT_CONFIG_GET(DT_DRV_INST(inst), _custom, _ops, _cbs) | 
|   | Static initializer for can_mcan_config struct from DT_DRV_COMPAT instance.  More...
  | 
|   | 
| #define  | CAN_MCAN_DATA_INITIALIZER(_custom) | 
|   | Initializer for a can_mcan_data struct.  More...
  | 
|   | 
 | 
 These match the description of the cells in the bosch,m_can-base devicetree binding.  
 | 
| #define  | CAN_MCAN_MRAM_CFG_OFFSET   0 | 
|   | 
| #define  | CAN_MCAN_MRAM_CFG_STD_FILTER   1 | 
|   | 
| #define  | CAN_MCAN_MRAM_CFG_EXT_FILTER   2 | 
|   | 
| #define  | CAN_MCAN_MRAM_CFG_RX_FIFO0   3 | 
|   | 
| #define  | CAN_MCAN_MRAM_CFG_RX_FIFO1   4 | 
|   | 
| #define  | CAN_MCAN_MRAM_CFG_RX_BUFFER   5 | 
|   | 
| #define  | CAN_MCAN_MRAM_CFG_TX_EVENT_FIFO   6 | 
|   | 
| #define  | CAN_MCAN_MRAM_CFG_TX_BUFFER   7 | 
|   | 
| #define  | CAN_MCAN_MRAM_CFG_NUM_CELLS   8 | 
|   | 
 | 
| static int  | can_mcan_sys_read_reg (mm_reg_t base, uint16_t reg, uint32_t *val) | 
|   | Bosch M_CAN driver front-end callback helper for reading a memory mapped register.  More...
  | 
|   | 
| static int  | can_mcan_sys_write_reg (mm_reg_t base, uint16_t reg, uint32_t val) | 
|   | Bosch M_CAN driver front-end callback helper for writing a memory mapped register.  More...
  | 
|   | 
| static int  | can_mcan_sys_read_mram (mem_addr_t base, uint16_t offset, void *dst, size_t len) | 
|   | Bosch M_CAN driver front-end callback helper for reading from memory mapped Message RAM.  More...
  | 
|   | 
| static int  | can_mcan_sys_write_mram (mem_addr_t base, uint16_t offset, const void *src, size_t len) | 
|   | Bosch M_CAN driver front-end callback helper for writing to memory mapped Message RAM.  More...
  | 
|   | 
| static int  | can_mcan_sys_clear_mram (mem_addr_t base, uint16_t offset, size_t len) | 
|   | Bosch M_CAN driver front-end callback helper for clearing memory mapped Message RAM.  More...
  | 
|   | 
| int  | can_mcan_read_reg (const struct device *dev, uint16_t reg, uint32_t *val) | 
|   | Read a Bosch M_CAN register.  More...
  | 
|   | 
| int  | can_mcan_write_reg (const struct device *dev, uint16_t reg, uint32_t val) | 
|   | Write a Bosch M_CAN register.  More...
  | 
|   | 
| static int  | can_mcan_read_mram (const struct device *dev, uint16_t offset, void *dst, size_t len) | 
|   | Read from Bosch M_CAN Message RAM.  More...
  | 
|   | 
| static int  | can_mcan_write_mram (const struct device *dev, uint16_t offset, const void *src, size_t len) | 
|   | Write to Bosch M_CAN Message RAM.  More...
  | 
|   | 
| static int  | can_mcan_clear_mram (const struct device *dev, uint16_t offset, size_t len) | 
|   | Clear Bosch M_CAN Message RAM.  More...
  | 
|   | 
| int  | can_mcan_configure_mram (const struct device *dev, uintptr_t mrba, uintptr_t mram) | 
|   | Configure Bosch M_MCAN Message RAM start addresses.  More...
  | 
|   | 
| int  | can_mcan_init (const struct device *dev) | 
|   | Bosch M_CAN driver initialization callback.  More...
  | 
|   | 
| void  | can_mcan_line_0_isr (const struct device *dev) | 
|   | Bosch M_CAN driver m_can_int0 IRQ handler.  More...
  | 
|   | 
| void  | can_mcan_line_1_isr (const struct device *dev) | 
|   | Bosch M_CAN driver m_can_int1 IRQ handler.  More...
  | 
|   | 
| void  | can_mcan_enable_configuration_change (const struct device *dev) | 
|   | Enable Bosch M_CAN configuration change.  More...
  | 
|   | 
| int  | can_mcan_get_capabilities (const struct device *dev, can_mode_t *cap) | 
|   | Bosch M_CAN driver callback API upon getting CAN controller capabilities See can_get_capabilities() for argument description.  More...
  | 
|   | 
| int  | can_mcan_start (const struct device *dev) | 
|   | Bosch M_CAN driver callback API upon starting CAN controller See can_start() for argument description.  More...
  | 
|   | 
| int  | can_mcan_stop (const struct device *dev) | 
|   | Bosch M_CAN driver callback API upon stopping CAN controller See can_stop() for argument description.  More...
  | 
|   | 
| int  | can_mcan_set_mode (const struct device *dev, can_mode_t mode) | 
|   | Bosch M_CAN driver callback API upon setting CAN controller mode See can_set_mode() for argument description.  More...
  | 
|   | 
| int  | can_mcan_set_timing (const struct device *dev, const struct can_timing *timing) | 
|   | Bosch M_CAN driver callback API upon setting CAN bus timing See can_set_timing() for argument description.  More...
  | 
|   | 
| int  | can_mcan_set_timing_data (const struct device *dev, const struct can_timing *timing_data) | 
|   | Bosch M_CAN driver callback API upon setting CAN bus data phase timing See can_set_timing_data() for argument description.  More...
  | 
|   | 
| int  | can_mcan_recover (const struct device *dev, k_timeout_t timeout) | 
|   | Bosch M_CAN driver callback API upon recovering the CAN bus See can_recover() for argument description.  More...
  | 
|   | 
| int  | can_mcan_send (const struct device *dev, const struct can_frame *frame, k_timeout_t timeout, can_tx_callback_t callback, void *user_data) | 
|   | 
| int  | can_mcan_get_max_filters (const struct device *dev, bool ide) | 
|   | 
| int  | can_mcan_add_rx_filter (const struct device *dev, can_rx_callback_t callback, void *user_data, const struct can_filter *filter) | 
|   | Bosch M_CAN driver callback API upon adding an RX filter See can_add_rx_callback() for argument description.  More...
  | 
|   | 
| void  | can_mcan_remove_rx_filter (const struct device *dev, int filter_id) | 
|   | Bosch M_CAN driver callback API upon removing an RX filter See can_remove_rx_filter() for argument description.  More...
  | 
|   | 
| int  | can_mcan_get_state (const struct device *dev, enum can_state *state, struct can_bus_err_cnt *err_cnt) | 
|   | Bosch M_CAN driver callback API upon getting the CAN controller state See can_get_state() for argument description.  More...
  | 
|   | 
| void  | can_mcan_set_state_change_callback (const struct device *dev, can_state_change_callback_t callback, void *user_data) | 
|   | Bosch M_CAN driver callback API upon setting a state change callback See can_set_state_change_callback() for argument description.  More...
  | 
|   | 
| int  | can_mcan_get_max_bitrate (const struct device *dev, uint32_t *max_bitrate) | 
|   | Bosch M_CAN driver callback API upon getting the maximum supported bitrate See can_get_max_bitrate() for argument description.  More...
  | 
|   |